操作溯源:
删除了一个磁盘组(NEW_ASM_DATA)后没有及时在crs里更新,这样当你重启crs后 db不会起来,因为crs里仍然记录以前的 diskgroup
操作命令如下:
-- 所有节点卸载数据组
alter diskgroup ASM_NEW_DATA dismount;
-- 强制删除
drop diskgroup ASM_NEW_DATA FORCE including contents;
报错:
-- 通过集群启动数据库
[grid@test010rac01 ~]$srvctl start instance -d test
PRCR-1013 : Failed to start resource ora.test .db
PRCR-1064 : Failed to start resource ora.test .db
CRS-2640: Required resource 'ora.NEW_ASM_DATA.dg' is missin
集群状态:
[grid@test010rac01 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ARCH.dg
ONLINE ONLINE test010rac01
ONLINE ONLINE test010rac02
ONLINE ONLINE test010rac03
ONLINE ONLINE test010rac04
ora.CRS.dg
ONLINE ONLINE test010rac01
ONLINE ONLINE test010rac02
ONLINE ONLINE test010rac03
ONLINE ONLINE test010rac04
ora.DATA.dg
ONLINE ONLINE test010rac01
ONLINE ONLINE test010rac02
ONLINE ONLINE test010rac03
ONLINE ONLINE test010rac04
ora.LISTENER.lsnr
ONLINE ONLINE test010rac01
ONLINE ONLINE test010rac02
ONLINE ONLINE test010rac03
ONLINE ONLINE test010rac04
ora.NEW_DATA.dg
ONLINE ONLINE test010rac01
ONLINE ONLINE test010rac02
ONLINE ONLINE test010rac03
ONLINE ONLINE test010rac04
ora.asm
ONLINE ONLINE test010rac01 Started
ONLINE ONLINE test010rac02 Started
ONLINE ONLINE test010rac03 Started
ONLINE ONLINE test010rac04 Started
ora.gsd
OFFLINE OFFLINE test010rac01
OFFLINE OFFLINE test010rac02
OFFLINE OFFLINE test010rac03
OFFLINE OFFLINE test010rac04
ora.net1.network
ONLINE ONLINE test010rac01
ONLINE ONLINE test010rac02
ONLINE ONLINE test010rac03
ONLINE ONLINE test010rac04
ora.ons
ONLINE ONLINE test010rac01
ONLINE ONLINE test010rac02
ONLINE ONLINE test010rac03
ONLINE ONLINE test010rac04
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE test010rac01
ora.test010rac01.vip
1 ONLINE ONLINE test010rac01
ora.test010rac02.vip
1 ONLINE ONLINE test010rac02
ora.test010rac03.vip
1 ONLINE ONLINE test010rac03
ora.test010rac04.vip
1 ONLINE ONLINE test010rac04
ora.cvu
1 ONLINE ONLINE test010rac01
ora.oc4j
1 ONLINE ONLINE test010rac02
ora.test.db
1 ONLINE OFFLINE
2 OFFLINE OFFLINE
3 OFFLINE OFFLINE
4 OFFLINE OFFLINE
ora.scan1.vip
1 ONLINE ONLINE test010rac01
crs配置信息
[grid@test010rac04 ~]$ crsctl status resource ora.test.db -f
NAME=ora.test.db
TYPE=ora.database.type
STATE=OFFLINE
TARGET=ONLINE
ACL=owner:oracle:rwx,pgrp:oinstall:rwx,other::r--
ACTION_FAILURE_TEMPLATE=
ACTION_SCRIPT=
ACTIVE_PLACEMENT=1
AGENT_FILENAME=%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%
AUTO_START=restore
CARDINALITY=4
CARDINALITY_ID=0
CHECK_INTERVAL=1
CHECK_TIMEOUT=30
CLUSTER_DATABASE=true
CREATION_SEED=191
DATABASE_TYPE=RAC
DB_UNIQUE_NAME=test
DEFAULT_TEMPLATE=PROPERTY(RESOURCE_CLASS=database) PROPERTY(DB_UNIQUE_NAME= CONCAT(PARSE(%NAME%, ., 2), %USR_ORA_DOMAIN%, .)) ELEMENT(INSTANCE_NAME= %GEN_USR_ORA_INST_NAME%) ELEMENT(DATABASE_TYPE= %DATABASE_TYPE%)
DEGREE=1
DESCRIPTION=Oracle Database resource
ENABLED=1
FAILOVER_DELAY=0
FAILURE_INTERVAL=60
FAILURE_THRESHOLD=1
GEN_AUDIT_FILE_DEST=/u01/oracle/admin/test/adump
GEN_START_OPTIONS=
GEN_START_OPTIONS@SERVERNAME(test010rac01)=open
GEN_START_OPTIONS@SERVERNAME(test010rac02)=open
GEN_START_OPTIONS@SERVERNAME(test010rac03)=open
GEN_START_OPTIONS@SERVERNAME(test010rac04)=mount
GEN_USR_ORA_INST_NAME=
GEN_USR_ORA_INST_NAME@SERVERNAME(test010rac01)=rac1
GEN_USR_ORA_INST_NAME@SERVERNAME(test010rac02)=rac2
GEN_USR_ORA_INST_NAME@SERVERNAME(test010rac03)=rac3
GEN_USR_ORA_INST_NAME@SERVERNAME(test010rac04)=rac4
HOSTING_MEMBERS=
ID=ora.test.db
INSTANCE_FAILOVER=0
LOAD=1
LOGGING_LEVEL=1
MANAGEMENT_POLICY=AUTOMATIC
NLS_LANG=
NOT_RESTARTING_TEMPLATE=
OFFLINE_CHECK_INTERVAL=0
ONLINE_RELOCATION_TIMEOUT=0
ORACLE_HOME=/u01/oracle/11.2.0.3/product
ORACLE_HOME_OLD=
PLACEMENT=restricted
PROFILE_CHANGE_TEMPLATE=
RESTART_ATTEMPTS=2
ROLE=PRIMARY
SCRIPT_TIMEOUT=60
SERVER_POOLS=ora.test
SPFILE=+DATA/test/spfilepay.ora
START_DEPENDENCIES=hard(ora.DATA.dg,ora.ASM_NEW_DATA.dg) weak(type:ora.listener.type,global:type:ora.scan_listener.type,uniform:ora.ons,global:ora.gns,ora.ARCH.dg) pullup(ora.DATA.dg,ora.ASM_NEW_DATA.dg)
START_TIMEOUT=600
STATE_CHANGE_TEMPLATE=
STOP_DEPENDENCIES=hard(intermediate:ora.asm,shutdown:ora.DATA.dg,shutdown:ora.ASM_NEW_DATA.dg)
STOP_TIMEOUT=600
TYPE_VERSION=3.2
UPTIME_THRESHOLD=1h
USR_ORA_DB_NAME=test
USR_ORA_DOMAIN=
USR_ORA_ENV=
USR_ORA_FLAGS=
USR_ORA_INST_NAME=
USR_ORA_INST_NAME@SERVERNAME(test010rac01)=rac1
USR_ORA_INST_NAME@SERVERNAME(test010rac02)=rac2
USR_ORA_INST_NAME@SERVERNAME(test010rac03)=rac3
USR_ORA_INST_NAME@SERVERNAME(test010rac04)=rac4
USR_ORA_OPEN_MODE=open
USR_ORA_OPI=false
USR_ORA_STOP_MODE=immediate
VERSION=11.2.0.3.0
修改crs配置信息
[grid@test010rac04 ~]$ srvctl modify database -d test-a "DATA,NEW_DATA"
通过集群启动数据库:
[grid@test010rac04 ~]$ srvctl start database -d test
查看数据库状态:
[grid@test010rac04 ~]$ crsctl stat res -t
ora.test.db
1 ONLINE ONLINE test010rac01 Open
2 ONLINE ONLINE test010rac02 Open
3 ONLINE ONLINE test010rac03 Open
4 ONLINE ONLINE test010rac04 Open