ORACLE登陸方式的研究

Xinspirit發表於2012-06-26

1 SQLNET.AUTHENTICATION_SERVICES配置

SQLNET.AUTHENTICATION_SERVICES(NTS)|(NONE)

SQLNET.AUTHENTICATION_SERVICES(NTS): 作業系統認證方式,不使用口令檔案

SQLNET.AUTHENTICATION_SERVICES(NONE) : 口令檔案認證方式

2 REMOTE_LOGIN_PASSWORDFILE引數

REMOTE_LOGIN_PASSWORDFILE=(NONE)|(EXCLUSIVE)|(SHARED)

REMOTE_LOGIN_PASSWORDFILE=(NONE): 不使用口令檔案,作業系統認證

REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE): 口令檔案認證方式,但只有一個資料庫例項可以使用此檔案,系統允許將SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他使用者,且以具有這類身份的其他使用者登入是有效的

REMOTE_LOGIN_PASSWORDFILE=(SHARED): 口令檔案認證方式,可有多個資料庫例項使用此檔案,但是此設定下只有INTERNAL/SYS帳號能被識別,即使檔案中存有其他使用者的資訊,也不允許他們以SYSOPER/SYSDBA登入

3 兩者關係

本地:

方式一: 本地oracle安裝使用者 sqlplus / as sysdba

方式二: 本地oracle安裝使用者 sqlplus sys/sys as sysdba

方式三: 本地oracle安裝使用者 sqlplus sys/sys@linuxtest as sysdba

 

遠端:

方式四: 遠端的使用者            sqlplus "sys/sys@linuxtest as sysdba"

方式五: 遠端的使用者            sqlplus "sys/sys@192.168.128.2:1521/test as sysdba"

 

其中:

密碼是sys

tns的服務名是linuxtest

sidtest

REMOTE_LOGIN_PASSWORDFILE

SQLNET.AUTHENTICATION_SERVICES

使用者型別

登陸結果

none

none

方式一

無法登入

方式二

無法登入

方式三

無法登入

方式四

無法登入

方式五

無法登入

none

nts(all)

方式一

能登入

方式二

能登入

方式三

能登入(window)

能登入(linux置空)

不能登入(linuxall)

方式四

無法登入

方式五

無法登入

exclusive

none

方式一

無法登入

方式二

能登入

方式三

能登入

方式四

能登入

方式五

能登入

exclusive

nts(all)

方式一

能登入

方式二

能登入

方式三

能登入(window)

能登入(linux置空)

不能登入(linuxall, 但是遠端用密碼檔案又可以)

方式四

能登入

方式五

能登入

 

1 常見情況舉例

1.1 關閉OS驗證

SQLNET.AUTHENTICATION_SERVICES(NONE)

1.2 關閉密碼檔案認證

REMOTE_LOGIN_PASSWORDFILE=(NONE)

1.3 關閉本地密碼檔案認證

REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE)

SQLNET.AUTHENTICATION_SERVICES(ALL)

1.4 關閉遠端密碼檔案認證

REMOTE_LOGIN_PASSWORDFILE=(NONE)

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

相關文章