Sometimes You can get ” OGG-02191 Incompatible record 101 in *** , rba 1,527 when getting trail header ” in Goldengate during start Replicat Process.
OGG-02191 Incompatible record 101 in
Details of error are in the Report file as follows. You can review the report file using view report REPLICAT_NAME command.
2021-02-07 21:09:45 ERROR OGG-02191 Incompatible record 101 in /goldengate/msdb/d1000000000, rba 1,533 when getting trail header. : [/ggateb01/goldengate/product/GG19cFor18cDB/libgglog.so(CMessageContext::AddThreadContext())] : [/ggateb01/goldengate/product/GG19cFor18cDB/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...))] : [/ggateb01/goldengate/product/GG19cFor18cDB/libgglog.so(_MSG_Int32_String(CSourceContext*, int, int, char const*, CMessageFactory::MessageD isposition))] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat()] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::er::ReplicatContext::run())] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat()] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::gglib::MultiThreading::MainThread::ExecMain())] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::Thre adArgs*))] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::gglib::MultiThreading::MainThread::Run(int, char**))] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(main)] : [/lib64/libc.so.6(__libc_start_main)] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat()] 2021-02-07 21:19:53 ERROR OGG-02171 Error reading LCR from data source. Status 509, data source type TrailDataSource. Source Context : SourceModule : [gglib.ggtrail.TrailDataSource] SourceID : [ggtrail/TrailDataSource.cpp] SourceMethod : [readNextTrailRecord] SourceLine : [2917] ThreadBacktrace : [14] elements : [/ggateb01/goldengate/product/GG19cFor18cDB/libgglog.so(CMessageContext::AddThreadContext())] : [/ggateb01/goldengate/product/GG19cFor18cDB/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...))] : [/ggateb01/goldengate/product/GG19cFor18cDB/libgglog.so(_MSG_Int32_String_Int32(CSourceContext*, int, int, char const*, int, CMessageFactor y::MessageDisposition))] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::gglib::ggtrail::TrailDataSource::readNextTrailRecord(ggs::gglib::gglcr::CommonLCR **, long*, int&, int&, bool, bool))] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::er::ReplicatTrailDataSource::readLCR(ggs::gglib::gglcr::CommonLCR**, long&, bool& ))] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::er::ReplicatContext::processReplicatLoop())] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::er::ReplicatContext::run())] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat()] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::gglib::MultiThreading::MainThread::ExecMain())] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::Thre adArgs*))] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(ggs::gglib::MultiThreading::MainThread::Run(int, char**))] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat(main)] : [/lib64/libc.so.6(__libc_start_main)] : [/ggateb01/goldengate/product/GG19cFor18cDB/replicat()] 2021-02-07 21:19:53 ERROR OGG-02191 Incompatible record 101 in /goldengate/msdb/e4000000000, rba 1,527 when getting trail header.
Incompatible record 101 in Goldengate
This should be done on transaction boundaries or with RESTARTCOLLISIONS enabled.
Logdump in Goldengate
To go to point of failure in the Trail file, you can use the logdump as follows.
logdump 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 logdump> n
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
logdump> count
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.
logdump> exit
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 <REPLICAT_NAME>, extseqno < the existing sequence number>, extrba <the saved RBA> ggsci> start <REPLICAT_NAME>
[ggate@msdbadm02 GG19cFor18cDB]$ ./logdump Oracle GoldenGate Log File Dump Utility for Oracle Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054 Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved. Logdump 10 >open /goldengate/msdb/e4000000000 Current LogTrail is /goldengate/msdb/e4000000000 Logdump 11 > Logdump 11 >pos 1527 Reading forward from RBA 1527 Logdump 12 > Logdump 12 >ghdr on Logdump 13 > Logdump 13 >n Bad record found at RBA 1527, format 5.50 Header token) 0100 0400 | .... Logdump 14 > Logdump 17 >sfh prev ___________________________________________________________________ Hdr-Ind : E (x45) Partition : . (x00) UndoFlag : . (x00) BeforeAfter: A (x41) RecLength : 88 (x0058) IO Time : 2021/02/07 09:44:20.336.034 IOType : 170 (xaa) OrigNode : 1 (x01) TransInd : . (x03) FormatType : R (x52) SyskeyLen : 0 (x00) Incomplete : . (x00) DDR/TDR Idx: (001, 000) AuditPos : 1247685032 Continued : N (x00) RecCount : 1 (x01) 2021/02/07 09:44:20.336.034 Metadata Len 88 RBA 1466 Database Name: 3000 5400 0100 0200 0100 0200 3a00 0100 0400 dc27 | 0.T.........:......' 0000 0200 0400 0100 0000 0300 0200 0000 0400 0800 | .................... 0600 2b30 323a 3030 0500 1400 1000 0000 1414 1414 | ..+02:00............ 1414 1414 1414 1414 1114 1414 0300 0c00 0a00 4943 | ..................IC 4342 2e57 4f52 4c44 | CB.WORLD Logdump 18 > Logdump 18 >n ___________________________________________________________________ Hdr-Ind : E (x45) Partition : . (x00) UndoFlag : . (x00) BeforeAfter: A (x41) RecLength : 698 (x02ba) IO Time : 2021/02/07 09:44:20.336.035 IOType : 170 (xaa) OrigNode : 2 (x02) TransInd : . (x03) FormatType : R (x52) SyskeyLen : 0 (x00) Incomplete : . (x00) DDR/TDR Idx: (001, 001) AuditPos : 1247685032 Continued : N (x00) RecCount : 1 (x01) 2021/02/07 09:44:20.336.035 Metadata Len 698 RBA 1605 Table Name: MSDBA.MSDBA_SUBSCRIBER_PROPERTY 3040 b402 0000 0100 0200 0b00 0200 4000 0100 0600 | 0@............@..... 0100 0200 0300 0200 0400 0000 0000 0300 0200 0000 | .................... 0400 0200 0000 0500 0800 0000 0000 0000 0000 0600 | .................... 0400 0000 0000 0700 0200 0000 0800 0400 0000 0000 | .................... 0340 6402 0000 0800 4800 3400 0600 4753 4d5f 4e4f | [email protected]_NO 4000 0a00 0000 0a00 0000 0a00 0000 0000 0000 0000 | @................... 0000 0000 0000 ffff ffff 0100 0000 0000 0000 0000 | .................... Logdump 19 >exit [ggate@msdbadm02 GG19cFor18cDB]$ I found the point of failure (trail number and RBA), I will alter the replicat process
with the Previous RBA for the point of failure as follows. [ggate@msdbadm02 GG19cFor18cDB]$ ggsci Oracle GoldenGate Command Interpreter for Oracle Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO Linux, x64, 64bit (optimized), Oracle 18c on Oct 18 2019 04:08:38 Operating system character set identified as UTF-8. Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved. GGSCI (msdbadm02) 1> alter RMSDBA02 extseqno 0 extrba 1466 2021-02-07 21:24:22 INFO OGG-06594 Replicat RMSDBA02 has been altered. Even the start up position might be updated, duplicate suppression remains active in next startup. To override duplicate suppression, start RMSDBA02 with NOFILTERDUPTRANSACTIONS option. REPLICAT (Integrated) altered. GGSCI (msdbadm02) 2> start RMSDBA02 Sending START request to MANAGER ... REPLICAT RMSDBA02 starting GGSCI (msdbadm02) 3> info RMSDBA02 REPLICAT RMSDBA02 Last Started 2021-02-07 21:24 Status RUNNING INTEGRATED Checkpoint Lag 00:00:00 (updated 00:00:07 ago) Process ID 69343 Log Read Checkpoint File /goldengate/msdb/e4000000000 First Record RBA 1466 GGSCI (msdbadm02) 5> ! info RMSDBA02 REPLICAT RMSDBA02 Last Started 2021-02-07 21:24 Status RUNNING INTEGRATED Checkpoint Lag 00:00:00 (updated 00:00:02 ago) Process ID 69343 Log Read Checkpoint File /goldengate/msdb/e4000000000 2021-02-07 21:24:38.131396 RBA 8361601 GGSCI (msdbadm02) 6> stats RMSDBA02 Sending STATS request to REPLICAT RMSDBA02 ... Start of Statistics at 2021-02-07 21:24:59. Integrated Replicat Statistics: Total transactions 4511.00 Redirected 0.00 Replicated procedures 0.00 DDL operations 0.00 Stored procedures 0.00 Datatype functionality 0.00 Operation type functionality 0.00 Event actions 0.00 Direct transactions ratio 0.00% DDL replication statistics: *** Total statistics since replicat started *** Operations 0.00 Mapped operations 0.00 Unmapped operations 0.00 Other operations 0.00 Excluded operations 0.00 Errors 0.00 Retried errors 0.00 Discarded errors 0.00 Ignored errors 0.00 Replicating from MSDBA.MSDBA_SUBSCRIBER_PROPERTY to MSDBA.MSDBA_SUBSCRIBER_PROPERTY_DELTA: *** Total statistics since 2021-02-07 21:24:34 *** Total inserts 9129.00 Total updates 0.00 Total deletes 0.00 Total upserts 0.00 Total discards 0.00 Total operations 9129.00 *** Daily statistics since 2021-02-07 21:24:34 *** Total inserts 9129.00 Total updates 0.00 Total deletes 0.00 Total upserts 0.00 Total discards 0.00 Total operations 9129.00 *** Hourly statistics since 2021-02-07 21:24:34 *** Total inserts 9129.00 Total updates 0.00 Total deletes 0.00 Total upserts 0.00 Total discards 0.00 Total operations 9129.00 *** Latest statistics since 2021-02-07 21:24:34 *** Total inserts 9129.00 Total updates 0.00 Total deletes 0.00 Total upserts 0.00 Total discards 0.00 Total operations 9129.00