我的環境為12c (12.1.0.2)
主要是在手動kill RAC instance 2 兩次以後,
ora.${SID}.db 的資源AUTO_START狀態, 從always 就自動被改成restore(猜想應該是一種保護機制)
[grid@db1 ~]$ crsctl modify resource ora.msg.db -attr AUTO_START=1
CRS-4995: The command 'Modify resource' is invalid in crsctl. Use srvctl for this command.
[grid@db1 ~]$ crs_stat -p ora.msg.db
NAME=ora.msg.db
TYPE=ora.database.type
ACTION_SCRIPT=
ACTIVE_PLACEMENT=0
AUTO_START=restore
CHECK_INTERVAL=1
DESCRIPTION=Oracle Database resource
FAILOVER_DELAY=0
FAILURE_INTERVAL=60
FAILURE_THRESHOLD=1
GEN_USR_ORA_INST_NAME@SERVERNAME(db1)=msg1
GEN_USR_ORA_INST_NAME@SERVERNAME(db2)=msg2
HOSTING_MEMBERS=
PLACEMENT=restricted
RESTART_ATTEMPTS=2
SCRIPT_TIMEOUT=60
START_TIMEOUT=600
STOP_TIMEOUT=600
UPTIME_THRESHOLD=1h
USR_ORA_INST_NAME@SERVERNAME(db1)=msg1
USR_ORA_INST_NAME@SERVERNAME(db2)=msg2
解決辦法
As root:
[root@db1 ~]# /u01/app/12.1.0/grid/bin/crsctl modify res ora.msg.db -attr "AUTO_START=always" -unsupported
[root@db1 ~]# su - grid
[grid@db1 ~]$ crs_stat -p ora.msg.db
NAME=ora.msg.db
TYPE=ora.database.type
ACTION_SCRIPT=
ACTIVE_PLACEMENT=0
AUTO_START=always
CHECK_INTERVAL=1
DESCRIPTION=Oracle Database resource
FAILOVER_DELAY=0
FAILURE_INTERVAL=60
FAILURE_THRESHOLD=1
GEN_USR_ORA_INST_NAME@SERVERNAME(db1)=msg1
GEN_USR_ORA_INST_NAME@SERVERNAME(db2)=msg2
HOSTING_MEMBERS=
PLACEMENT=restricted
RESTART_ATTEMPTS=2
SCRIPT_TIMEOUT=60
START_TIMEOUT=600
STOP_TIMEOUT=600
UPTIME_THRESHOLD=1h
USR_ORA_INST_NAME@SERVERNAME(db1)=msg1
USR_ORA_INST_NAME@SERVERNAME(db2)=msg2
Ref:
http://www.dbastuff.net/2014/11/oracle-issue-running-12102-clusterware.html
沒有留言:
張貼留言