ora-12638 一种错误情况的剖析

前段时间在2003上装测试数据库, 有同事在连接时说报此错误, 我大致观察揣摩的一下,发现一时
间无法找到答案, 之后发现把数据库的SQLNET.ORA文件中的此项
SQLNET.AUTHENTICATION_SERVICES 注释掉即可克服此错误,但具体原因也说不清楚,没解
决此问题,心里一直疙瘩着;前两天想起此问题,用GOOGLE搜索了一下,在ITPUB 上发现
一篇文章,说是把客户端的SQLNET.ORA文件给删除即可,试了一下,果真如此。但文章中
的那人也解释不清楚原因,后上METALINK问,ORACLE的技术人员给了两篇文章让我先阅读。
看完后作测试,才知道,对NTS的认证方式又多了一层了解。


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/1112/viewspace-103711/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/1112/viewspace-103711/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值