Diagnosing Transaction Apply Sequence Using Logdump in Parallel Replicat Environments
Purpose
This guide describes a methodology for investigating transaction sequencing issues in Oracle GoldenGate environments that use Parallel Replicat, BATCHSQL, and transaction splitting features.
Example Environment
Source Table
OE.ORDER_ITEMS
Target Table
OE.ORDER_ITEMS
Replicat Configuration
REPLICAT REP_PARALLEL
BATCHSQL
MAP_PARALLELISM 8
MIN_APPLY_PARALLELISM 8
MAX_APPLY_PARALLELISM 16
SPLIT_TRANS_RECS 10000
Example Trail File
aa000001234
Investigation Strategy
- Verify the exact operation sequence stored in the trail.
- Confirm source transaction ordering.
- Determine whether parallel apply behavior changed execution order.
Step 1 - Identify the Failure Position
Locate:
Trail Sequence Number
Relative Byte Address (RBA)
Table Name
Example:
Sequence Number : 1234
RBA : 987654321
Table : OE.ORDER_ITEMS
Step 2 - Launch Logdump
logdump
help
open /ogg/data/aa000001234
ghdr on
detail on
detail data
ggstoken on
usertoken on
Step 3 - Position Near the Event
pos 987650000
or
pos 987654321
Navigate:
n
Step 4 - Filter on the Table
filter include filename OE.ORDER_ITEMS
filter match all
Step 5 - Locate the INSERT
Example:
Operation Type: Insert
ORDER_ID = 1001
LINE_ID = 1
Capture:
- Sequence Number
- RBA
- Transaction ID
- Commit Timestamp
Step 6 - Locate the UPDATE
Example:
Operation Type: Update
ORDER_ID = 1001
LINE_ID = 1
Expected trail sequence:
INSERT
UPDATE
COMMIT
Step 7 - Validate Transaction Boundaries
Review:
Transaction ID (XID)
Commit Timestamp
Audit Position
Example:
XID = 0x0001.002.00012345
Determine whether INSERT and UPDATE belong to the same transaction.
Step 8 - Analyze Commit Ordering
If the trail shows:
INSERT
UPDATE
COMMIT
then source capture is functioning correctly and attention should shift to target-side apply processing.
Step 9 - Evaluate Parallel Replicat Configuration
Review:
BATCHSQL
MAP_PARALLELISM
MIN_APPLY_PARALLELISM
MAX_APPLY_PARALLELISM
SPLIT_TRANS_RECS
Potential impacts:
- Multiple applier threads
- Parallel transaction execution
- Batch processing
- Transaction decomposition
Step 10 - Correlate with Replicat Statistics
STATS REPLICAT REP_PARALLEL
STATS REPLICAT REP_PARALLEL LATEST
Review:
Batch Operations
Batch Errors
Normal Mode Operations
Immediate Flush Operations
Step 11 - Determine Whether Apply Reordering Occurred
If the trail shows:
INSERT
UPDATE
COMMIT
but target behavior suggests:
UPDATE before INSERT
focus on:
Parallel Apply
BATCHSQL Processing
Transaction Splitting
Dependency Calculations
Step 12 - Validation Testing
Temporarily simplify processing:
MAP_PARALLELISM 1
MIN_APPLY_PARALLELISM 1
MAX_APPLY_PARALLELISM 1
Optionally disable:
BATCHSQL
SPLIT_TRANS_RECS
Retest the workload.
Evidence Collection Checklist
- Trail Sequence Number
- RBA Position
- INSERT Record
- UPDATE Record
- Transaction ID (XID)
- Commit Timestamp
- Trail Ordering Evidence
- Replicat Report Messages
- BATCHSQL Statistics
- Parallel Replicat Configuration
- Validation Test Results
Conclusion
Logdump provides the definitive record of what Oracle GoldenGate captured from the source database.
By comparing:
- Trail ordering
- Transaction metadata
- Replicat execution model
it is possible to determine whether an issue originated from source capture, trail generation, data divergence, parallel apply behavior, BATCHSQL execution, or transaction splitting.