Duplicating database to another server ASM to ASM
We have two options, were we can use db_convert_files and log convert files parameter if this is at a different structure ( different filesystem / different disk group name )
second one is we can use the set new name for datafile option. i felt this set newname for datafile option is easiest .
The below query can be used to produce the set newname file from the source machine.
SELECT 'SET NEWNAME FOR DATAFILE '||FILE#||' TO '''||'+DATAFILE_Diskgroupname'||
SUBSTR(NAME,
INSTR(NAME, '/', -1, 1),
INSTR(NAME, '.',1,2) - INSTR(NAME, '/',-1,1)) ||'.dbf'';'
FROM V$DATAFILE;
Then, let the target db started in nomount , and also add the tns entries for the source database on the target server
connect auxiliary /
CONNECT target sys/xxxxx@BOORAxxxx20
CONNECT CATALOG RMAN/detaxx@BORxxxxxOD;
run
{
SET UNTIL TIME "to_date('16-OCT-2013 04:00:00','DD-MON-YYYY HH24:MI:SS')";
allocate channel C1 device type disk;
allocate auxiliary channel C2 device type disk;
allocate auxiliary channel C3 device type disk;
allocate auxiliary channel C4 device type disk;
SET NEWNAME FOR DATAFILE 1 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 2 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 3 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 4 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 5 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 6 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 7 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 8 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 9 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 10 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 11 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 12 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 13 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 14 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 15 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 16 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 17 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 18 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 19 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 20 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 21 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 22 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 23 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 24 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 25 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 26 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 27 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 28 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 29 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 30 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 31 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 32 TO '+DATAFILE_COORADEVL20';
SET NEWNAME FOR DATAFILE 33 TO '+DATAFILE_COORADEVL20';
duplicate target database to ORDEVL20 NOFILENAMECHECK
LOGFILE
GROUP 1 ('+LOG1', '+LOG2') SIZE 100M,
GROUP 2 ('+LOG1', '+LOG2') SIZE 100M,
GROUP 3 ('+LOG1', '+LOG2') SIZE 100M,
GROUP 4 ('+LOG1', '+LOG2') SIZE 100M,
GROUP 5 ('+LOG1', '+LOG2') SIZE 100M,
GROUP 6 ('+LOG1', '+LOG2') SIZE 100M;
}