ITPub博客

首页 > 数据库 > Oracle > ora-12638 身份证明检索失败 解决方式

ora-12638 身份证明检索失败 解决方式

原创 Oracle 作者:tolywang 时间:2008-06-17 10:40:36 0 删除 编辑

今天登入一个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 scott/1@lenovo
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
scott/1@lenovo
Connected.


现象3、当客户端Site(B)以本机身份登录时,则不论 Site(B) 的 sqlnet.ora文件中的
这一项 SQLNET.AUTHENTICATION_SERVICES = (NTS) 还是被注释掉
#SQLNET.AUTHENTICATION_SERVICES= (NTS) 或 SQLNET.AUTHENTICATION_SERVICES= (NONE),
均可以正常连接数据库
SQL> connect
scott/1@lenovo
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博客 ” ,链接:https://blog.itpub.net/35489/viewspace-1005771/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14697721