Precise Instantiation for Db2 LUW

During the initialization of the Oracle GoldenGate environment for Db2 LUW, you need to perform initial data synchronization and start Oracle GoldenGate processes for the first time. In conjunction with these procedures, you need to create process groups. To create an Extract group, an initial start position must be established in the transaction log. This initial read position is on a transaction boundary that is based on one of the following:

  • End of the transaction file

  • A specific LRI value

The start point is specified with the BEGIN option of the ADD EXTRACT command.

When the Extract process starts for the first time, it captures all the transaction data that it encounters after the specified start point, but none of the data that occurred before that point. This can cause partial transactions to be captured if open transactions span the start point.

To ensure initial transactional consistency:

Initialize the Extract process at a point in time when the database is in a paused state to avoid the capture of partial transactions. Db2 LUW provides a QUIESCE command for such a purpose. This is the only way to ensure transactional consistency.

Note:

After the Extract is past the initialization, subsequent restarts of the Extract do not extract partial transactions, because the process uses recovery checkpoints to mark its last read position.

To view open transactions:

IBM provides a utility called db2pd for monitoring Db2 databases and instances. You can use it to view information about open transactions and to determine if any of them span the start point. However, because Db2 LUW log records lack timestamps, it might not be possible to make an accurate assessment. If possible, quiesce the database prior to initialization of Oracle GoldenGate.