Oracle Support recommends patching to 10.2.0.4 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_<listener_name>=OFF |
Where <listener_name> 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.
--end--
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
檢查時會發現系統上存在兩個監聽器進程,其中一個是另外一個的子進程。
檢查監聽 ps -ef | grep tnslsnr
KILL掉一個子進程,恢復正常
在Metalink上可以找到相關問題的很多解釋,這個問題被最終確認爲一個BUG,BUG號爲:4518443
Oracle稱在較大壓力下,監聽進程可能出現間歇性停止服務,此時Oracle會spaw出另外一個監聽進程,進而導致兩個監聽進程互相影響的故障。