TU24x7Technical Knowledge Base

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

  1. Verify the exact operation sequence stored in the trail.
  2. Confirm source transaction ordering.
  3. 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:

  1. Trail ordering
  2. Transaction metadata
  3. 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.