grid@linux173:~>
crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE
SERVER
STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DG_ORA.dg
ONLINE ONLINE
linux173
ora.LISTENER.lsnr
ONLINE INTERMEDIATElinux173 Not All Endpoints R
egistered
ora.asm
ONLINE ONLINE
linux173
Started
ora.ons
OFFLINE OFFLINE linux173
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1
ONLINE ONLINE linux173
ora.diskmon
1
OFFLINE OFFLINE
ora.evmd
1
ONLINE ONLINE linux173
原因:
R2存在两个监听,一个是默认监听,一个是业务数据监听,信息如下:
监听名称
默认端口
管理者
LISTENER
1521
grid
LISTENER_ORA
自定义
oracle
其中,(OS级)grid用户管理默认监听LISTENER;(OS级)oracle用户管理业务监听,端口自定义,但不能使用1521端口。
遇见这个问题,首先查看grid的默认监听文件,确认默认监听中端口与当前crs中是否一致。通过listener.ora文件中端口与crs中启用的端口(可通过netstat –an过滤1521端口,查看1521是否处于监听状态),经相互对比,默认监听文件中端口是1522,crs中是1521,说明有人修改过默认监听配置文件中端口,导致crs中与监听配置文件中不一致。解决过程如下:
1、修改默认监听配置文件中监听端口为1521;
2、停掉has中默认监听资源(crsctl
stop resora.LISTENER.lsnr)
3、从has中删掉默认监听资源(srvctl
remove listener -l LISTENER)
grid@linux173:~>
crsctl stat res
-t
--------------------------------------------------------------------------------
NAME TARGET STATE
SERVER
STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DG_ORA.dg
ONLINE ONLINE
linux173
ora.asm
ONLINE ONLINE
linux173 Started
ora.ons
OFFLINE OFFLINE linux173
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1
ONLINE ONLINE linux173
ora.diskmon
1
OFFLINE OFFLINE
ora.evmd
1
ONLINE INTERMEDIATE linux173
结果显示是没有默认监听资源的,已经成功删除.
4、重新创建默认监听(srvctl
add listener -l LISTENER -o $ORACLE_HOME)
grid@linux173:~>
srvctl add
listener -l LISTENER -o $ORACLE_HOME
grid@linux173:~>
crsctl stat res
-t
--------------------------------------------------------------------------------
NAME TARGET STATE
SERVER
STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DG_ORA.dg
ONLINE ONLINE
linux173
ora.LISTENER.lsnr
OFFLINE OFFLINE linux173
ora.asm
ONLINE ONLINE
linux173
Started
ora.ons
OFFLINE OFFLINE linux173
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1
ONLINE ONLINE linux173
ora.diskmon
1
OFFLINE OFFLINE
ora.evmd
1
ONLINE ONLINE linux173
5、启动默认监听(crsctl
start res ora.LISTENER.lsnr)
grid@linux173:~>
crsctl start res ora.LISTENER.lsnr
CRS-2672:
Attempting to start 'ora.LISTENER.lsnr' on 'linux173'
CRS-2676: Start of
'ora.LISTENER.lsnr' on 'linux173' succeeded
6、查看默认监听状态
grid@linux173:~>
crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE
SERVER
STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DG_ORA.dg
ONLINE ONLINE
linux173
ora.LISTENER.lsnr
ONLINE ONLINElinux173
ora.asm
ONLINE ONLINE
linux173
Started
ora.ons
OFFLINE OFFLINE linux173
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1
ONLINE ONLINE linux173
ora.diskmon
1
OFFLINE OFFLINE
ora.evmd
1
ONLINE ONLINE linux173