oracle兩種認證方式總結(ZT)

wtjiang2008發表於2009-07-03
ORACLE資料庫透過sqlnet.ora檔案中的引數sqlnet.authentication_services,引數檔案中的remote_login_passwordfile和口令檔案pwdsid.ora三者協同作用實現身份認證.

Sqlnet.authentication_services=(NTS)|(NONE)
NTS:
作業系統認證方式,不使用口令檔案;
NONE:
口令檔案認證方式

Remote_login_passwordfile=(NONE)|(EXCLUSIVE)|(SHARED)
NONE:
不使用口令檔案,作業系統認證;
EXCLUSIVE:
口令檔案認證方式,但只有一個資料庫例項可以使用此檔案;
SHARED:
口令檔案認證方式,可以有多個資料庫例項可以使用此檔案,但此設定下只有SYS帳號能被識別,即使檔案中存在其他使用者的資訊,也不允許他們以SYSOPER/SYSDBA登入.

(1).sqlnet.authentication_services=(NTS)
同時Remote_login_passwordfile=(NONE),此時為作業系統認證方式.

當以oracle_dba組下的使用者登入進入本地的作業系統後,進行以下操作:
sqlplus /nolog
SQL>conn
/assysdba
可以以sysdba身份登入成功,進行資料庫方面的操作.

當以遠端進行登入時,執行:
sqlplus /nolog
SQL>conn
/assysdba
則會顯示:
ERROR:ORA-01031:insufficient privileges
即不允許以sysdba身份遠端登入系統,這也是OS認證這所以稱為本地認證方式的原因.

(2).Sqlnet.authentication_services=(NONE),
同時
Remote_login_passwordfile=(EXCLUSIVE)|(SHARED),
配合口令檔案PWDsid.ora,此時為口令檔案認證方式:

當在本地以oracle_dba組下的使用者登入進入系統時,進行以下操作:
sqlplus /nolog
SQL>conn
/assysdba
則會顯示:
ERROR:ORA-01031:insufficient privileges

在本地或遠端進行下邊的操作:
sqlplus /nolog
SQL>conn sys/
密碼@服務名assysdba
可以進入系統,也就是說口令檔案認證方式允許使用者從本地或遠端以sysdba身份登入,但必須提供口令字.


(3).Sqlnet.authentication_services=(NTS),
同時
Remote_login_passwordfile=(EXCLUSIVE)|(SHARED),
配合口令檔案PWDsid.ora,此時為作業系統認證和口令檔案認證同時起作用:

當在本地以oracle_dba組下的使用者登入進入作業系統後,進行下邊的操作:
sqlplus /nolog
SQL>conn
/assysdba
可以進入系統.即作業系統認證方式登入成功.

當在遠端執行:
sqlplus /nolog
SQL>conn sys/
密碼@服務名assysdba
同時可正常登入到資料庫系統,即口令檔案認證方式登入成功.
 
 
附:
要知道以下幾種登陸方式不是一種概念
sqlplus /nolog
1:  conn
/assysdba                    本機登陸,使用作業系統認證,有無監聽都可以
2:  conn sys/password
assysdba   本機登陸,使用密碼檔案認證,有無監聽都可以
3:  conn sys/password@dbanote
assysdba  可以本機可以遠端,使用密碼檔案認證,必須有監聽,必須有tnsnames.ora,remote_login_passwordfile必須是EXCLUSIVE
 

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

相關文章