轉
oracle
資料庫通過
sqlnet.ora
檔案中的引數
sqlnet.authentication_services,
引數檔案中的
remote_login_passwordfile
和口令檔案
pwdsid.ora
三者協同作用實現身份認證.
sqlnet.ora檔案:
d:\study\oracle\product\11.2.0\dbhome_3\network\admin\sqlnet.ora
引數檔案
:d:\study\oracle\product\11.2.0\dbhome_3\dbs\init.ora
oracle11g 沒有
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/
as sysdba
可以以sysdba身份登入成功
,進行資料庫方面的操作
.當以遠端進行登入時,執行
:sqlplus /nolog
sql>conn/
as sysdba
則會顯示
: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/
as sysdba
則會顯示
:error:ora-01031:insufficient privileges
在本地或遠端進行下邊的操作
:sqlplus /nolog
sql>conn sys/密碼@
服務名as
sysdba
可以進入系統
,也就是說口令檔案認證方式允許使用者從本地或遠端以sysdba身份登入
,但必須提供口令字
.(3).sqlnet.authentication_services=(nts),
同時remote_login_passwordfile=(exclusive)|(shared),
配合口令檔案
pwdsid.ora,
此時為作業系統認證和口令檔案認證同時起作用
:當在本地以
oracle_dba
組下的使用者登入進入作業系統後
,進行下邊的操作
:sqlplus /nolog
sql>conn/
as sysdba
可以進入系統
.即作業系統認證方式登入成功
.當在遠端執行
:sqlplus /nolog
sql>conn sys/密碼@
服務名as
sysdba
同時可正常登入到資料庫系統
,即口令檔案認證方式登入成功.
附:要知道以下幾種登陸方式不是一種概念
sqlplus /nolog
1: conn/
as sysdba
本機登陸,使用作業系統認證,有無監聽都可以
2: conn sys/passwordas
sysdba
本機登陸,使用密碼檔案認證,有無監聽都可以
3: conn sys/password@dbanoteas
sysdba
可以本機可以遠端,使用密碼檔案認證,必須有監聽,必須有
tnsnames.ora,remote_login_passwordfile
必須是exclusive
說明:從oracle
的解釋可以知道,sqlnet.authentication_services=(nts)是windows系統專用的,對linux/unix是不適用的。
最後做乙個簡單的總結:
1、在windows下,sqlnet.authentication_services必須設定為nts或者all才能使用os認證;不設定或者設定為其他任何值都不能使用os認證。
2、在linux下,在sqlnet.authentication_services的值設定為all,或者不設定的情況下,os驗證才能成功;設定為其他任何值都不能使用os認證。
Oracle兩種登入認證方式
oracle 資料庫通過 sqlnet.ora 檔案中的引數 sqlnet.authentication services,引數檔案中的 remote login passwordfile 和口令檔案 pwdsid.ora 三者協同作用實現身份認證 sqlnet.authentication ser...
oracle兩種認證方式總結
oracle 資料庫通過 sqlnet.ora 檔案中的引數 sqlnet.authentication services,引數檔案中的 remote login passwordfile 和口令檔案 pwdsid.ora 三者協同作用實現身份認證 sqlnet.authentication ser...
oracle兩種認證方式總結
oracle 資料庫通過 sqlnet.ora 檔案中的引數 sqlnet.authentication services,引數檔案中的 remote login passwordfile 和口令檔案 pwdsid.ora 三者協同作用實現身份認證 sqlnet.authentication ser...