Recovery
以 NORMAL 冗餘恢復磁碟
正如我們所知,NORMAL 冗餘意味著每個塊有 2 個副本。
我創建了磁碟組:
CREATE DISKGROUP FG NORMAL REDUNDANCY FAILGROUP controller1 DISK 'ORCL:DISK3' NAME disk3 FAILGROUP controller2 DISK 'ORCL:DISK4' NAME disk4;
我第一次清除了少量的塊。
dd bs=1024 count=200 if=/dev/zero of=/dev/oracleasm/disks/DISK3
我有損壞的標題。而且我能夠通過 kfed 修復來修復它,因為標題的第二個副本(位於 aus=0 bs=256 中)可用。
kfed repair /dev/oracleasm/disks/DISK3 ausz=4194304
並且已經修復。
但是當我損壞了整個磁碟時(磁碟大小為 1GB)
dd bs=1M count=1024 if=/dev/zero of=/dev/oracleasm/disks/DISK3
我無法使用 kfed 恢復磁碟
[oracle@node1 ~]$ kfed repair /dev/oracleasm/disks/DISK3 ausz=4194304 KFED-00320: Invalid block num1 = [0], num2 = [1], error = [endian_kfbh]
當我擁有其他磁碟正常的 NORMAL 冗餘磁碟組時,我不能拯救磁碟嗎?
kfed
僅用於訪問 asm 磁碟頭和元數據 - 如果磁碟完全損壞,它不會幫助您。您應該使壞磁碟離線並使用剩餘的好磁碟恢復磁碟組。
問候,喬尼
解決方案 :
SQL> alter diskgroup fg drop disk disk3 force;
磁碟組已更改。
SQL> alter diskgroup fg add disk ‘ORCL:DISK3’ name disk3;
磁碟組已更改。