检查详细情况

检查ocr详细情况

ocrcheck

检查仲裁盘的详细情况

crsctl query css votedisk

查询ASM磁盘具体映射情况

COLUMN PATH FORMAT A20;
COLUMN name FORMAT A20;
SET LINESIZE 500
select dg.NAME as disk_group,d.NAME,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,PATH from V$ASM_DISK d ,V$ASM_DISKGROUP dg
where d.GROUP_NUMBER=dg.GROUP_NUMBER
order by dg.NAME;

破坏一块磁盘(注意OCR_VOTE2上就这一块磁盘)

dd if=/dev/zero of=/dev/asm-diskh bs=1024k count=20

恢复步骤

查看节点

olsnodes

强制关闭两个节点的集群

第一种方法

crsctl stop crs -f

另外一种方法

sudo su - grid关闭实例

sqlplus / as sysasm
SQL> shutdown abort;
ps -ef |grep ora|awk '{print $2}'|xargs kill -9
ps -ef |grep asm|awk '{print $2}'|xargs kill -9
ps -ef |grep grid|awk '{print $2}'|xargs kill -9

在一个节点上执行

crsctl start crs -excl -nocrs  (表示不启动crsd进程)
crsctl stop resource ora.crsd -init

查询现有的集群磁盘状态

sudo su - grid
select name,state from v$asm_diskgroup;

磁盘可能有些信息,进行强制的DROP

drop diskgroup OCR_VOTE2 force including contents;

重建磁盘组

create diskgroup OCR_VOTE2 external redundancy disk '/dev/asm-diskh' ;

修改磁盘属性(很重要)

ALTER DISKGROUP OCR_VOTE2 SET ATTRIBUTE 'compatible.asm' = '11.2.0.0.0' ;
ALTER DISKGROUP OCR_VOTE2 SET ATTRIBUTE 'compatible.rdbms' = '11.2.0.0.0';
ALTER DISKGROUP OCR_VOTE2 SET ATTRIBUTE 'compatible.advm' = '11.2.0.0.0';

查看OCR备份信息

ocrconfig -showbackup

利用OCR备份恢复OCR

重启一下集群,crsctl stop/start crs,再执行还原
ocrconfig -restore /grid/grid_home/cdata/testdb-cluster/backup_20210527_191116.ocr
ocrcheck

表决盘恢复

刚刚恢复了OCR,接着恢复仲裁盘,执行以下命令
crsctl query css votedisk
将表决盘恢复到+OCR_VOTE2,也可以恢复到其他磁盘组
crsctl replace votedisk +OCR_VOTE2
crsctl query css votedisk
crsctl stop crs -f

启动集群

crsctl start crs

crsctl check cluster -all
crsctl stat res -t
用grid用户来进行验证
cluvfy comp ocr -n all -verbose
cluvfy comp vdisk -n all -verbose