遇到一下错误
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15071: ASM disk "NOCR_0002" is already being dropped
背景描述
因为之前做了alter diskgroup NOCR drop disk NOCR_0002操作,但是因为这个NOCR_0002磁盘存在存储1上,在drop操作没有完成的时候直接将存储掉电,在后面将存储都启动后,这个磁盘的状态一直保持droping。
第一次尝试:
将NOCR_0002这个磁盘dd
dd if=/dev/zero of=/dev/raw/raw9 count=1024 bs=1M;
dd完成之后,重启了集群
root:crscttl stop cluster –all -à crsctl start cluster –all
重启之后,NOCR_0002的状态变为:
变成了两条记录
到此时,我认为删除失败了。这种方法,只能将/dev/raw/raw9中的磁盘头信息删除,然是在Udev服务的作用下,这个ASM磁盘组依然会现实在v$asm_disk列表中;但是在CRS注册表中,磁盘名称NOCR_0002以及它的故障组信息NOCR_0003信息并没有删除掉。
第二种方法
alter diskgroup NOCR undrop disks;
取消磁盘的删除操作,虽然这个时候 NOCR_0002这个磁盘和原本有对应关系的/dev/raw/raw9是两条记录,但是这个操作依然是完成了。
SQL> alter diskgroup NOCR undrop disks;
Diskgroup altered.
此时磁盘的状态如下:
然后执行我们熟悉的alter diskgroup NOCR drop disk NOCR_0002操作:
SQL> alter diskgroup NOCR drop disk NOCR_0002;
alter diskgroup NOCR drop disk NOCR_0002
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15084: ASM disk "NOCR_0002" is offline and cannot be dropped.
报错,使用force选项
SQL> alter diskgroup NOCR drop disk NOCR_0002 force;
Diskgroup altered.
至此,才将磁盘删除掉