TNS-01189: The listener could not authenticate the user错误

早上打开邮箱,收到很多EM的ALERT邮件,其中
Message=version (TNS-1189),. Please check log for details.
类型的事件占据了相当多的空间。一开始还吓了一跳,赶紧用TOAD连接试试,结果连接是正常的,而且SQL执行也都没有问题。这才稍微放心了一点。接着根据ALERT的提示,查看listener.log,发现在凌晨的时候确实报了很多TNS-1189的错误:
TNS-01189: The listener could not authenticate the user
但是日志中也没有其它更详细的信息了,而且listener也工作正常,数据库也运行正常,用户的权限也都是正常的,这是咋回事?上metalink查查。

用TNS-01189作为关键字搜索,搜到了一篇文章[ID 285439.1],从各方面的信息来看,估计就是这个原因了。Oracle的解释是该错误是由于LSNRCTL与tnslsnr进程通信验证失败造成的,但是导致错误的原因未知(汗~~,看来又是个BUG了)。受影响的版本从10.1.0.2到11.2.0.2。当然Oracle也提供了解决方案,就是在listener.ora加入
(ADDRESS=(PROTOCOL=IPC)(KEY=ANYTHING))
但是要确保该行是在ADDRESS LIST的第一行。

附metalink文章

	

LSNRCTL Commands May Yield Frequent TNS-1189 Errors [ID 285439.1] In this Document Symptoms Changes Cause Solution Applies to: Oracle Net Services - Version: 10.1.0.2.0 to 11.2.0.2 - Release: 10.1 to 11.2 Information in this document applies to any platform. The issue documented here is limited to the version 10g or higher listener or lsnrctl utility. Symptoms When using a 10g listener or higher, it is possible that the error TNS-1189 may occur intermittently(or very frequently) while performing listener operations from within the same LSNRCTL session. Changes The listener.ora file may have been edited recently or this is a new installation. Cause This error is an authentication failure error between LSNRCTL and the tnslsnr process. This error has been known to happen when multiple network interfaces exist on the same machine as the listener. However, it is unknown what the root cause of the failure is. The failure is due to the LSNRCTL failing its locality check (meaning the LSNRCTL utility is using gethostbyname() and an IP address different than what the tnslsnr is using is being returned to LSNRCTL causing the authentication failure). Solution The problem can be worked around by having the LSNRCTL utility utilize the IPC protocol to communicate with the tnslsnr rather than TCP. To do this, insert an IPC address into the listener.ora file and make it the first ADDRESS within an ADDRESS_LIST: LISTENER= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=IPC)(KEY=ANYTHING)) (ADDRESS=(PROTOCOL=TCP)(HOST=serverhost)(PORT=1521)) ) Using the IPC protocol locally will not affect incoming connections. Nor will it affect secure, remote administration of the tnslsnr when using TCP.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13885898/viewspace-1651549/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13885898/viewspace-1651549/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值