Hello,
I have a question about the recovery architecture at the extractor level.
Image this situation:
I have a pending transaction in this redo position:
Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
Timestamp: 2019-09-18 13: 24: 32.000000
SCN: 0.4386680 (4386680)
This SCN is located in Oracle Redo seq 148.
Now, for example, 100 transactions are completed that end in Commit, and therefore are extracted by the process extract, pumped and are replicated.
These 100 transactions make, that there are several redo log switches and now the base redo sequence of data, has advanced to sequence 158.
The time that has passed is less than 4 hours, so the transaction is not under the control of Bounded Recovery (BR).
Also, apart from an open transaction in sequence 148, there is another open transaction in sequence 151.
Now we stop the extractor or it abend for some reason.
When starting the extractor the process uses the checkpoint information:
Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
To recovery the open transacctions that need to recover.
But how do you determine which transactions have already been processed by Goldengate and extracted and which have not?
In this case, you have to recover two transactions that are stored in the redo / archivers, but between transactions that have already been processed.
Thanks !!
Arturo