ORA-15196: invalid ASM block header [kfc.c] [check_kfbh] [325] [2147483650] [2170461157 != 2170461165]
ORA-15196: 无效的 ASM 块标头 [:] [] [] [] [ != ]
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
是当ASM读取到无效的asm block header时的报错,相关的BUG NOTE如下:
check_kfbh的存在时为了检验块的一致性 ,会对整个块做一个32 bit xor 来对比现有check_kfbh,有点象block的checksum
The field check_kfbh is adjusted to ensure that a 32 bit xor of the whole block will be zero. Check values are always calculated before writing a
block to disk, but may not be accurate for a block in the buffer cache. In this example the check value is "8A 8B D0 AE" but since this is little
endian the actual value is "0xAED08B8A
BUG 13010760 - ORA-15196: INVALID ASM BLOCK HEADER [KFC.C:9133] [CHECK_KFBH] [2147483649] [8] 11.1.0.7.0
BUG 13829821 - ORA-15196 [KFC.C:25210] [CHECK_KFBH] [2147483649] [8] [2170839822 != 2170840087] 11.2.0.2.2
BUG 13978640 - LNX64-12.1-ASM:HIT ORA-15196:INVALID ASM BLOCK HEADER [KFC.C:27990] [CHECK_KFBH] 12.1
BUG 14827224 - PS:WIN64:ORA-15196:INVALID ASM BLOCK HEADER[KFC.C:28261] ON DB CREATE ON VMS 12.1
BUG 16025504 - ASM METADATA CORRUPTION DURING OAM SYSTEM TESTING 12.1
BUG 14020529 - RAC CLUSTER CRASH WITH ORA-15196 ERROR 10.2.0.4
BUG 14109859 - DISKGROUP ASM NOT POSSIBLE MOUNT - INSTANCE CRASH AND NOT OPEN 11.2.0.2
BUG 14740185 - ASM REPORTED CORRUPTED AT BLOCKS : ORA-15196: INVALID ASM BLOCK HEADER [KFC.C:23 11.2.0.1
BUG 13591322 - ORA-15196 AT BLOCK CORRUPTION 11.1.0.7
BUG 14676017 - NOT ABLE TO MOUNT ASM DISKGROUP ORA-15040 ORA-15042 11.2.0.3
BUG 14771123 - ORA-15335: ASM METADATA CORRUPTION DETECTED IN DISK GROUP 11.2.0.4
BUG 13952321 - ALL DBS DOWN DUE TO INVALID ASM BLOCK HEADER 11.2.0.1
BUG 14728558 - ASM REPORTED CORRUPTED METADATA & AT BLOCKS 11.1.0.7.0
对于该问题 建议:
1、首先要检查 OS是否存在IO丢失的问题,例如 AIX上执行 errpt ,Linux查看os log 和dmesg
2、 检查RAC的多个节点上存储设备名是否一致
3、 考虑执行
' alter diskgroup check norepair'来检查ASM diskgroup
4、11.2中如果遇到上述情况会自动使用amdu工具dump ASM disk其trace一般在ASM对应的user dump下 ,如NOTE: AMDU dump of disk group MAC created at /oracle/diag/asm/+asm/+ASM3/
trace, 整个AMDU trace里包含了很有用的信息,如果存在大量的AMDU-00209: Corrupt block found: Disk N0072 AU [26127] block [94] type [0]信息,和看到 Corrupt metadata blocks: 320 大量损坏的元数据块, 则说明该问题一般是由于 OS层或者磁盘/存储硬件层引起的,因为不太可能有ASM的bug 会造成这么大量的损坏, 解释成丢失更新 Lost Update也不合理
5、实际上如果你和我一样检阅过上面全部的BUG Note,你会发现没有个BUG note是最终定位为real bug的,这些SR/Bug Note最终要么不了了之,要么查出来确实是OS或者硬盘/存储有问题;所以对于这个问题提交SR的效率很低, 往往找OS和存储厂商一起检查更有效率
6、如果你真的遇到了该问题,那么如果坏掉的元数据块(metadata block)比较少的话,可以请相关的ASM专家手工帮你修复,具体也可以
找ASKMACLEAN专业数据库修复团队成员帮您恢复。切记不要在无备份ASM header的情况下操作,否则可能丢失恢复数据的最后一线希望。