SYSDBA权限的管理

上一篇 / 下一篇  2008-09-15 22:28:17 / 个人分类:安装/配置

一般对sysdba管理有两种方式:操作系统认证和密码文件认证

具体选择那一种认证方式取决于:你是想在Oracle运行的机器上维护数据库,还是在一台机器上管理分布于不同机器上的所有的Oracle数据库。若选择在本机维护数据库,则选择操作系统认证可能是一个简单易行的办法;若有好多数据库,想进行集中管理,则可以选择password文件认证方式。

 

使用操作系统认证方式的配置过程:

首先,在安装Oracle之前,建立一个DBA组,这一步不用说了,不然是装不上Oracle的。一般还建立一个名为Oracle的用户,并把它加入到DBA组中。

第二步,设置REMOTE_LOGIN_PASSWORDNONE。在Oracle8.1以后,该参数默认为EXCLUSIVE。一定要记得改过来。

第三步,用该用户名登录Unix,运行SQL*Plus或者SERVER MANAGER,输入以下命令:CONNECT INTERNAL (CONNECT / AS SYSDBA)来登录到Oracle中。

使用PASSWORD文件认证方式的配置过程:

Oracle提供orapwd实用程序来创建password文件,运用orapwd建立该认证方式的具体步骤如下:

1.   使用Orapwd实用程序来创建一个PASSWORD文件

Orapwd路径:D:\ORACLE\ORA92\BIN\orapwd.exe

使用方法:1、转到Orapwd所在目录。

语法:

   Usage: orapwd file=<fname> password=<password> entries=<users>

   Where

       File – name of password file <mand>,

       Password – password for SYS <MAND>,

       Entries – maximum number of distinct DBA and OPERs (opt),

   There are no spaces around the equal-to (=) character.

 

     Usage: orapwd file=文件名password=internal用户密码entried=entries.

  详细解释:

文件名要包含完整的全路径名,如果不指定,Oracle把它默认放置$ORACLE_HOME/bin

用户密码是用户SYS的密码。当然后来还可以再向里边加入别的超级用户。

  Entries表示最大允许有的超级用户数目。这个是一个可选的。前两者是必须指定的。一般会把它设置的比实际需要大一些,以免不够。

 

2. 把INIT<SID>.ORAREMOTE_LOGIN_PASSWORD设置为EXCLUSIVESHARED.

使用EXCLUSIVE表示只有当前INSTANCE使用这个password文件。而且允许有别的用户作为sysdba登录进系统里边,而若选择了SHARED,则表明不止一个实例使用这个密码文件,伴随着一个很强的约束:sysdba权限只能授予sysinternal这两个用户名。

3. 用SQL*PlusSERVER MANAGER运行下面命令登录进系统:CONNECT INTERNAL/密码。

 

注意点:

  1.当选择密码文件认证方式时,可以再向系统中加入其他超级用户。比如用以下语句把用户SCOTT加入超级用户之中:(由具有sysdba权限的人执行)

  SQL>GRANT SYSDBA TO SCOTT;这样SCOTT用户就具有了sysdba权限。注意,此时SCOTT用户可以以两种身份登录:SCOTT , SYS.SCOTT在登录时没有输入AS SYSDBA时,SCOTT是作为普通用户登录的。而当登录时输入了AS SYSDBA时,此时SCOTT登录进去的用户实际上为sys.

 

2.当前系统中的具有sysdba权限的用户名可以从数据字典视图v$pwfile_user中查询得到:

SELECT * FROM V$PWFILE_USERS;

 

3. 系统中最大的具有sysdba权限的用户数由创建密码文件时的ENTRIES参数决定。当需要创建更多的具有sysdba权限的用户时,就需要删除原有的密码文件,重新创建一个,在entries中输入足够大的数目。再启动Oracle。这时,所有原来被授权的超级用户都不再存在,需要重新授权。所以在重新创建密码文件前,先要查询该视图,记下用户名,再在创建完密码文件后重新授权。

 

  4运行orapwd时,一定要在数据库关闭的情况下,且最好先备份原来的密码文件。在数据库运行时执行orapwd,将不能远程以sysdba登录数据库,因为此时v$pwfile_user中具有sysdba权限的用户的记录已清空。

 

  5。选择password文件认证方式时,如以oracle用户(属于dba组)在数据库所在主机运行connect internalconnect / as sysbda也不需口令,connect a/a as sysdba即使用户a不存在也可登录数据库,因为这时还是采用操作系统认证。

 

6Internal用户密码忘记的处理方法:

  有两种办法:

  1ALTER USER SYS IDENTIFIED BY新密码;//这同时也改变了Internal的密码,Oracle8I中通过

  2. 重新创建一个新的密码文件,指定一个新的密码。


全部脚印 不留脚印 留下脚印:

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-20  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 5314
  • 日志数: 147
  • 建立时间: 2008-04-09
  • 更新时间: 2008-10-11

RSS订阅

Open Toolbar