C/C++教程

oracle RAC 监听状态为"Not All Endpoints Registered"

本文主要是介绍oracle RAC 监听状态为"Not All Endpoints Registered",对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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查看状态显示正常

这篇关于oracle RAC 监听状态为"Not All Endpoints Registered"的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!