Pages

Saturday, April 9, 2016

While Duplicating the Database Rman Errors ora-1547 ora-1152 ora-1110 During Recovery

While Duplicating the Database Rman Errors ora-1547 ora-1152 ora-1110 During Recovery 

Rman error stack as follows,

Oracle Error:
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/ora01/stagedata/system01.dbf'

released channel: d1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 05/21/2004 20:15:34
RMAN-03015: error occurred in stored script Memory Script
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of log thread 1 seq 1171 scn 5965087499819 found to restore
RMAN-06025: no backup of log thread 1 seq 1170 scn 5965087499798 found to restore

Cause:

The errors are reporting that the archivelog file required is not possible to
restore it from the backups done.

RMAN Duplication is Limited to only Archive Logs that are Backup up with RMAN.
The recommendation is : To avoid this scenario, it is best to backup any
remaining archived logs with RMAN just before running the duplicate command and use UNTIL Clause.

Solution:

In order to open the duplicate database you need to apply the archivelog file
required (seq from 1161 to 1171 for thread 1 and seq from 44 to 46 for thread 2) .
You could transfer the archivelog file manually from the target database and then execute
the following commands on auxiliary database :

NOTE : this commands below are not applicable to continue a DUPLICATE FOR STANDBY.

SQL> connect / as sysdba;
SQL> recover database until cancel using backup controlfile;
Apply the archivelog file required (specifying the path where is the file)

After apply the archivelog , write "cancel"

SQL> alter database open resetlogs;

Recommedation
============
Make an archivelog backup of the current available archived redologs, to be sure that you
have the backup for all archivelogs files that will are required. To reduce the recovery time,
you might choose a time just after the completion time of the backup.

Without using the SET UNTIL-clause, RMAN will duplicate uptill the last archived redolog
from the TARGET. So if that archived redolog is NOT backed up and NOT readable on the AUXILIARY-instance, than the duplicate will fail. Hence it is recommended to use the SET UNTIL-clause

For example,

RMAN> RUN {
allocate auxiliary channel d1 type disk;
set until time "to_date('Jan 29 2006 10:50:00','Mon DD YYYY HH24:MI:SS')";

set newname for datafile 1 to '/ora01/stagedata/system01.dbf';
......

duplicate target database ....
}

Reference metalink Doc ID 274118.1

No comments:

Post a Comment