Re-synchronizing Primary and Secondary Databases

The RESYNC_SEQNO of a system is the lesser of the following values:

The Source Server on the primary system records the JNL_SEQNO of the last transaction successfully sent in RESYNC_SEQNO. The Update Process on the secondary system records the JNL_SEQNO of the last transaction successfully processed in RESYNC_SEQNO. The RESYNC_SEQNO is maintained as resync_seqno in the file-header of each region.

The RESYNC_SEQNO of a system is the maximum of the local region resync_seqnos. If a rollback operation rolls a database/journal file to a JNL_SEQNO that is less than the resync_seqno of that database file, the resync_seqno is set to the largest JNL_SEQNO in that database/journal file.

When invoking the rollback -fetchresync command on the secondary, the RESYNC_SEQNO maintained on the secondary system is sent to the Source Server on the primary. This is part of the request message for the reference point of the resynchronization. The Source Server replies to this message with the primary system's RESYNC_SEQNO. For each replicated region, the Source Server also finds the per-region transaction number corresponding to the transaction that marks the synchronization point for that region. This transaction number is the largest JNL_SEQNO less than or equal to the minimum of the primary and secondary systems' RESYNC_SEQNO. The Source Server stores the transaction number found in resync_tn in the region file header. The set of all resync_tns represents the state of the database at the primary system when it synchronizes with the secondary system.