遇到一下錯誤
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.
至此,才將磁盤刪除掉