lsnrctl status/start/stop 執行後長時間無回應、卡住。tnslsnr 進程同時運行:oracle 111111 ... tnslsnr LISTENER -inheritoracle 222222 ... tnslsnr LISTENER -inherittnsping 即恢復正常。經 Metalink 確認,屬於 Oracle 10.2.0.1 **已知 Bug (4518443)**。高負載下監聽進程間歇性停止服務,Oracle 自動衍生子進程,導致雙進程互相干擾掛起。Listener.log 會記錄:
WARNING: Subscription for node down event still pending
在 listener.ora 中加入參數關閉 ONS 註冊功能:
SUBSCRIBE_FOR_NODE_DOWN_EVENT_=OFF
範例 (預設監聽名 LISTENER):
SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF
修改後重啟監聽:
lsnrctl stop
lsnrctl start
修改生效後,lsnrctl status 即時回應,單一 tnslsnr 進程穩定運行,問題徹底解決。