Recovery

以 NORMAL 冗餘恢復磁碟

  • October 15, 2016

正如我們所知,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;

磁碟組已更改。

引用自:https://dba.stackexchange.com/questions/152371