How to recover from an OGG-01028 Incompatible Record if the trail is not corrupt (Doc ID 1507462.1)
Oracle GoldenGate - Version 9.5_EA and later
Information in this document applies to any platform.
To recover from error: OGG-01028 Incompatible record in /ggtrail/GGODSCF/dirdat/cf000325, rba 19018 (getting header).
when it is known that the trail file is intact.
This applies to both extract data pumps and replicats
If a trail is not corrupt, a pump or replicat can be restarted by noting the point of failure (trail number and RBA) indicated in the report and discard file. Please do not attempt this if you are not familiar with reading these reports.
This should be done on transaction boundaries or with RESTARTCOLLISIONS enabled. If you do not understand this, do not do this yourself; please have support assist you.
logdump> log to mycase.txt
logdump> open (/ggtrail/GGODSCF/dirdat/cf000325) <<<--- the trail in the report
logdump> ghdr on
logdump> pos (RBA 19018) <<<--- the RBA in the report
this will give you a bad header message
logdump> sfh prev
this gives you the header of the previous record start,write down the RBA value <<<--- If it's the transaction boundary or only DML in transaction
if this finishes Ok and gives you a count of tables and records, the trail is OK and you can use the RBA we saved for the alter later
the trail is known to be undamaged
if this does not finish with the count, you have a bad trail and must use another recovery method, contact support.
You now have a history of what you did in file mycase.txt and a written record of the RBA to use to ALTER the extract data pump or replicat
ggsci> alter extract xxx, extseqno < the existing sequence number>, extrba
实际我敲count后出现“Bad record found at （RBA xxxxxx）”
这两个命令都是bad record ，此时认为后面的记录都坏掉了，将rep进程指到下一个trail文件。