CRS显示 正在运行的db instance 是offline状态

转自:

CRS shows Running Instance Status as OFFLINE (Doc ID 1673397.1)

适用于:

Oracle Database - Enterprise Edition - Version 11.2.0.2 to 11.2.0.3 [Release 11.2]

Information in this document applies to any platform.

症状:

在crsctl stat res -t 输出里,数据库实例的status显示offline,但是数据库实例是正在运行的

$ <GRID_HOME>/bin/crsctl stat res ora.racdb.db -t

--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.racdb.db
1 OFFLINE OFFLINE Corrupted Controlfile--->显示'Corrupted Controlfile'
2 ONLINE ONLINE rachost2 Open
3 ONLINE ONLINE rachost3 Open


$ <GRID_HOME>/bin/srvctl status database -d racdb
Instance racdb1 is not running on node rachost1
Instance racdb2 is running on node rachost2
Instance racdb3 is running on node rachost3


$ sqlplus / as sysdba
...
SQL> select INSTANCE_NAME, STATUS from gv$instance;

INSTANCE_NAME STATUS
---------------- ------------
racdb1 OPEN
racdb2 OPEN
racdb3 OPEN

 

实例的alert日志可能会显示如下的信息:

基于此结果,数据库服务不在 offline的instance 上运行。

 

原因:

Due to unpublished Bug 13257122 CRSD AGENT REPORT DB CONTROLFILE CORRUPTED BUT IT STILL ONLINE, CRSD agent reports corrupted control file for read error during fixed table query which is not a real corruption and caused by concurrent control file write.

解决方案

Bug 13257122 has been fixed in 11.2.0.4 and 12.1. Apply the patchset 11.2.0.4 should avoid the problem.

To workaround the issue, please try to re-start the instance via srvctl:

$ srvctl start instance -d racdb -i racdb1