天天看點

kfed元數編輯工具

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

繼續閱讀