« 《循序渐进Oracle》一书第三章目录 | Blog首页 | 又是一年放榜时 »
Oracle10g两个监听进程的故障
作者:eygle |【版权声明:转载时请务必以超链接形式标明文章原始出处和作者信息及本声明】链接:http://www.eygle.com/archives/2007/06/tns_child_listener_forked.html
最近已经收到多起关于Oracle10g启动两个监听进程的故障报告。
故障发生时数据库无法通过监听正常建立连接,检查时会发现系统上存在两个监听器进程,其中一个是另外一个的子进程。
一位朋友在我的留言板上给出了以下输出:
local1:/ #ps -ef | grep tnslsnr
oracle 925826 1 0 Apr 06 - 234:50 /u01/app/oracle/product/102/bin/tnslsnr listener1 -inherit
oracle 1081540 925826 0 21:39:39 - 0:00 /u01/app/oracle/product/102/bin/tnslsnr listener1 -inherit
有朋友在RAC环境下也遇到了类似的问题,在ITPUB上也有一个相关问题的讨论。
在Metalink上可以找到相关问题的很多解释,这个问题被最终确认为一个BUG,BUG号为:4518443
Oracle称在较大压力下,监听进程可能出现间歇性停止服务,此时Oracle会spaw出另外一个监听进程,进而导致两个监听进程互相影响的故障。
在非RAC环境下,可以通过在listener.ora中设置参数:
SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF
来暂时回避这个BUG。
同时Oracle已经推出了相关Patch用来修正这个问题。
-The End-
By eygle on 2007-06-28 11:15 | Comments (5) | Posted to Case |Pageviews:
| 相关文章 | 随机文章 |
|
|
Oracle9i新特性-使用DBMS_METADATA包获得对象DDL语句 Oracle9i新特点-判断是否使用了spfile 结束IT168《循序渐进Oracle》技术交流会 本站增加相册管理系统 北京天下亦有雪 |
留言 (5)
原来是这样啊, 又一个bug.
我碰到过仅有的几次, 简单kill 掉一个子进程, 就好了.
Posted by: 木匠 at July 1, 2007 1:11 PM
最近我也在RAC环境下遇到这个问题,而且在Solaris系统下还发现在压力较大时会同时出现IPMP的错误。
Posted by: Sauvago Wu at July 1, 2007 9:24 PM
输出是我贴在衣钩大师的留言板上的,目前故障已解决。谢谢衣钩大师。
Posted by: wzknet at July 1, 2007 9:28 PM
9i也有这个问题,因为是串行处理,可考虑mts
Posted by: victor666666 at July 6, 2007 11:18 AM
MTS肯定不应该在考虑之列,这个问题还是要解决的。
Posted by: eygle at July 6, 2007 5:57 PM
