asm磁碟組依賴導致資料庫自啟動報錯

yingyifeng306發表於2018-12-14

重啟os發現資料庫沒有自動起來,其別都正常啟動了,手工啟動也報錯

[oracle@hca1 ~]$ srvctl start database -d orcl

PRCR-1079 : Failed to start resource ora.orcl.db

CRS-5017: The resource action "ora.HCA1_CACHE.dg start" encountered the following error: 

ORA-15032: not all alterations performed

ORA-15017: diskgroup "HCA1_CACHE" cannot be mounted

在此之前已經遷移了這個磁碟組上的所有檔案,包括redo,spfile,datafile,tempfile,controlfile,且透過srvctl 重啟過例項沒問題,但是沒有重啟叢集,而是直接重啟了OS,結果發現例項沒有自動啟動,但是透過sqlplus能手工啟動資料庫

[grid@hca1 ~]$ crs_stat -t

Name           Type           Target    State     Host        

————————————————————

ora…._10G.dg ora….up.type ONLINE    ONLINE    hca1        

ora….ACHE.dg ora….up.type ONLINE    OFFLINE              

ora….500G.dg ora….up.type ONLINE    ONLINE    hca1        

ora….ACHE.dg ora….up.type ONLINE    OFFLINE               

ora….500G.dg ora….up.type ONLINE    ONLINE    hca1        

ora….ACHE.dg ora….up.type ONLINE    ONLINE    hca1        

ora….ER.lsnr ora….er.type ONLINE    ONLINE    hca1        

ora….N1.lsnr ora….er.type ONLINE    ONLINE    hca1        

ora.OCR.dg     ora….up.type ONLINE    ONLINE    hca1        

ora.asm        ora.asm.type   ONLINE    ONLINE    hca1        

ora.cvu        ora.cvu.type   ONLINE    ONLINE    hca1        

ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               

ora….SM1.asm application    ONLINE    ONLINE    hca1        

ora….A1.lsnr application    ONLINE    ONLINE    hca1        

ora.hca1.gsd   application    OFFLINE   OFFLINE               

ora.hca1.ons   application    ONLINE    ONLINE    hca1        

ora.hca1.vip   ora….t1.type ONLINE    ONLINE    hca1        

ora….SM2.asm application    ONLINE    ONLINE    hca2        

ora….A2.lsnr application    ONLINE    ONLINE    hca2        

ora.hca2.gsd   application    OFFLINE   OFFLINE               

ora.hca2.ons   application    ONLINE    ONLINE    hca2        

ora.hca2.vip   ora….t1.type ONLINE    ONLINE    hca2        

ora….network ora….rk.type ONLINE    ONLINE    hca1        

ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    hca1        

ora.ons        ora.ons.type   ONLINE    ONLINE    hca1        

ora.orcl.db    ora….se.type ONLINE    OFFLINE               

ora….est.svc ora….ce.type ONLINE    OFFLINE               

ora….ry.acfs ora….fs.type ONLINE    ONLINE    hca1        

ora.scan1.vip  ora….ip.type ONLINE    ONLINE    hca1    


這兩個顯示offline的磁碟組已經在之前透過drop diskgroup  成功刪除了,看來沒有刪乾淨,手工刪除

[grid@hca1 ~]$ srvctl remove diskgroup -g hca1_cache

PRCA-1002 : Failed to remove CRS resource ora.HCA1_CACHE.dg for ASM Disk Group hca1_cache

PRCR-1028 : Failed to remove resource ora.HCA1_CACHE.dg

PRCR-1072 : Failed to unregister resource ora.HCA1_CACHE.dg

CRS-0222: Resource 'ora.HCA1_CACHE.dg' has dependency error.


[oracle@hca1 ~]$ srvctl remove diskgroup -g hca2_cache

PRCA-1002 : Failed to remove CRS resource ora.HCA2_CACHE.dg for ASM Disk Group hca2_cache

PRCR-1028 : Failed to remove resource ora.HCA2_CACHE.dg

PRCR-1072 : Failed to unregister resource ora.HCA2_CACHE.dg

CRS-0222: Resource 'ora.HCA2_CACHE.dg' has dependency error.

提示有依賴,強制刪除

[oracle@hca1 ~]$ srvctl remove diskgroup -g hca1_cache -f

[oracle@hca1 ~]$ srvctl remove diskgroup -g hca2_cache -f

[grid@hca1 ~]$ crs_stat -t

