Recovery tab
The recovery is a temporary mode that indicates to Talend Change Data Capture that the next time it is started, instead of continuing the distribution to the next sequence in the journal, it must act according to the nature of the recovery requested.
The recovery defined for a table applies only to that table.
To perform a recovery of all tables, use the Recovery tab in the distribution properties (see Recovery tab).
It is used to specify the recovery type you want to perform.
You can choose the Sequence or Load recovery types.
Select None to cancel a recovery request before the distribution starts.
Once the distribution starts, and the recovery has been taken into account by the Talend Change Data Capture engine, the recovery type defined in the parameters goes back to None.
None
This parameter is used to cancel a recovery that is specified erroneously BEFORE it is taken into account by the Talend Change Data Capture engine.
From sequence
This parameter is used to perform a recovery for a specific sequence, that is to say, at a specific point in time, as the journal contains database transaction records in a sequence expressed in absolute time.
When you select the From sequence option, a window is displayed showing the available receivers on the source and their characteristics.
When the Sequence field is set to 0, the earliest available sequence from the journal receiver is recovered first and sent to the replication process, followed by the remaining sequences which are processed in the order they are received.
To specify a recovery from a specific sequence, select the desired receiver and enter the sequence number in the Sequence field.
If you want to specify a recovery just after sequence number x, simply add the + character after the sequence number x. For example, enter 13152+ to start recovery after sequence 13152, even if the sequence 13153 does not yet exist.
Use Case:
If you want to specify a recovery pointing to a UP-type sequence (Update Before which always precedes a UP-Update Past sequence), the Talend Change Data Capture engine backs by 1 to take into account the UB sequence. If an error occurs in an Update, the error will automatically be linked to the UB sequence. So, if you wish to skip it, do not advance it by 1, because you would fall on the UP sequence. As the engine would back to the UB, this would mean no recovery. However, you can specify the failed sequence followed by the + symbol to skip to the next one. Blobs-type sequences, which you should take into account for recoveries, occur in Windows-type journals (SQL Server, Oracle...). If the recovery point is in the middle of a series of blobs, the engine automatically backs to the Insert, Update or Delete instruction that has generated these blobs. To check the journal content, go to Journal Management window and use the Display Journal option available in the context-sensitive menu that you can access by right-clicking the database.
Load
The Load recovery type performs an initial loading of the table on the target using the source file. It is processed at the beginning of the Job before the Job on the journal is executed.
During the Load recovery operation, the following procedure is applied for the Talend Change Data Capture table:
-
Store the sequence number of the last sequence in the current receiver.
-
Open the source table
-
Transmit the CLRPFM instruction (TRUNCATE TABLE in SQL), (unless otherwise specified in the parameters of the distributed file).
-
Read the source table records and send them as transaction records to add to the target table.
-
At the end of the source table, go back to the sequence number stored in the first step (same as a recovery from sequence).
If the source and/or target programs are interrupted, or there is a break in the communication, Talend Change Data Capture resumes record transmission from the point where it stopped.