ORACLE10G 监听僵死问题的解决

简介:
 早上几个同事都风风火火的要求我赶快解决一个数据库无法连接的问题。
        当时一个同事甚至告诉我那个数据库“挂了”,有没有搞错,数据库那么容易就DOWN了吗?
        赶快上去看了一眼,实例运行正常,但是监听好像有些问题。很奇怪,用lsnrctl status命令后,没有返回任何信息同样也不退出,好像僵死一样。先解决问题再说吧,KILL掉一个监听进程后,再次启动监听,但是提示“监听已经启动”,怪。但是问题却得到了解决,可以正常连接了。
        ......
        还要看看问题所在呀,检查监听日志,没有什么特别的信息,但有两点,一个是在某个时段内就是没有任何连接到数据库的会话(没有任何日志信息,这在线上数据库中是不可能的),一个是有一条WARNING信息:
        WARNING: Subscription for node down event still pending
         通过查阅发现,原来这是个监听的BUG!
         产生原因: 
       
Intermittently, an additional listener process is created by Oracle causing the LISTENER to refuse connections to the database.
unpublished bug number 4518443 in 10.2.0.2 (and no doubt previous versions), fixed in 10.2.0.3.
         
       如果没有升级到10.2.0.3以后的版本也没有关系,有两个解决办法:
 
1) Rename the Oracle10g ons.config file so the listener does not find or use it.

                cd $ORACLE_HOME/opmn/conf
                mv ons.config ons.config.orig
                (then restart the listener)

        2) Explicitly disable the 10g TNS Listener from subscribing to the ONS.

                Edit the active 10g listener.ora file and add the parameter below:

                SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF

                where <listener_name> would be replaced with the actual listener name configured in the listener.ora file.

                For example, if the listener name is LISTENER (default), the parameter would be:

                SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF

                (then restart the listener)

        有时很多人都是到ORACLE网站下载一个新的产品,然后就安装使用(如果只是测试或者学习真的没有问题),觉得也很好,或者购买服务到期后就不愿意继续购买ORACLE的服务,其实对于一个商用数据库的运行而言,后续的服务是非常重要的。
        BTW:

        我在处理问题的时候当时粗心了一下,因该是可以检查到又两个监听进程存在的。只是当时我运气比较好直接kill掉了那个有问题的监听进程,所以才会出现我杀掉监听进程后,再重新启动却提示监听已启动了。-:)

本文转自Be the miracle!博客51CTO博客,原文链接http://blog.51cto.com/miracle/118830如需转载请自行联系原作者


Larry.Yue

相关文章
|
网络协议 Oracle 关系型数据库
Oracle rac不能监听public ip
Oracle rac不能监听public ip
233 0
|
Oracle 关系型数据库
oracle学习3-配置监听
oracle学习3-配置监听
93 0
oracle学习3-配置监听
|
Oracle 关系型数据库
oracle学习33-无监听程序
oracle学习33-无监听程序
93 0
oracle学习33-无监听程序
|
存储 Oracle 网络协议
oracle监听配置介绍
一、配置文件     Oracle Net配置文件都是文本形式的,可以通过netca或netmgr实用程序生成和修改,也可以使用文本编辑器生成和修改。 1) Oracle Net配置文件的路径 $ORACLE_HOME/network/admin/ 2) 三个Oracle Net配置文件 ①listener.ora在服务器端的配置文件②tnsnames.ora在客户端的配置文件③sqlnet.ora描述连接方式的配置文件 二、轻松连接方式(ezconnect) 优点:不需要网络配置文件的描述。
5330 0
|
网络协议 Oracle 关系型数据库
|
Oracle 关系型数据库 数据库
|
网络协议 Oracle 关系型数据库
|
SQL Oracle 关系型数据库
|
Oracle 网络协议 关系型数据库
|
Oracle 关系型数据库
ORACLE 低版本客户端登录Oracle 12c监听报错之ORA-28040
        > > > >                                                                                   > >    > >>   
1637 0