Name           Type           Target    State     Host        

————————————————————

ora…._10G.dg ora….up.type ONLINE    ONLINE    hca1        

ora….500G.dg ora….up.type ONLINE    ONLINE    hca1        

ora….500G.dg ora….up.type ONLINE    ONLINE    hca1        

ora….ACHE.dg ora….up.type ONLINE    ONLINE    hca1        

ora….ER.lsnr ora….er.type ONLINE    ONLINE    hca1        

ora….N1.lsnr ora….er.type ONLINE    ONLINE    hca1        

ora.OCR.dg     ora….up.type ONLINE    ONLINE    hca1        

ora.asm        ora.asm.type   ONLINE    ONLINE    hca1        

ora.cvu        ora.cvu.type   ONLINE    ONLINE    hca1        

ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               

ora….SM1.asm application    ONLINE    ONLINE    hca1        

ora….A1.lsnr application    ONLINE    ONLINE    hca1        

ora.hca1.gsd   application    OFFLINE   OFFLINE               

ora.hca1.ons   application    ONLINE    ONLINE    hca1        

ora.hca1.vip   ora….t1.type ONLINE    ONLINE    hca1        

ora….SM2.asm application    ONLINE    ONLINE    hca2        

ora….A2.lsnr application    ONLINE    ONLINE    hca2        

ora.hca2.gsd   application    OFFLINE   OFFLINE               

ora.hca2.ons   application    ONLINE    ONLINE    hca2        

ora.hca2.vip   ora….t1.type ONLINE    ONLINE    hca2        

ora….network ora….rk.type ONLINE    ONLINE    hca1        

ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    hca1        

ora.ons        ora.ons.type   ONLINE    ONLINE    hca1        

ora.orcl.db    ora….se.type ONLINE    ONLINE    hca1        

ora….est.svc ora….ce.type ONLINE    ONLINE    hca2        

ora….ry.acfs ora….fs.type ONLINE    ONLINE    hca1        

ora.scan1.vip  ora….ip.type ONLINE    ONLINE    hca1 

offline的磁碟組已經消失,但是啟動還是提示老磁碟組不能mount

[grid@hca1 ~]$ srvctl start database -d orcl

檢查資料庫屬性

[grid@hca1 ~]$ srvctl config database -d orcl -a

Database unique name: orcl

Database name: 

Oracle home: /oracle/app/oracle/product/11.2.0/db_1

Oracle user: oracle

Spfile: +HCA1_SDD1_500G/orcl/spfileorcl.ora

Domain: 

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: orcl

Database instances: orcl1,orcl2

PRCD-1012 : Failed to retrieve disk group list for database orcl.

PRCR-1035 : Failed to look up CRS resource ora.HCA1_CACHE.dg for orcl

PRCA-1000 : ASM Disk Group HCA1_CACHE does not exist

PRCR-1001 : Resource ora.HCA1_CACHE.dg does not exist

檢查一個正常的11grac,透過srvctl config db -d orcl -a 看到有一行Disk Groups: DATA ,看來就是這個依賴選項沒有改導致的

[grid@hca1 ~]$ srvctl modify db -d orcl -a hca1_sdd1_500g

PRCD-1163 : Failed to modify database orcl

PRCR-1071 : Failed to register or update resource ora.orcl.db

CRS-0245:  User doesn't have enough privilege to perform the operation

[root@hca1 ~]# /oracle/app/11.2.0/grid/bin/srvctl modify db -d orcl -a hca1_sdd1_500g

[root@hca1 ~]# /oracle/app/11.2.0/grid/bin/srvctl config db -d orcl -a 

Database unique name: orcl

Database name: 

Oracle home: /oracle/app/oracle/product/11.2.0/db_1

Oracle user: oracle

Spfile: +HCA1_SDD1_500G/orcl/spfileorcl.ora

Domain: 

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: orcl

Database instances: orcl1,orcl2

Disk Groups: HCA1_SDD1_500G

Mount point paths: 

Services: test

Type: RAC

Database is enabled

Database is administrator managed


再次啟動成功

[grid@hca1 ~]$ srvctl start database -d orcl

如果刪除遷移資料庫到新的磁碟組之後刪除了了最初建立例項的磁碟組,則不光要srvctl 修改spfile還要修改這個依賴磁碟組屬性


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23732248/viewspace-2285230/,如需轉載,請註明出處,否則將追究法律責任。

相關文章