WEB开发网
开发学院数据库Oracle sysdba权限的管理 阅读

sysdba权限的管理

 2008-09-20 12:55:23 来源:WEB开发网   
核心提示:一般对sysdba的管理有两种方式:操作系统认证和密码文件认证, 具体选择那一种认证方式取决于:你是想在Oracle运行的机器上维护数据库,sysdba权限的管理,还是在一台机器上管理分布于不同机器上的所有的Oracle数据库,若选择在本机维护数据库,因为这时还是采用操作系统认证,6.Internal用户密码忘记的处理

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

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

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

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

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

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

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

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

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

Orapwd路径:D:ORACLEORA92BINorapwd.exe

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

语法: 

   Usage:orapwdfile=password=entries=
  Where
  File–nameofpasswordfile,
  Password–passwordforSYS,
  Entries–maximumnumberofdistinctDBAandOPERs(opt),
  Therearenospacesaroundtheequal-to(=)character.
  Usage:orapwdfile=文件名password=internal用户密码entried=entries.

详细解释:

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

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

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

2. 把INIT.ORA中REMOTE_LOGIN_PASSWORD设置为EXCLUSIVE或SHARED.

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

3. 用SQL*Plus或SERVER 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*FROMV$PWFILE_USERS;

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

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

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

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

有两种办法:

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

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

Tags:sysdba 权限 管理

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接