今天登入一个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博客 ” ,链接:http://blog.itpub.net/35489/viewspace-1005771/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-1005771/
本文探讨了在不同域环境下Oracle 9i出现ORA-12638错误的原因及解决方法。主要涉及SQLNET.AUTHENTICATION_SERVICES配置不当导致的身份验证问题,包括NTS认证的影响及调整建议。
1192

被折叠的 条评论
为什么被折叠?



