ORACLE數(shù)據(jù)庫通過sqlnet.ora文件中的參數(shù)sqlnet.authentication_services,參數(shù)文件中的remote_login_passwordfile和口令文件pwdsid.ora三者協(xié)同作用實現(xiàn)身份認證. Sqlnet.authentication_services=(NTS)|(NONE) NTS:操作系統(tǒng)認證方式,不使用口令文件; NONE:口令文件認證方式 Remote_login_passwordfile=(NONE)|(EXCLUSIVE)|(SHARED) NONE:不使用口令文件,操作系統(tǒng)認證; EXCLUSIVE:口令文件認證方式,但只有一個數(shù)據(jù)庫實例可以使用此文件; SHARED:口令文件認證方式,可以有多個數(shù)據(jù)庫實例可以使用此文件,但此設置下只有SYS賬號能被識別,即使文件中存在其他用戶的信息,也不允許他們以SYSOPER/SYSDBA登錄. (1).sqlnet.authentication_services=(NTS) 同時Remote_login_passwordfile=(NONE),此時為操作系統(tǒng)認證方式. 當以oracle_dba組下的用戶登錄進入本地的操作系統(tǒng)后,進行以下操作: sqlplus /nolog SQL>conn /assysdba 可以以sysdba身份登錄成功,進行數(shù)據(jù)庫方面的操作. 當以遠程進行登錄時,執(zhí)行: sqlplus /nolog SQL>conn /assysdba 則會顯示: ERROR:ORA-01031:insufficient privileges 即不允許以sysdba身份遠程登錄系統(tǒng),這也是OS認證這所以稱為本地認證方式的原因. (2).Sqlnet.authentication_services=(NONE),同時 Remote_login_passwordfile=(EXCLUSIVE)|(SHARED),配合口令文件PWDsid.ora,此時為口令文件認證方式: 當在本地以oracle_dba組下的用戶登錄進入系統(tǒng)時,進行以下操作: sqlplus /nolog SQL>conn /assysdba 則會顯示: ERROR:ORA-01031:insufficient privileges 在本地或遠程進行下邊的操作: sqlplus /nolog SQL>conn sys/密碼@服務名assysdba 可以進入系統(tǒng),也就是說口令文件認證方式允許用戶從本地或遠程以sysdba身份登錄,但必須提供口令字. (3).Sqlnet.authentication_services=(NTS),同時 Remote_login_passwordfile=(EXCLUSIVE)|(SHARED),配合口令文件PWDsid.ora,此時為操作系統(tǒng)認證和口令文件認證同時起作用: 當在本地以oracle_dba組下的用戶登錄進入操作系統(tǒng)后,進行下邊的操作: sqlplus /nolog SQL>conn /assysdba 可以進入系統(tǒng).即操作系統(tǒng)認證方式登錄成功. 當在遠程執(zhí)行: sqlplus /nolog SQL>conn sys/密碼@服務名assysdba 同時可正常登錄到數(shù)據(jù)庫系統(tǒng),即口令文件認證方式登錄成功. 附:
要知道以下幾種登陸方式不是一種概念 sqlplus /nolog 1: conn /assysdba 本機登陸,使用操作系統(tǒng)認證,有無監(jiān)聽都可以 2: conn sys/password assysdba 本機登陸,使用密碼文件認證,有無監(jiān)聽都可以 3: conn sys/password@dbanote assysdba 可以本機可以遠程,使用密碼文件認證,必須有監(jiān)聽,必須有tnsnames.ora,remote_login_passwordfile必須是EXCLUSIVE |
|
來自: guolijiegg > 《oracle》