监听日志中出现很多”WARNING: Subscription for node down event still pending”警告
--监听日志中内容 …… 26-NOV-2012 09:35:48 * ping * 0 WARNING: Subscription for node down event still pending …… 26-NOV-2012 09:45:49 * ping * 0 WARNING: Subscription for node down event still pending …… --监听日志大小 $ ls -l /oracle/product/10g/network/log/listener.log -rw-r----- 1 oracle dba 229526148 Nov 26 14:20 /oracle/product/10g/network/log/listener.log --总计条数 $ grep "Subscription for node down event still pending" \ > /oracle/product/10g/network/log/listener.log|wc -l 77306
数据库版本和平台
SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi PL/SQL Release 10.2.0.5.0 - Production CORE 10.2.0.5.0 Production TNS for IBM/AIX RISC System/6000: Version 10.2.0.5.0 - Productio NLSRTL Version 10.2.0.5.0 - Production
监听日志配置
$ more /oracle/product/10g/network/admin/listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /oracle/product/10g) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xifenfei)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) )
解决方法
--监听文件中增加 SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF --reload监听 lsnrctl reload
补充说明
SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF will prevent the messages from being written to the log file and may also prevent the TNS Listener from hanging periodically. Setting SUBSCRIBE_FOR_NODE_DOWN_<listener_name> to OFF disables a necessary RAC functionality(Oracle Notification Service[ONS],fast application notification[FAN]). The above workaround is recommended only for non-RAC environments. The issue may be present in all 10g and newer installations.
具体参考:372959.1和340091.1