Resending a PLOG
How do we resend a PLOG?
A PLOG can be resent from the MINE process to the APPLY process by using an internal engine command. Please see API and Internal Commands for more information.
The process is:
- Stop the MINE and APPLY processes
In the console type (use the PLOG sequence instead of X):
dbvrep> ENGINE MINE RESET TO PLOG X
On the target or apply database, run:
SQL> delete dbvrep.dbrsapply_plog_history where sequence>=X;
Please create a dummy dbrsapply_plog_history table before executing above command for backup purpose. ( i.e :dbrsapply_plog_history_temp)
- On the target or Apply server, move all the plogs >= sequence X that are in the "apply" directory to another location for backup purposes.
- On the source or Mine server, move all the plogs >= sequence X that are in the "mine" directory to another location for backup purposes.
- Restart MINE process
- Restart APPLY process
The following message in the log file may indicate that a PLOG needs to be resent if this message does not progress:
WARN-2403: Incomplete PLOG X, but not an online log. Rerequesting it from mine, sleeping and trying again
How to determine what is X?
To determine which Plog sequence to resend from, look at which Plog sequence the Apply process is currently at. Once Apply has processed a Plog, it is not possible to re-apply this Plog. So the earliest Plog that be resend is the Plog that is currently being applied.
On the command console, if the Apply status is showing the following:
APPLY IS running. Currently at plog 11078 and SCN 477678885 (04/28/2014 11:25:47).
Then the plog sequence to resend is 11078.