【ASK_ORACLE】Oracle表决磁盘丢失后的恢复方法

来源:这里教程网 时间:2026-03-03 18:17:00 作者:

前言表决磁盘的丢失往往会导致ASM实例无法启动,那么CRS就无法访问到存放在ASM磁盘组中的表决盘和OCR。 解决步骤分为三大步:l  重新创建表决磁盘l  拉起CRSl  恢复OCR 

实验环境

搭建平台:VMware Workstation

OS:OL 6.10

DB:Oracle 11.2.0.4 具体步骤 一、重新创建表决磁盘 1. 使用root关闭所有节点的CRS$ su -# $GI_HOME/bin/crsctl stop crs   ##需要在每个节点执行, 如果关闭不了,可以添加“-f”参数强制关闭  2. 重建丢失的表决磁盘 将CRS启动到exclusive模式,CRS会在该模式下重新自动创建丢失的表决磁盘:$ su -# $GI_HOME/bin/crsctl start crs -excl  3. 强制挂载表决磁盘所在的磁盘组# su - grid$ sqlplus / as sysasmsql>alter diskgroup <磁盘组的名字> mount force;比如:sql>alter diskgroup OCR mount force;注: 等待rebalance结束后,需要卸载这个磁盘组!命令:SQL> alter diskgroup <磁盘组的名字> dismount;   二、拉起CRS 1. 重启该节点的CRS,并强制挂载其他非表决磁盘的磁盘组(挂载命令与第3步一致),比如data磁盘组  2. 启动所有节点的CRS$ su -# $GI_HOME/bin/crsctl start crs  ##每个节点都要执行   三、恢复OCR 1.查看OCR的已有备份并检查备份是否成功$ su -# $GI_HOME/bin/ocrconfig -showbackup# $GI_HOME/bin/ocrdump -backupfile <备份文件名>  2. 停止所有节点的CRS$ su -# $GI_HOME/bin/crsctl stop crs  3. 将crs启动到exclusive模式# $GI_HOME/bin/crsctl start crs -excl -nocrs注: 一定要添加参数“-nocrs”,不然ASM实例会挂掉!  4. 创建磁盘组sql>create diskgroup <磁盘组名> normal redundancy disk '<磁盘在OS上的绝对路径>' FORCE ATTRIBUTE 'compatible.asm'='11.2.0.4.0','compatible.rdbms'='11.2.0.4.0','au_size'='4M','cell.smart_scan_capable'='TRUE';  ##au_size参数建议改成4M  5. 使用OCR备份进行OCR的恢复从第1步的备份清单中选取一个备份来进行恢复操作,恢复命令:# $GI_HOME/bin/ocrconfig -restore <备份文件名>  6. 校验OCR并查看表决磁盘状态# $GI_HOME/bin/ocrcheck  ##校验OCR# $GI_HOME/bin/crsctl start resource ora.crsd -init  ##启动crsd# $GI/bin/crsctl query css votedisk  ##查看表决磁盘状态, 被重建的磁盘组里面应该是空的  7. 添加表决盘# $GI_HOME/bin/crsctl replace votedisk <磁盘组名>  8. 重启CRS  9. 再次校验OCR和表决磁盘# $GI_HOME/bin/crsctl query css votedisk# $GI_HOME/bin/ocrcheck  10. 最后启动整个集群# $GI_HOME/bin/crsctl start cluster -all    ##或者在每个节点都执行启动CRS的操作

相关推荐