oracle重启监听进程,(转帖)关于Oracle10g启动两个监听进程的故障

关于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环境下也遇到了类似的问题。

这个问题被最终确认为一个BUG,BUG号为:4518443

Oracle称在较大压力下,监听进程可能出现间歇性停止服务,此时Oracle会spaw出另外一个监听进程,进而导致两个监听进程互相影响的故障。

在非RAC环境下,可以通过在listener.ora中设置参数来暂时回避这个BUG。

SUBSCRIBE_FOR_NODE_DOWN_EVENT_=OFF

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

===================================================================================================================

Oracle 10201 版本的一个BUG : 4518443(转)2007年07月27日 星期五 19:48据ORACLE解释,在任何操作系统版本都有此问题。

现象:监听器启动后,隔一段时间(长短不定),就会出现无法连接:若是用10201版本的SQLPLUS,则会出现 NO LISTENER。

9207 版本的SQLPLUS,则会出现:没反应,HANG住。

原因:10201 版本上的一个BUG:4518443。其会自动创建一个子监听器,当出现此情况时,监听器将会挂起。

/opt/oracle/product/10g/network/log/listener.log有如下语句:

WARNING: Subscription for node down event still pending

检查是否真因为此BUG造成此现象:

[oracle@myocp ~]$ ps -ef|grep lsnr

oracle   22779 23373  0 11:22 ?        00:00:00 /oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit

oracle   23373     1  1 10:09 ?        00:05:14 /oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit

oracle   23684 23660  0 15:13 pts/1    00:00:00 lsnrctl status

oracle   23686 23660  0 15:14 pts/1    00:00:00 grep lsnr

正常情况只有一个监听器,而此BUG则会出现两个监听器。

解决方法:打补丁4518443 或者在listener.ora 文件里加入:(NO-RAC)

SUBSCRIBE_FOR_NODE_DOWN_EVENT_=OFF

其中,是数据库的监听器的名称。如:默认情况下,监听器名为:LISTENER 。则语句就是:

SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF

重启监听程序:

lsnrctl stop

lncrctl start

但有时候这种方法没有什么用即使加了SUBSCRIBE_FOR_NODE_DOWN_EVENT_=OFF。连续两天出现swap和load过高导致数据库无法提供服务,甚至OS都无法登陆。在ps后发现有两个监听进程,kill后系统恢复正常。按照Oracle的建议,删除了ONS的配置文件$ORACLE_HOME/opmn/conf/ons.config,暂时看起来正常了

按照metalink的说法,这个语句关闭了监听自动向ONS(Oracle Notification Services)注册,正是这个注册可能导致监听启动子进程。ONS是RAC中的一个组件,禁用该特性将导致RAC的FAN(Fast Application Notification)特性不可用。还好我这里两台都是单机,这么解决应该没什么问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值