RMAN: restoring autobackup spfile and controlfile

  • From: "Jared Still" <jkstill@xxxxxxxxx>
  • To: "Oracle-L Freelists" <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 31 Jul 2007 12:11:23 -0700

I seem to run into lots of issues using RMAN.

Maybe I'm just unlucky with RMAN more frequently than others.

Anyway an interesting issue popped up while trying to restore autobackup
copies of an spfile and controlfile.

First the particulars:

Linux - RH ES 4 64 bit
Oracle 9.2.0.7
Veritas NetBackup 5.1 MP5 at both Client and Master Server

This is a test restore (not an emergency thankfully) for Sarbanes Oxley
compliance
testing, so the restore is to a new database.

Here's the script I first attempted to use to restore both the spfile and
controlfile.

set DBID=2182868868;
startup nomount;

run {
        ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE' debug=5 trace 2;
        restore spfile from      'c-2182868868-20070608-01';
        restore controlfile from 'c-2182868868-20070608-01';
        RELEASE CHANNEL ch00;
}

This script ends with the following output:
allocated channel: ch00
channel ch00: sid=7 devtype=SBT_TAPE
channel ch00: VERITAS NetBackup for Oracle - Release 5.1 (2005081402)

Starting restore at 07/30/2007 17:11:47

channel ch00: autobackup found: c-2182868868-20070730-01
released channel: ch00
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 07/30/2007 17:29:35
ORA-27192: skgfcls: sbtclose2 returned error - failed to close file
ORA-19511: Error received from media manager layer, error text:
   Failed to process backup file <c-2182868868-20070730-01>
        ORA-07202: sltln: invalid parameter to sltln.

The ML response to this is "open an SR"  ( ML 20259.1)

Quite by accident I found a workaround:  restore each file separately


set DBID=2182868868;
startup nomount;

run {
        ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE' debug=5 trace 2;
        restore spfile from      'c-2182868868-20070608-01';
        RELEASE CHANNEL ch00;
}


run {
        ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE' debug=5 trace 2;
        restore controlfile from 'c-2182868868-20070608-01';
        RELEASE CHANNEL ch00;
}


Maybe a tidbit to tuck away for later use.


-- 
Jared Still
Certifiable Oracle DBA and Part Time Perl Evangelist

Other related posts: