分类: Oracle
2011-11-28 10:39:21
我将随着我的研究进度,写一系列的oracle 9i新特性方面的知识,虽然其中很多已经在实际应用过程中
使用过,但是并没有进行比较系统和基础的研究,也有些东西看起来很面熟,知道但是经不起仔细深究和
推敲现在研究研究并写出来,个人能力毕竟有限,错误,理解偏差等等在所难免,请大家指正。
9i新特性之一连接篇
关于建立连接和用户帐号安全
本篇介绍的知识比较基础,而且大部分人都很熟了,但是既然是系列,就不能断章来写,大家看看也还是
有一定的启发的.
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] --连接失败,因为已经被取消.[/color]
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]-- 当数据库启动时[/color]
ORA-01034: ORACLE not available[color=red] -- 当数据库没有启动的时候[/color]
SQL>; connect sys/change_on_install as sysdba
Connected to an idle instance.[color=red] -- 以sysdba身份可以连接,在服务器端经过os认证的,此处可以输入任意用户名,密码,如果远程,或者没有经过操作系统认证,则需要输入正确的用户名密码,远程需加上正确的连接串.[/color]
SQL>; connect / as sysdba [color=red]-- 操作系统认证,在服务器上可以不需要输入用户名,密码.[/color]
Connected to an idle instance.
[color=green]注意:这些特性在过去的版本中已经可以实现.[/color]
---------------------------------------------------------------------------
4:在我们用dbca建立数据库时已经把除sys,system,scott之外的用户都锁起来的,不需要象
以前版本,建好库之后需要把不必要的帐号删掉,另外用户是没有默认密码的,比如过去system
的默认密码为manager,而在9i中除了scott,其他用户的密码都是需要重新设定的,包括system.
[color=green](注:在我们用create database手动建立数据库的时候,sys,system的默认密码跟以前的版本是相同的即:change_on_install,manager.)
解除帐号锁定用alter user xx account unlock;
设定新密码用:alter user xx identified by xxxxx;[/color]
-------------------------------------------------------------------------------
5:在过去的版本中07_dictionary_accessibillty默认值是true,也就是所有的拥有select any
table权限的用户都可以访问数据字典,但是9i将这一参数更改为false,也就是只有拥有sysdba
权限的用户才能查询数据字典.