现在的位置: 首页 > 综合 > 正文

oracle10g 双监听解决(转载EYGLE)

2013年06月19日 ⁄ 综合 ⁄ 共 687字 ⁄ 字号 评论关闭

最近已经收到多起关于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-

 

来源http://www.eygle.com/archives/2007/06/tns_child_listener_forked.html

感谢eygle大师,遇到的问题,得以记录!

抱歉!评论已关闭.