Remote_login_passwordfile引數探究

記錄每一次錯誤發表於2019-07-11

 口令檔案用於具有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/


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547066/viewspace-2650290/,如需轉載,請註明出處,否則將追究法律責任。

相關文章