【Oracle 10201 lsnrctl status卡住问题解决】
Linux + Oracle 10201
下午发现数据库连不上,查看情况,都没报错,
查看lsnrctl status 如下卡住了
[oracle@thdb oracle]$ lsnrctl status
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 12-12月-2011 16:00:47
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
alter日志和listener日志都正在,唯独sqlnet.log有如下报错
***********************************************************************
Fatal NI connect error 12170.
VERSION INFORMATION:
TNS for Linux: Version 10.2.0.1.0 - Production
Oracle Bequeath NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production
Time: 12-12月-2011 15:14:50
Tracing not turned on.
Tns error struct:
ns main err code: 12535
TNS-12535: TNS: 操作超时
ns secondary err code: 12560
nt main err code: 505
TNS-00505: 操作超时
nt secondary err code: 110
nt OS err code: 0
Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=172.16.4.68)(PORT=54729))
解决如下: ps -ef|grep ora 发现有两个监听程序在跑; ps -ef|grep tns 查出进程号
kill -9 杀掉一个监听进程
lsnrctl start 显示启动成功,plsql连接正常,解决……
查了些资料,如下,要详细读读 好像是10G的bug
这个问题暂时定为oracle的bug,bug号 4518443
处理方法: listener.ora加入SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF
Intermittent TNS Listener Hang, New Child Listener Process Forked [ID 340091.1]
--------------------------------------------------------------------------------
Modified 30-JUL-2010 Type ALERT Status PUBLISHED
In this Document
Description
Likelihood of Occurrence
Possible Symptoms
Workaround or Resolution
Patches
Modification History
References
--------------------------------------------------------------------------------
Applies to:
Oracle Net Services - Version: 10.1.0.3.0 to 10.2.0.2.0 -> Information in this document applies to any platform.
All new connections via TNS listener hang, no errors reported
Checked for> Description
Intermittently the TNS listener hangs and new connections to the database are not possible.
Likelihood of 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
Possible 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 or Resolution
Issue is fixed in 10.2.0.3 Patch Set
Oracle Support recommends patching to 10.2.0.4 as this the lastest>
- 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_=OFF
Where should be replaced with the actual listener name configured in the LISTENER.ORA file. This parameter is to be placed by itself on an empty line / at the end of file.
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>
Please note, that adding the SUBSCRIBE_FOR_NODE_DOWN_EVENT_ to listener.ora file on RAC and disabling the ONS file, will mean that FAN (fast application notification) will not be possible. See Note 220970.1 RAC: Frequently Asked Questions for further information on FAN. Therefore, if you have a RAC configuration, then apply the patch and do not disable ONS or FAN.
Also, please note that this might happen with ANY 10g installation, whether it is RAC>
Patches
Apply Patch 4518443 for the problem (if a patch is available)
Modification History
References
Related
--------------------------------------------------------------------------------
Products
--------------------------------------------------------------------------------
Oracle Database Products > Oracle Database > Net Services > Oracle Net Services
Keywords
--------------------------------------------------------------------------------
INTERMITTENT; TNSLSNR; HIGH CPU USAGE; LISTENER HANGS; NOTIFICATION SERVICES
Back to top
Rate this document
Article Rating
Rate this document
Excellent
Good
Poor
Did this document help you?
Yes
No
Just browsing
How easy was it to find this document?
Very easy
Somewhat easy
Not easy
Comments
Provide feedback for this article. Please use 'Contact Us' for other feedback.
Important Note: this feedback is anonymously visible to other customers until processed by Oracle Support.
Cancel