Extract Process recovery Principle
BR
Applicable to Extract processes (for Oracle databases only)
You can use the BR parameter to control the Bounded Recovery (BR) function of GoldenGate. The Bounded Recovery function only supports Oracle databases. Bounded Recovery is one of the components of the general Extract checkpoint tool, which ensures that when the Extract process stops for any reason (scheduled or unexpected shutdown, the Extract process can be efficiently restored regardless of the number of uncommitted transactions or the duration of these transactions at the time point when the process is stopped.
Bounded Recovery sets a time limit for the time it takes for the Extract process to resume to stop and then resume normal processing.
Note that when you change this parameter to a setting other than the default setting, contact Oracle Support for instructions. Most production environments do not need to modify this parameter.
How does the Extract process recover uncommitted transactions?
When the Extract process encounters the starting point of a transaction in the redo log (usually the first executable SQL statement in Oracle, all data captured from the transaction is cached in the memory. Even if the start transaction does not contain any data,
The Extract process must also cache the transaction to the memory, because the subsequent operations in the transaction may contain the data to be captured.
When the Extract process encounters a transaction commit record in the redolog, it writes the entire transaction cached in the memory to the trail file and clears it from the memory. When the Extract process encounters a rollback record of a transaction, the entire transaction cached in the cache is discarded. Before the Extract process processes the commit or rollback records
Open Status (uncommitted or rolled back), and continuously collect information about the transaction.
If Extract stops before a transaction's commit or rollback record, after the Extract process restarts, all information cached in the memory must be restored. This operation applies to all open transactions when the Extract process stops.
Extract performs the restoration process as follows:
● If there is no transaction in the open state when the Extract process is stopped, the restore operation starts from the current
Extract reads the checkpoint and starts. This is a normal recovery process.
If the redo log contains an open transaction whose start point is very close to the time when the Extract process stops, the Extract process reads the redolog again and starts to recover from the earliest start point of the open transaction. This process requires the Extract process to execute additional work on the transactions that have been written to the trail or discarded file before the process is stopped. This repetitive work only needs to process a relatively small amount of data, within the acceptable cost range. Such recovery can also be considered as normal recovery.
● If one or more Extract processes are considered as long-running open transactions,
The Extract process will be restored through BoundedRecovery.