【ASM数据恢复】ORA-15196 invalid ASM block header [kfc.c] [check_kfbh]错误解析 ORA-15196: 无效的 ASM 块标头 [:] [] [] [] [ != ]

ORA-15196: invalid ASM block header [kfc.c] [check_kfbh] [325] [2147483650] [2170461157 != 2170461165]

ORA-15196: 无效的 ASM 块标头 [:] [] [] [] [ != ]

 

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

 

诗檀软件专业数据库修复团队 

服务热线 : 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的情况下操作,否则可能丢失恢复数据的最后一线希望。

Comments

  1. For the statement “alter diskgroup dg_data check all norepair”, . The CHECK keyword performs the following operations: * Checks the consistency of the disk. * Cross checks all the file extent maps and allocation tables for consistently. * Checks that the alias metadata directory and file directory are linked correctly. * Checks that the alias directory tree is linked correctly. * Checks that Oracle ASM metadata directories do not have unreachable allocated blocks. . REPAIR | NOREPAIR This clause lets you instruct Oracle ASM whether or not to attempt to repair any errors found during the consistency check. The default is NOREPAIR. The NOREPAIR setting is useful if you want to be alerted to any inconsistencies but do not want Oracle ASM to take any automatic action to resolve them. . As documented if we use the NOREPAIR setting Oracle ASM will not take any automatic action to resolve any inconsistencies, it is useful to be alerted of any inconsistencies. So it is safe to execute the alter command with the NOREPAIR setting.

  2. . 1. The node that introduced the corruption . 2. ct can check which are the current VD devices running: . crsctl query css votedisk . 3. If the device mapping is not persistent they need to ensure they have a correct OS solution. . 4. to check the diskgroup they can execute ‘ alter diskgroup check norepair’

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号