love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客

Phone:18180207355 提供专业Oracle/MySQL/PostgreSQL数据恢复、性能优化、迁移升级、紧急救援等服务

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

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

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

从这几行信息来看,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都可以完美的解决这样的情况。

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

Leave a Reply

You must be logged in to post a comment.