2009年6月5日 星期五

ORA-12638 身份證明檢索失敗-解決原因與方法

今天在裝ap server時,遇到sqlplus id/pass@SID時出現 ORA-12638 身份證明檢索失敗的error。

後來在客戶端沒有外網,也沒遇這樣的問題~call friend幫忙查一下,將

Sqlnet.Authentication_Services=(NTS) 改為Sqlnet.Authentication_Services=(NONE)

就可以正常連線了!



後來查了一下官方的文件

SQLNET.AUTHENTICATION_SERVICES
Purpose


Use the parameter SQLNET.AUTHENTICATION_SERVICES to enable one or more authentication services. If authentication has been installed, it is recommended that this parameter be set to either none or to one of the authentication methods.
.Default
.None
.Values
Authentication Methods Available with Oracle Net Services:
none -- for no authentication methods. A valid username and password can be used to access the database.
all -- for all authentication methods
nts -- for Windows NT native authentication


Authentication Methods Available with Oracle Advanced Security:
kerberos5 for Kerberos authentication
cybersafe for Cybersafe authentication
radius for RADIUS authentication
dcegssapi for DCE GSSAPI authentication

See Also:
Oracle Advanced Security Administrator's Guide



表示這是一種認證方式,如果是NTS就是用windows的認證模式,表示登入sysdba時,不需要輸入帳號密碼即可登入,若對於Oracle on windows cluster來說,使用的一組virtual IP 本來就不能使用windows認證方式進入database,故解決辦法就是改為none(表示只要在oracle資料庫的使用者、密碼對了~就可以登入了)

要注意一件事!!這個設定只適合在AP Client端作設定,如果在DB server端作此設定的話,會造成"conn / as sysdba" 匿名登入時會失效!