修改ASM故障需要用到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





**********本博客所有内容均为原创,如有转载请注明作者和出处!!!**********
Name:    guoyJoe

QQ:        252803295

Email:    [email protected]

Blog:      http://blog.csdn.net/guoyJoe

ITPUB:   http://www.itpub.net/space-uid-28460966.html

OCM:     http://education.oracle.com/education/otn/YGuo.HTM
 _____________________________________________________________
加群验证问题:哪些SGA结构是必需的,哪些是可选的?否则拒绝申请!!!

答案在:http://blog.csdn.net/guoyjoe/article/details/8624392

Oracle@Paradise  总群:127149411

Oracle@Paradise No.1群:177089463(已满)

Oracle@Paradise No.2群:121341761

Oracle@Paradise No.3群:140856036