ora-12638 身份證明檢索失敗 解決方式

tolywang發表於2008-06-17

今天登入一個Windows2003 系統下安裝的Oracle9i ,ora-12638 身份證明檢索失敗,後來發現是因為兩臺機器在不同的域下面。客戶機是在WLAN域名中,測試資料庫在DEPT002 域中 。初步瞭解發現如果兩臺機器都有 sqlnet.ora 檔案,且其中都有 SQLNET.AUTHENTICATION_SERVICES= (NTS) ,這時候會出現: ora-12638 身份證明檢索失敗 錯誤 。

一般方式是註釋掉DB段或客戶端的

# SQLNET.AUTHENTICATION_SERVICES= (NTS) 或 設定 SQLNET.AUTHENTICATION_SERVICES= (NONE),

[@more@]

詳細解釋:

http://afy.itpub.net/post/980/48931

ora-12638 錯誤的剖析

Site(A, Server) Windows 2003(已成為域控制器), oracle9206(opatch5)
Site(B, Client) windows 環境(2000,2003),oracle 資料庫或客戶端

Site(A),Site(B) 的oraclenetworkadmin目錄下都有檔案sqlnet.ora
該檔案中都有這一項 SQLNET.AUTHENTICATION_SERVICES= (NTS)

現象1、當Site(B)以域domain (此域不同於site(A)的域)身份登入機器時,
並且Site(A),Site(B) 中的sqlnet.ora 都有這一項 SQLNET.AUTHENTICATION_SERVICES 時,
則會出現:

SQL> connect
ERROR:
ORA-12638: Credential retrieval failed


Warning: You are no longer connected to ORACLE.
SQL>


現象2(接上)、此時,若把客戶端Site(B) 的 sqlnet.ora檔案中的
這一項 SQLNET.AUTHENTICATION_SERVICES 還是被註釋掉
#SQLNET.AUTHENTICATION_SERVICES= (NTS) 或 SQLNET.AUTHENTICATION_SERVICES= (NONE),
則均可以正常連線資料庫
SQL> connect

Connected.


現象3、當客戶端Site(B)以本機身份登入時,則不論 Site(B) 的 sqlnet.ora檔案中的
這一項 SQLNET.AUTHENTICATION_SERVICES = (NTS) 還是被註釋掉
#SQLNET.AUTHENTICATION_SERVICES= (NTS) 或 SQLNET.AUTHENTICATION_SERVICES= (NONE),
均可以正常連線資料庫
SQL> connect

Connected.


原因:Site(A)是域控制器(vsts.com),若Site(B)也以域(domain)身份登入機器,並且Site(A),Site(B)
都採用作業系統認證(NTS)方式,則需要雙方建立信任關係,要不就一方不採用(NTS)認證。如:
SQLNET.AUTHENTICATION_SERVICES=NONE 或
#SQLNET.AUTHENTICATION_SERVICES=***

Oracle 解釋如下:
Either create trust between the two domains or change the client or server
SQLNET.AUTHENTICATION_SERVICES such that NTS in not negotiated in the connection handshake.
NTS is only negotiated if both client and server have SQLNET.AUTHENTICATION_SERVICES
set to NTS.

i.e. SQLNET.AUTHENTICATION_SERVICES=NONE

解決方法:1、對兩個域建信任關係(沒測試此方法)。
2、資料庫或客戶端的sqlnet.ora 中的 SQLNET.AUTHENTICATION_SERVICES=NONE
或被註釋掉 #SQLNET.AUTHENTICATION_SERVICES。 鑑與生產環境,無法對兩個域建信任關係後作測試,無奈!

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

相關文章