IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh]

    admin发表于 2015-01-29 09:54:25
    love 0

    本站文章除注明转载外,均为本站原创: 转载自love wife & love life —Roger 的Oracle技术博客

    本文链接地址: ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh]

    这是某个网友的数据库,11g ASM环境. 其中ASM元数据出现损坏,导致DiskGroup无法mount。不过比较万幸的存储有镜像。即使是这样,据说存储工程师恢复也花了1天多,对于我们的业务系统来讲,这是不可接受的。
    我这里将该数据库case的信息贴出来,供大家参考!(备注:我们提供完善的数据库各种解决方案,详情请看:云和恩墨)

    WARNING: cache read  a corrupt block: group=3(DATAVG) dsk=27 blk=1 disk=27 (DATAVG_0018) incarn=4042368416 au=0 blk=1 count=1
    Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_2711.trc:
    ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh] [2147483675] [1] [0 != 130]
    NOTE: a corrupted block from group DATAVG was dumped to /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_2711.trc
    WARNING: cache read (retry) a corrupt block: group=3(DATAVG) dsk=27 blk=1 disk=27 (DATAVG_0018) incarn=4042368416 au=0 blk=1 count=1
    Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_2711.trc:
    ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh] [2147483675] [1] [0 != 130]
    ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh] [2147483675] [1] [0 != 130]
    ERROR: cache failed to read group=3(DATAVG) dsk=27 blk=1 from disk(s): 27(DATAVG_0018)
    ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh] [2147483675] [1] [0 != 130]
    ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh] [2147483675] [1] [0 != 130]
    NOTE: cache initiating offline of disk 27 group DATAVG
    NOTE: process _user2711_+asm1 (2711) initiating offline of disk 27.4042368416 (DATAVG_0018) with mask 0x7e in group 3
    WARNING: Disk 27 (DATAVG_0018) in group 3 in mode 0x7f is now being taken offline on ASM inst 1
    NOTE: initiating PST update: grp = 3, dsk = 27/0xf0f1a5a0, mask = 0x6a, op = clear
    Wed Jan 28 10:41:11 2015
    GMON updating disk modes for group 3 at 13 for pid 36, osid 2711
    ERROR: Disk 27 cannot be offlined, since diskgroup has external redundancy.
    ERROR: too many offline disks in PST (grp 3)
    Wed Jan 28 10:41:11 2015
    NOTE: cache dismounting (not clean) group 3/0xB80155A0 (DATAVG)
    NOTE: messaging CKPT to quiesce pins Unix process pid: 3013, image: oracle@rsdb01 (B000)
    Wed Jan 28 10:41:11 2015
    NOTE: halting all I/Os to diskgroup 3 (DATAVG)
    Wed Jan 28 10:41:11 2015
    NOTE: LGWR doing non-clean dismount of group 3 (DATAVG)
    NOTE: LGWR sync ABA=114.216 last written ABA 114.216
    WARNING: Offline of disk 27 (DATAVG_0018) in group 3 and mode 0x7f failed on ASM inst 1
    System State dumped to trace file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_2711.trc
    Wed Jan 28 10:41:11 2015
    kjbdomdet send to inst 2
    detach from dom 3, sending detach message to inst 2
    Wed Jan 28 10:41:11 2015
    List of instances:
     1 2
    Dirty detach reconfiguration started (new ddet inc 1, cluster inc 20)
     Global Resource Directory partially frozen for dirty detach
    * dirty detach - domain 3 invalid = TRUE
    1152 GCS resources traversed, 0 cancelled
    Dirty Detach Reconfiguration complete
    Wed Jan 28 10:41:11 2015
    WARNING: dirty detached from domain 3
    NOTE: cache dismounted group 3/0xB80155A0 (DATAVG)
    SQL> alter diskgroup DATAVG dismount force /* ASM SERVER */
    Wed Jan 28 10:41:12 2015
    ERROR: ORA-15130 in COD recovery for diskgroup 3/0xb80155a0 (DATAVG)
    ERROR: ORA-15130 thrown in RBAL for group number 3
    Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_rbal_2389.trc:
    ORA-15130: diskgroup "DATAVG" is being dismounted
    ERROR: ORA-15130 in COD recovery for diskgroup 3/0xb80155a0 (DATAVG)
    ERROR: ORA-15130 thrown in RBAL for group number 3
    Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_rbal_2389.trc:
    ORA-15130: diskgroup "DATAVG" is being dismounted
    ERROR: ORA-15130 in COD recovery for diskgroup 3/0xb80155a0 (DATAVG)
    ERROR: ORA-15130 thrown in RBAL for group number 3
    Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_rbal_2389.trc:
    ORA-15130: diskgroup "DATAVG" is being dismounted
    NOTE: AMDU dump of disk group DATAVG created at /u01/app/grid/diag/asm/+asm/+ASM1/trace
    NOTE: cache deleting context for group DATAVG 3/0xb80155a0
    GMON dismounting group 3 at 14 for pid 37, osid 3013
    NOTE: Disk  in mode 0x8 marked for de-assignment
    .......
    NOTE: Disk  in mode 0x8 marked for de-assignment
    NOTE: Disk  in mode 0x8 marked for de-assignment
    SUCCESS: diskgroup DATAVG was dismounted
    SUCCESS: alter diskgroup DATAVG dismount force /* ASM SERVER */
    ERROR: PST-initiated MANDATORY DISMOUNT of group DATAVG
    Wed Jan 28 10:41:20 2015
    NOTE: diskgroup resource ora.DATAVG.dg is offline
    Wed Jan 28 10:41:26 2015
    NOTE: ASM client rsdb1:rsdb disconnected unexpectedly.
    NOTE: check client alert log.
    NOTE: Trace records dumped in trace file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_2667.trc

    从上述错误我们可以判断,ASM DISKGROUP无法mount。报错的原因是如下:

    WARNING: cache read  a corrupt block: group=3(DATAVG) dsk=27 blk=1 disk=27 (DATAVG_0018) incarn=4042368416 au=0 blk=1 count=1
    Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_2711.trc:
    ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh] [2147483675] [1] [0 != 130]

    从这几行信息来看,DATAVG磁盘组的第27号盘的第0个AU的第1号block损坏了。 实际上,这就是disk header损坏了。

    下面针对ORA-15196错误进行简单解释:

    ORA-15196: invalid ASM block header [kfc.c:26076] [hard_kfbh] [2147483675] [1] [0 != 130]

    [kfc.c:26076]: 表示运行kfc.c代码的第26076行出现问题
    [hard_kfbh]:    表示检查失败的类型
    [2147483675]:  表示file number
    [1]:           表示block number
    [0 != 130]:     表示该处的值,当前是0,检测发现实际上应该是130才对.

    实际上,对于这样的错误,一旦出现,ASM元数据损坏的不仅仅是磁盘头。经过我们判断,至少前面4M的ASM元数据都已经
    损坏。对于这样的情况,可能使用AMDU是无法进行数据文件的抽取的。

    一般来讲,对于是external的DiskGroup,前面42M的ASM元数据如果不是彻底损坏,那么DiskGroup中的数据都是比较容易弄出来的。

    如果损坏非常严重,那么可能只能使用数据库抽取工具进行扫盘。目前DUL或ODU都可以完美的解决这样的情况。

    如果你遇到类似的数据库故障,那么请第一时间联系我们!

    Related posts:

    1. 不完全详解os block header
    2. 关于ora-1652的一点总结–续(详解rowid,index entry header)
    3. Where is the backup of ASM disk header block? –补充
    4. 最近迁移恢复中遇到的几个小问题
    5. oracle asm 剖析系列(1) –disk header


沪ICP备19023445号-2号
友情链接