本地oracle客戶端用PLSQL Developer連線遠端資料庫,每次登入都會在很久之後,出現 ORA-12638: 身份證明檢索失敗,tnsping 表明TNS配置沒有問題。
解決方案:
D:\app\sabre\product\11.2.0\client_1\NETWORK\ADMIN
此目錄下找到sqlnet.ora檔案,如果存在SQLNET.AUTHENTICATION_SERVICES= (NTS)設定,則修改為:SQLNET.AUTHENTICATION_SERVICES= (NONE),如果不存在,則直接新增SQLNET.AUTHENTICATION_SERVICES= (NONE),我的問題得以解決。
SQLNET.AUTHENTICATION_SERVICES 表示oracle使用哪種驗證方式,NTS表示採用本地作業系統認證,NONE表示將採用口令檔案方式認證。設定了none後,本地的作業系統認證將不被許可,oracle將採用口令檔案認證(此時 remote_login_passwordfile=exclusive)如connect /as sysdba 登入,後報錯RA-01031: insufficient privileges,實際上是要求你輸入sysdba的使用者名稱和密碼