18 June 2018
Standby Catchup with incremental SCN backup
If standby is considerably lagging behind production, “roll it forward” using the incremental backup.
Find both SCNs from 2 queries below and take the lower one. Most of the blog posts refer just to the current_scn, but file header SCN could be lower than current_scn, so you have to check both. The reason they are different is that datafile header is checkpoint-ed from time to time, while current_scn is updated continuously. Actually, current_scn is mostly higher than fhscn.
In this example, you would take 5716576040, not 5716599640.
rman target /
catalog start with '/backup/DBNAME_inc';
recover database noredo;
DGMGRL> edit database 'DBNAMEDR_A' set state='APPLY-ON';
This is a simple scenario, which assumes no new datafile have been created on the primary since the given SCN.
DR
DGMGRL> edit database 'DBNAMEDR_A' set state='APPLY-OFF';
Find both SCNs from 2 queries below and take the lower one. Most of the blog posts refer just to the current_scn, but file header SCN could be lower than current_scn, so you have to check both. The reason they are different is that datafile header is checkpoint-ed from time to time, while current_scn is updated continuously. Actually, current_scn is mostly higher than fhscn.
In this example, you would take 5716576040, not 5716599640.
select current_scn from v$database;
-----------
5716599640
select min(fhscn) from x$kcvfh;
-----------
5716576040
-----------
5716599640
select min(fhscn) from x$kcvfh;
-----------
5716576040
Primary
rman target /
backup incremental from scn 5716576040 database format '/backup/DBNAME_inc%U' tag 'incremental backup';
backup incremental from scn 5716576040 database format '/backup/DBNAME_inc%U' tag 'incremental backup';
DR
catalog start with '/backup/DBNAME_inc';
recover database noredo;
DGMGRL> edit database 'DBNAMEDR_A' set state='APPLY-ON';
This is a simple scenario, which assumes no new datafile have been created on the primary since the given SCN.