Remote_login_passwordfile参数探究

 口令文件用于具有sysdba身份的用户执行远程登录数据库,Oracle允许用户通过口令文件验证,在数据库未启动之前登录,从而启动实例,加载打开数据库;Oracle通过一个初始化参数remote_login_passwordfile限制口令文件的使用,通过配置该参数可以控制是否在多个数据之间共享密码文件,也可以通过这个参数禁用口令文件验证,remote_login_passwordfile的值:

 

==> NONE 禁用口令文件验证。

1.设置成none将直接禁用口令文件验证,sysdba用户只能通过操作系统认证登录数据库。此时的登录将会收到报错:

ORA-01017: invalid username/ password ; logon denied

2.操作系统认证方式涉及sqlnet.ora 文件中的SQLNET.AUTHENTICATION_SERVICES参数值:

  1)NONE :关闭操作系统认证,只能通过口令文件认证

  2)ALL:linux/unix平台下,采用操作系统认证,但远程sysdba登录还需使用口令文件认证。

  3)NTS:windows平台下操作系统认证

 

==>  EXCLUSIVE (默认值)独占模式使用密码文件,官档中提到了“only one instance of one database”使用exclusive方式,在数据库中是可以执行对于sysdba用户的增加,修改,删除动作的,同样也可以修改sysdba用户的密码,这些更改会记录到密码文件中去。

1.查看被授予sysdba权限的用户

SELECT USERNAME FROM V$PWFILE_USERS WHERE SYSDBA='TRUE';

 

2.口令文件中添加/删除sysdba权限用户

REVOKE SYSDBA FROM non-SYS-user;GRANT SYSDBA TO non-SYS-user;

 

==>  SHARED 在多个数据库间共享口令文件。

1.配置shared值的口令文件可以被一台服务器上的多个数据库或者RAC集群数据库共享;(现在知道exclusive模式时说的“only one instance of one database“的含义了吧,就是为了区分RAC环境)

2.shared下的密码文件不可被修改,这就意味着无法再授权sysdba权限给非sys用户了,修改sysdba权限用户的密码也不被允许,包括sys用户的密码。

SQL> show parameter password
 
NAME                                   TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile            string      SHARED
 
SQL> grant   sysdba to   hr;
grant   sysdba to   hr
*
ERROR at   line 1:
ORA-01999: password   file cannot be updated in   SHARED mode
 
SYS@db11g> alter   user   sys identified by   netpwd ;
alter   user   sys identified by   netpwd
*
ERROR at   line 1:
ORA-28046: Password   change for   SYS disallowed

3.oracle建议首先将需要sysdba权限的用户在exclusive模式下设置好在将REMOTE_LOGIN_PASSWORDFILE 修改为shared共享口令文件。

4.Oracle寻找口令文件的顺序:orapw$ORACLE_SID --> orapw --> Failure

 

【示例】Exclusive转变为shared

1.修改口令文件名

$ mv orapwdb11g orapw

2.修改数据库remote_login_passwordfile值

SQL> alter system set remote_login_passwordfile=shared scope=spfile;

3.重启数据库生效

SQL> shutdown immediate;
SQL> startup;

备注:如果将none的口令文件转换为exclusive或shared,要保证口令文件中的sys密码设置和数据库中数据字典中记载的一致。

 

本文版权由作者Beanbee和博客园共同所有,转载请注明出处。 来自【Beanbee的博客】:http://www.cnblogs.com/beanbee/


请使用浏览器的分享功能分享到微信等