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密碼設置和數據庫中數據字典中記載的一致。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM