Oracle 10g出现两个监听_两个tnslsnr sales –inherit的故障
Oracle 10g出现两个监听_两个tnslsnr sales –inherit的故障一个客户的主机运行ORACLE单机数据库,发现CPU使用很高,经检查后,是由于监听程序引起的,检查后发现系统中存在两个监听程序的进程,如下:$ ps -ef | grep tnslsnr
ora10g 89009 1 0 Sep 10 ? 900:44 /u05/10GHOME/DBHOME/bin/tnslsnr sales -inherit
ora10g 22635 8939 0 11:19:23 ? 0:00 /u05/10GHOME/DBHOME/bin/tnslsnr sales –inherit
经过查询后,确认这是oracle 10g的一个bug,bug号为4518443,解决方案如下:1、安装patch 45184432、增加listener参数SUBSCRIBE_FOR_NODE_DOWN_EVENT_
相关的官方说明及修复过程如下:
Applies to:
Oracle Net Services - Version 10.1.0.3.0 to 10.2.0.2.0 [Release 10.1 to 10.2]
Information in this document applies to any platform.
All new connections via TNS listener hang, no errors reported
Checked for relevance on 05-FEB-2010.
***Checked for relevance on 27-nov-2012***
Description
Intermittently the TNS listener hangs and new connections to the database are not possible.
Occurrence
The issue is that the TNS listener can hang under load if a second spawned listener process is not closed (remains persistent). Secondary listener processes are not unusual, depending on traffic as well as when the OS grep snapshot is taken. However, a persistent secondary process (longer than say 5 second) is not normal and may be a result of this referenced problem.TNS listener can hang at any time and effect standalone or RAC systems
Symptoms
Listener process can also consume high amount of CPU
Child TNS listener process is seen when doing a ps on the listener process, eg.:$ ps -ef | grep tnslsnr
ora10g 8909 1 0 Sep 15 ? 902:44 /u05/10GHOME/DBHOME/bin/tnslsnr sales -inherit
ora10g 22685 8909 0 14:19:23 ? 0:00 /u05/10GHOME/DBHOME/bin/tnslsnr sales -inherit Killing the child process allows new connections to work until the problem reoccurs
Workaround
Issue is fixed in 10.2.0.3 Patch Set
Oracle Support recommends patching to 10.2.0.5 as this the lastest release
- OR -
Apply Patch 4518443 for the problem (if a patch is available)
- OR -
As a workaround, two steps should be done:
1. The following parameter can be added to listener.ora SUBSCRIBE_FOR_NODE_DOWN_EVENT_
For example, if the listener name is LISTENER (default), the parameter would be:SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF
2. Locate the ons.config file in the 10g(rdbms) home and rename it to something else.
For example:
cd $ORACLE_HOME/opmn/conf
mv ons.config ons.config.orig
The listener needs to be restarted after these changes. This will both prevent the listener from registering against ONS (Oracle Notification Services), which is the area affected by bug:4518443, as well as disable ONS itself. For more information on ONS, please refer to the specific Oracle documentation, for example, for 10.2, see the Oracle10g Release 2 Oracle Clusterware and Oracle Real Application Clusters Administration and Deployment Guide.
Please note, that adding the SUBSCRIBE_FOR_NODE_DOWN_EVENT_
Also, please note that this might happen with ANY 10g installation, whether it is RAC related or not, and whether there is an Oracle Application installation or not.