欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle10g两个监听进程的故障

程序员文章站 2022-04-21 08:41:09
...

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 最近已经收到多起关于Oracle10g启动两个监听进程的故障报告。 故障发生时数据库无法通过监听正常建立连接,检查时会发现系统上存在两个监听器进程,其中一个是另外一个的子进程。 一位朋友在我的留

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

最近已经收到多起关于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_=OFF
来暂时回避这个BUG。

同时Oracle已经推出了相关Patch用来修正这个问题。

-The End-

Oracle10g两个监听进程的故障