昨天客户打来电话,说客户端连接不到数据库.赶过去发现两个数据库都正常,并且进入监听发现lsnrctl status无反应.
而ps -ef | grep tns 会出现两个tns的监听 具体还真没记住,于是我把两个tns的进程都kill 掉,在重新启动监听 问题解决.因为客户着急进行操作,所以也没过多的查LOG. 今天回公司查了一下,发现这篇文章,当做一个学习吧.
另外我新加了eygle 提到的BUG号为:4518443的信息.
我到metalink查了一下,很多的监听错误都被官方定为4518443,也有不同平台的补丁.
当然如果不是频繁的出现这种错误的话,还是不要去动现在很稳定的系统的.我也不会设置那个参数.
:P
感谢eygle 的文章给的提示 :D
==============================================================================
作者:eygle
链接:http://www.eygle.com/archives/2007/06/tns_child_listener_forked.html
有朋友在RAC环境下也遇到了类似的问题,在ITPUB上也有一个相关问题的讨论。在Metalink上可以找到相关问题的很多解释,这个问题被最终确认为一个BUG,BUG号为:4518443
Oracle称在较大压力下,监听进程可能出现间歇性停止服务,此时Oracle会spaw出另外一个监听进程,进而导致两个监听进程互相影响的故障。
在非RAC环境下,可以通过在listener.ora中设置参数:
SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF 来暂时回避这个BUG。
同时Oracle已经推出了相关Patch用来修正这个问题。
==============================================================================
以下为查到的文档
主题: | Bug 4518443 - Listener hang under load |
文档 ID: | 注释:4518443.8 | 类型: | PATCH | |
上次修订日期: | 24-SEP-2008 | 状态: | PUBLISHED |
This note gives a brief overview of bug 4518443.
The content was last updated on: 02-APR-2008
Click here for details of each of the sections below.
Product (Component) Oracle Application Server 10g (Oracle Nofication Service) Range of versions believed to be affected Versions < 11 Versions confirmed as being affected
- 10.1.0.5
- 10.2.0.1
- 10.2.0.2
Platforms affected Generic (all / most platforms affected)
This issue is fixed in
- 10.2.0.3 (Server Patch Set)
Symptoms: |
Related To: |
|
|
The listener process can hang under load while spawning a process. The last process the listener spawned will have a stack which includes a mutex lock call in ons_atfork_prepare().
Please note: The above is a summary description only. Actual symptoms can vary. Matching to any symptoms here does not confirm that you are encountering this problem. Always consult with Oracle Support for advice. |
很可惜这里不能上传文件.补丁就不能共享了
p4518443_10201_HPUX-IA64.zip
p4518443_10201_Linux-IA64.zip
p4518443_10201_LINUX.zip 等等..