1、編譯
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk ikfed
which kfed
kfed -help
kfed read /dev/raw/raw1 aunum=0 blknum=0 --asm頭塊的主要資訊
kfed read /dev/raw/raw1 blknum=510 --asm頭塊的主要資訊的一個備份
kfed repair /dev/raw/raw1 --磁盤頭損壞後,隻需此指令完成恢複
kfed read /dev/raw/raw1 aunum=2 blknum=1|more --讀取檔案目錄中繼資料:aunum取自磁盤頭的kfdhdb.f1b1locn
2、修複被覆寫的ASM中繼資料資訊
①儲存磁盤頭中繼資料
kfed read /dev/raw/raw1 aunum=0 blknum=0 text=raw1.txt
--kfed read /dev/raw/raw1 aunum=0 blknum=0 >raw2.txt
②模似磁盤中繼資料被覆寫
dd if=/dev/zero of=/dev/raw/raw1 bs=4096 count=1
③驗證磁盤頭中繼資料是否被損壞
kfed read /dev/raw/raw1 aunum=0 blknum=0
④用備份的檔案恢複磁盤頭中繼資料
kfed write /dev/raw/raw1 aunum=0 blknum=0 text=raw1.txt
⑤讀取恢複後的磁盤頭中繼資料
kfed read /dev/raw/raw1 aunum=0 blknum=0 text=newraw1.txt
⑥驗證磁盤頭中繼資料和用于恢複的備份檔案是否一緻
diff raw1.txt newraw1.txt
3、修複部分字段被損壞的asm中繼資料資訊
首先建立檔案asm1.txt,插入需要修複的磁盤頭中繼資料的部分字段,比如:
kfbh.hard: 130; 0x001: 0x82
以下指令使用編輯的檔案修複磁盤中繼資料的部分字段
kfed merge /dev/raw/raw1 aunum=0 blknum=0 text=asm1.txt