关于建立连接和用户帐号安全
本篇介绍的知识比较基础,而且大部分人都很熟了,但是既然是系列,就不能断章来写,大家看看也还是有一定的启发的.
1:connect internal将不再起作用,在9i中完全使用as sysdba方式代替.
2:svrmgr管理控制台被取消.在过去,svrmgr和sqlplus的差别就很小, svrmgr的特殊指令在8i以后的版本都可以在sqlplus里实现. 9i在取消svrmgr的同时,将它的starup,shutdown等功能都转移到sqlplus里.你可以用sqlplus "/ as sysdba"来实现这些功能.
注意:以sysoper 或者sysdba权限连接到数据库将自动被审计.
另外svrmgr里的charwidth指令被取消.
3:连接示例:
$ sqlplus
SQL*Plus: Release 9.0.1.0.0 - Production on Mon Jul 02 06:17:41
2001 (c) Copyright 2000 Oracle Corporation. All rights reserved.
Enter user-name: system/manager
Connected to an idle instance.
SQL> connect internal
[color=red:2e0b146393] --连接失败,因为已经被取消.[/color:2e0b146393]
Enter password: oracle
ERROR:
ORA-09275: CONNECT INTERNAL is not a valid DBA connection
Warning: You are no longer connected to ORACLE.
SQL> connect sys/change_on_install
ORA-28009: connection to sys should be as sysdba or sysoper [color=red:2e0b146393]-- 当数据库启动时[/color:2e0b146393]
ORA-01034: ORACLE not available[color=red:2e0b146393] -- 当数据库没有启动的时候[/color:2e0b146393]
SQL> connect sys/change_on_install as sysdba
Connected to an idle instance.[color=red:2e0b146393] -- 以sysdba身份可以连接,在服务器端经过os认证的,此处可以输入任意用户名,密码,如果远程,或者没有经过操作系统认证,则需要输入正确的用户名密码,远程需加上正确的连接串.[/color:2e0b146393]
SQL> connect / as sysdba [color=red:2e0b146393]-- 操作系统认证,在服务器上可以不需要输入用户名,密码.[/color:2e0b146393]
Connected to an idle instance.
[color=green:2e0b146393]注意:这些特性在过去的版本中已经可以实现.[/color:2e0b146393]
4:在我们用dbca建立数据库时已经把除sys,system,scott之外的用户都锁起来的,不需要象以前版本,建好库之后需要把不必要的帐号删掉,另外用户是没有默认密码的,比如过去system 的默认密码为manager,而在9i中除了scott,其他用户的密码都是需要重新设定的,包括system.
[color=green:2e0b146393](注:在我们用create database手动建立数据库的时候,sys,system的默认密码跟以前的版本是相同的即:change_on_install,manager.)
解除帐号锁定用alter user xx account unlock;
设定新密码用:alter user xx identified by xxxxx;[/color:2e0b146393]
5:在过去的版本中07_dictionary_accessibillty默认值是true,也就是所有的拥有select any table权限的用户都可以访问数据字典,但是9i将这一参数更改为false,也就是只有拥有sysdba 权限的用户才能查询数据字典.