Listener in INTERMEDIATE status with "Not All Endpoints Registered" [ID 1454439.1]
#crsctl status res -t
ora.LISTENER.lsnr
ONLINE INTERMEDIATE defdb1 Not All Endpoints Registered
ONLINE ONLINE defdb2
2,經過查詢,原因如下,數據庫起了兩個listener,一個oracle用戶起的,一個grid用戶啟動;正常情況下,應該只有grid用戶起的
3,停掉一個后,仍然沒有恢復
mos上也有此報錯的文章,主要是listener端口被占用導致不能正確啟動導致
通過如下方法解決了問題:
Solution
From 11.2 onwards, all listeners should be runing from GRID_HOME, listener and listener_scan<n> entry should be added automatically into listener.ora, no manual editing is required for TCP definition.
1. Stop the listener running from RDBMS ORACLE_HOME
從ORACLE_HOME關閉監聽
$<RDBMS ORACLE_HOME>/bin/lsnrctl stop LISTENER
2. stop the listener from GRID_HOME
從GRID_HOME關閉監聽
$<GRID_HOME>/bin/srvctl stop listener -n <node name>
$<GRID_HOME>/bin/srvctl stop scan_listener -i <scan#>
例:
$<GRID_HOME>/bin/srvctl stop listener -n defdb1
$<GRID_HOME>/bin/srvctl stop scan_listener -i 1
如果上述命令關閉失敗,可以通過kill -9 殺LISTENER 和LISTENER_SCAN1進程
If above command fails to stop the tnslsnr process, please use "kill -9 <pid of tnslsnr>" to stop the LISTENER and LISTENER_SCAN1 process.
3. remove any manually added LISTENER definition from listener.ora if it exists
移除所有手動添加到listener.ora中的信息
4. restart the LISTENER and LISTENER_SCAN1 from GRID_HOME
從GRID_HOME重啟LISTENER and LISTENER_SCAN1
$<GRID_HOME>/bin/srvctl start listener -n <node name>
$<GRID_HOME>/bin/srvctl start scan_listener -i <scan#>
5. check crsctl stat res -t output, they both should show ONLINE status now.
通過crsctl stat res -t查看狀態顯示正常
