RMAN Duplicate Fails - Suggestions?
Date: Sun, 16 Mar 2008 09:27:09 -0400
Message-ID: <69eafc3f0803160627s27576c70re3b63459e1412d61@mail.gmail.com>
Running an RMAN Duplicate Database to another host (clone) with a different
file structure. I'm on Oracle 9.2.0.7 and using a catalog. It's a
5.4TBDB, and the freakin' thing failed on the last 3 datafiles. I
don't have
time to kick off a full new restore and our version has the bug #3202107
(fixed in 9.2.0.8) where the restore optimization - for restarting this -
doesn't work. I've tried to follow the instructions in Metalink Note
#360692.1 using "Manual Completion of Phase 1" - "Set newname and restore of
datafiles" but it doesn't work. Here's what they say:
Restore the remaining datafiles into the auxiliary instance using a 'normal'
rman restore and connecting to the auxiliary instance as the target. Start
RMAN in the same host / environment as the AUXILIARY instance :
$ export ORACLE_SID=<auxiliary>
$ rman target /
RMAN> run {
set until scn 1412841;
set newname for datafile n to '<newfilename_n>';
set newname for datafile n2 to '<newfilename_n2>';
….etc
restore datafile n,n2…etc;
}
But the auxiliary database isn't mounted and won't mount because I haven't gotten to the controlfile piece yet. If I connect to the target as my production source and the auxiliary as my duplicate, I get an error "ORA-19504: failed to create file "/oracle/QA1/sapdata3/undo_3/undo.data3" ORA-27040: skgfrcre: create error, unable to create file" which I'm thinking means it's trying to restore to the primary/original/source/target (can they get more confusing with the terminology?).
Here's the script I'm using to try to finish this off: rman <<EOF
connect target sys/<password>@pr1
connect catalog rmanadmin/<password>@rcat
connect auxiliary sys/<password>@qa1
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
run{
allocate auxiliary channel dupdb1 type 'sbt_tape';
allocate auxiliary channel dupdb2 type 'sbt_tape';
allocate channel reg1 type 'sbt_tape';
allocate channel reg2 type 'sbt_tape';
set until scn 3864716014;
set newname for datafile 400 to
"/oracle/QA1/sapdata4/zzsws1ai_6/zzsws1ai.data6";
set newname for datafile 401 to "/oracle/QA1/sapdata3/undo_3/undo.data3";
set newname for datafile 402 to
"/oracle/QA1/sapdata2/zarixfi4i_5/zarixfi4i.data5";
restore datafile 400,401,402;
}
EOF
Do I need a duplicate database command in here somewhere? Anybody faced
this before and can bail me out?
-- http://www.freelists.org/webpage/oracle-lReceived on Sun Mar 16 2008 - 08:27:09 CDT