RMAN Duplicate Fails - Suggestions?

From: David Barbour <david.barbour1_at_gmail.com>
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-l
Received on Sun Mar 16 2008 - 08:27:09 CDT

Original text of this message