BUG 14693394 – ORA-15196: INVALID ASM BLOCK HEADER [KFC.C:26076] [ENDIAN_KFBH]
BUG 14758001 – ORA-15196: INVALID ASM BLOCK HEADER [KFC.C:23924] [ENDIAN_KFBH] [2147483654]
BUG 14827224 – PS:WIN64:ORA-15196:INVALID ASM BLOCK HEADER[KFC.C:28261] ON DB CREATE ON VMS
BUG 14779268 – ASM DISK HEADER ERASED – NEED TO EXTRACT DATA
BUG 13772417 – LNX64-12.1-ASM:ORA-15196: INVALID ASM BLOCK HEADER [KFC.C:27615] [CHECK_KFBH]
Disk header copy
Lately there is an extra copy of the asm disk header. This copy can be used to fix the real header using kfed with the
repair option.
Location
This copy is stored as the last block of the PST. That means it is in the last block of allocation unit 1 (the original is
block 0 of au 0). The default sizes for an allocation unit is 1M and for the meta data block size is 4K, meaning 256
blocks in each au. So typically the copy is in au 1 block 254. (ASM counts from zero, the original is in allocation unit 0
block 0)
kfed repair Provided you established that the only problem is with the lost/corrupt disk header, the fix is as simple as:
$ kfed repair <disk name>
If the AU size is non-standard, the above will fail with something like:
KFED-00320: Invalid block num1 = [3], num2 = [1], error = [type_kfbh]
But that is expected and no harm is done. All you need to do is specify the correct AU size. E.g. for 4MB AU the
command would be:
$ kfed repair <disk name> ausz=4194304