IP: prestige-imperia.sytes.net Port: 7171 Client: 8.60 Status: ONLINE

Ogg-01184 Expected 4 Bytes But Got 0 Bytes In | Trail

#!/bin/bash for trail in /u01/gg/dirdat/rt*; do echo "checking $trail" echo "open $trail" > /tmp/logdump_cmd echo "n" >> /tmp/logdump_cmd echo "q" >> /tmp/logdump_cmd /u01/gg/logdump < /tmp/logdump_cmd | grep -i "error\|corrupt\|unexpected" done Scenario: A large financial firm replicates a 10TB Oracle database. One night, a backup job fills the /goldengate filesystem to 100%. The Extract continues writing but fails to complete the last record in rt000241 .

logdump> next logdump> next If the trail file is simply truncated, there is no next record.

Find the transaction ID (XID) of the corrupt record. In logdump : ogg-01184 expected 4 bytes but got 0 bytes in trail

Alter Replicat to start at the last good RBA before corruption:

-- For Extract (writing trail) TRAILCHKSUMBLOCKCHECK YES TRAILCHKSUMCHECK YES -- For Replicat (reading trail) CHKPOINTCHKSYNC YES logdump&gt; next logdump&gt; next If the trail file

ADD EXTRACT ext01, TRANLOG, BEGIN SCN 123456789 Recreate Pump and Replicat, start fresh. Part 4: Preventing OGG-01184 Before It Happens The best fix is never encountering this error. Implement these hardened practices. 1. Enable Trail File Checksums Add this to both Extract and Replicat parameter files:

When this happens, your target database stops synchronizing. Data latency begins to grow. And if not handled correctly, you risk data divergence between source and target. Part 4: Preventing OGG-01184 Before It Happens The

cd $OGG_HOME ./logdump logdump> open /u01/gg/dirdat/rt000012 logdump> ghdr on logdump> detail on logdump> pos 4820192 logdump> n