ITPub博客

首页 > 数据库 > Oracle > asm磁盘组依赖导致数据库自启动报错

asm磁盘组依赖导致数据库自启动报错

原创 Oracle 作者:yingyifeng306 时间:2018-12-14 10:31:17 0 删除 编辑

重启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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
ITpub论坛高可用版主,擅长研究Oracle 内部原理、新特性、高可用和性能调优等,多年来一直保持着对新事务旺盛的求知欲。热切关注 Oracle 和其它相关技术

注册时间:2011-10-12

  • 博文量
    84
  • 访问量
    1375183