When using RMAN restoring auxiliary Duplicate db from PROD DB to the CLONE DB,Getting below error on create control file by investigating we have not set log file convert in init.ora file,So it failed in target destination redo creation on control file,
But the restore of datafile was succesfull,So i structured the control file from sample of prod then recreated the controlfile.
Error:
......
....
tdown clone immediate;
startup clone nomount;
}
executing Memory Script
sql statement: alter system set db_name = ''CLONEDB'' comment= ''Reset to original value by RMAN'' scope=spfile
sql statement: alter system reset db_unique_name scope=spfile
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 2137886720 bytes
Fixed Size 2228200 bytes
Variable Size 520093720 bytes
Database Buffers 1610612736 bytes
Redo Buffers 4952064 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "CLONEDB" RESETLOGS ARCHIVELOG
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 32
MAXLOGHISTORY 16360
LOGFILE
GROUP 1 ( '+asm_data01', '/oradata/CLONEDB/mzfccprd/onlinelog/group_1.315.818176805' ) SIZE 512 M REUSE,
GROUP 2 ( '+asm_data01', '/oradata/CLONEDB/mzfccprd/onlinelog/group_2.259.818176815' ) SIZE 512 M REUSE
DATAFILE
'/oradata/CLONEDB/mzfccprd/datafile/system.261.818175365'
CHARACTER SET WE8MSWIN1252
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 12/24/2014 18:27:14
RMAN-05501: aborting duplication of target database
RMAN-06136: ORACLE error from auxiliary database: ORA-01503: CREATE CONTROLFILE failed
ORA-00349: failure obtaining block size for '+asm_data01
RMAN>
Solution:
Login to the PROD and create the controlfile as text using that get the blocks of create controlfile script and then edit the source file location to target one for datafile and redologs then login to the CLONE DB and create the controlfile.
Steps:
++ Login to prod.
SQL> alter database backup controlfile to trace as '/tmp/Controlefile.txt';
Database altered.
SQL>
++ use the /tmp/Controlefile.txt and get the block of controlfile script.
++ Change the source file location to as like target(clone) source file location.
++ Login to Clone server and create the control file using the previous step script.
Eg:
CREATE CONTROLFILE REUSE SET DATABASE "CLONEDB" RESETLOGS ARCHIVELOG
MAXLOGFILES 192
MAXLOGMEMBERS 3
....
...
'/oradata/CLONEDB/onlinelog/group_1.281.818176801',
'/oradata/CLONEDB/onlinelog/group_1.315.818176805'
) SIZE 512M BLOCKSIZE 512,
....
....
'/oradata/CLONEDB/datafile/system.261.818175365',
'/oradata/CLONEDB/datafile/sysaux.262.818175365',
'/oradata/CLONEDB/datafile/undotbs1.264.818175365',
'/oradata/CLONEDB/datafile/users.268.818175365',
'/oradata/CLONEDB/datafile/undotbs2.267.818175365',
...
CHARACTER SET WE8MSWIN1252
;
But the restore of datafile was succesfull,So i structured the control file from sample of prod then recreated the controlfile.
Error:
......
....
tdown clone immediate;
startup clone nomount;
}
executing Memory Script
sql statement: alter system set db_name = ''CLONEDB'' comment= ''Reset to original value by RMAN'' scope=spfile
sql statement: alter system reset db_unique_name scope=spfile
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 2137886720 bytes
Fixed Size 2228200 bytes
Variable Size 520093720 bytes
Database Buffers 1610612736 bytes
Redo Buffers 4952064 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "CLONEDB" RESETLOGS ARCHIVELOG
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 32
MAXLOGHISTORY 16360
LOGFILE
GROUP 1 ( '+asm_data01', '/oradata/CLONEDB/mzfccprd/onlinelog/group_1.315.818176805' ) SIZE 512 M REUSE,
GROUP 2 ( '+asm_data01', '/oradata/CLONEDB/mzfccprd/onlinelog/group_2.259.818176815' ) SIZE 512 M REUSE
DATAFILE
'/oradata/CLONEDB/mzfccprd/datafile/system.261.818175365'
CHARACTER SET WE8MSWIN1252
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 12/24/2014 18:27:14
RMAN-05501: aborting duplication of target database
RMAN-06136: ORACLE error from auxiliary database: ORA-01503: CREATE CONTROLFILE failed
ORA-00349: failure obtaining block size for '+asm_data01
RMAN>
Solution:
Login to the PROD and create the controlfile as text using that get the blocks of create controlfile script and then edit the source file location to target one for datafile and redologs then login to the CLONE DB and create the controlfile.
Steps:
++ Login to prod.
SQL> alter database backup controlfile to trace as '/tmp/Controlefile.txt';
Database altered.
SQL>
++ use the /tmp/Controlefile.txt and get the block of controlfile script.
++ Change the source file location to as like target(clone) source file location.
++ Login to Clone server and create the control file using the previous step script.
Eg:
CREATE CONTROLFILE REUSE SET DATABASE "CLONEDB" RESETLOGS ARCHIVELOG
MAXLOGFILES 192
MAXLOGMEMBERS 3
....
...
'/oradata/CLONEDB/onlinelog/group_1.281.818176801',
'/oradata/CLONEDB/onlinelog/group_1.315.818176805'
) SIZE 512M BLOCKSIZE 512,
....
....
'/oradata/CLONEDB/datafile/system.261.818175365',
'/oradata/CLONEDB/datafile/sysaux.262.818175365',
'/oradata/CLONEDB/datafile/undotbs1.264.818175365',
'/oradata/CLONEDB/datafile/users.268.818175365',
'/oradata/CLONEDB/datafile/undotbs2.267.818175365',
...
CHARACTER SET WE8MSWIN1252
;
++ Now open the database with restlogs option.
SQL> alter database open resetlogs;
Database altered.
SQL>
1 comment:
thanks for this post..i got same error message and issue got fix as per your action plan
Post a Comment