On the standby get the current scn which will be used in your RMAN backup script as a starting point.
SQL>select current_scn FROM V$DATABASE;
CURRENT_SCN
----------------
11133157117269
On the primary run the RMAN script with the supplied current_scn number from the standby
run {
allocate channel c1 type disk format '/dump/abcprd/%U.rmb';
backup as compressed backupset skip readonly
incremental from scn 11133157117269 database;
And this is were I got my first unexpected problem. The RMAN backup gave the following warning message:
RMAN-06755: WARNING: datafile 408: incremental-start SCN is too recent;
using checkpoint SCN 9733080640801 instead
File 408 is a Read Only Tablespace with a much older scn number. V$SESSION_LONGOPS showed that the backup will take longer than 24 hours to complete, so I immediately stopped it and reset the Read Only Tablespace's scn number with the aim that it will shorten the duration of the RMAN backup.
SQL> alter tablespace SA_ORD_RO read write ;
SQL> alter tablespace SA_ORD_RO read only ;
SQL> alter tablespace SA_ORD_RO read only ;
I restarted the RMAN backup, it did not give the warning again, but still took 16 hours to complete. All files created by the backup were copied to the standby server. I also created a new standby controlfile:
RMAN> backup current controlfile for standby format
'/usr/users/oracle/ForStandbyCTRL.bck';
On the standby server I cataloged and then restored the controlfile
RMAN> catalog start with '
/dump/backup/';
RMAN> restore
standby controlfile from '/dump/backup/ForStandbyCTRL.bck';
And the recover script:
RMAN> catalog start with ' /dump/abcprd/';
RMAN> recover database noredo;
But the Incremental backup failed almost immediately with the error
RMAN-06094: datafile 569 must be restored
It turns out that datafile 569 was created on the primary after the gap occured, but before the rman incremental was run. So the controlfile was aware of the datafile, but the file was not on the standby server. I also need to do a datafile backup for the newly created datafile. So back to Primary:
RMAN> backup datafile 569;scp the file to the standby server and restore it on the standby server:
RMAN> restore datafile 569;
This time I could start the RMAN> recover database noredo; again and it completed successfully.