Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: FW: backing up rman catalog for disaster recovery

RE: FW: backing up rman catalog for disaster recovery

From: Charlotte Hammond <>
Date: Thu, 26 May 2005 08:55:53 -0700 (PDT)
Message-ID: <>

Hi Chris,
"Marquez, Chris" <> wrote:


Good to know and I believe I have heard something of this. Could you provide the snip of RMAN syntax that would generate the "controlfile autobackup" or is it one of the 9i "CONFIGURE" parameters? Is the "controlfile autobackup" allways generated as the *last* backup object int the RMAN session?

Yes - it's always the last thing RMAN does (At least in my experience of using it is is always the last step. Not sure if I can find a statement to that effect in the manuals, but I'd certainly hope so!).

Also, what does one of these files looks like. I often suspect that I have a (auto created) backup controlfile, but I all of my backsets use the same formant...not able to differentiate then much other than size?

Not sure what you mean by "looks like" - it's a binary file. The format of the filename is (pasted from the manual):


   IIIIIIIIII stands for the DBID. The DBID is printed in decimal so that it can be easily associated with the target database.    YYYYMMDD is a time stamp in the Gregorian calendar of the day the backup is generated    QQ is the sequence in hexadecimal number that starts with 00 and has a maximum of 'FF' (256)

>>RMAN> restore controfilefile from '';

So I can remover *all* of my controlfiles, startup nomount with the correct init.ora file and run this command and get my controlfile back...pushed into the right place(s) as identified in my init.ora...similar/same idea as the RMAN "replicate controlfile" command syntax?...Or I could simple "$>cp..." it to my correct controlfile location and names?

yes - to both. Here's a quick restore session:

sh-2.03$ export ORACLE_SID=DEMODB
sh-2.03$  echo "db_name=DEMODB" > initDEMODB.ora
sh-2.03$ echo "db_block_size=8192" >> initDEMODB.ora
sh-2.03$  echo "control_files='/stripe1/oradata/DEMODB/control01.ctl','/stripe2/oradata/DEMODB/control02.ctl'" >> initBTT BTE
sh-2.03$ rman target=/

Recovery Manager: Release - 64bit Production

Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

connected to target database (not started)

RMAN> startup nomount pfile=initDEMODB.ora

Oracle instance started

Total System Global Area 165120960 bytes

Fixed Size                      732096 bytes
Variable Size                113246208 bytes
Database Buffers              50331648 bytes
Redo Buffers                    811008 bytes

RMAN> restore controlfile from '/backup/rman/demodb/c-3770169374-20050526-02';

Starting restore at 26-MAY-05

using target database controlfile instead of recovery catalog allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=9 devtype=DISK
channel ORA_DISK_1: restoring controlfile
channel ORA_DISK_1: restore complete

replicating controlfile
input filename=/stripe1/oradata/DEMODB/control01.ctl output filename=/stripe2/oradata/DEMODB/control02.ctl Finished restore at 26-MAY-05

RMAN> exit


Chris Marquez
Oracle DBA

-----Original Message-----
From: on behalf of Charlotte Hammond Sent: Thu 5/26/2005 6:02 AM
Subject: RE: FW: backing up rman catalog for disaster recovery

I agree that an RMAN scripted backup controlfile is not useful, but configuring RMAN controlfile autobackup does help:

  1. You then don't have to include a copy command (internal or external) for you controlfile as RMAN does it for you automatically.
  2. The filename of the autobackup contains both the date and the database ID in a human readable format.

To get your controlfile back (without needing a catalog) you just need to do

RMAN> restore controfilefile from '';


>>I just cheated and backed up the control file separately

"Cheat" nothing this is just smart...or reality :o|

>> run {allocate channel c4 type disk; copy current controlfile to...

>> in my shell script *every* time and AT THE END OF EACH BACKUP

>> NOT an RMAN *backup* of my controlfile (totally useless), 

>> but rather a *COPY* of my controlfile. 

>> Meaning it can be used without RMAN;

As I said in an earlier post, RMAN backup controlfile (IMHO) is rather useless.

It is the classic "chicken and egg".

You have a controlfile in the RMAN backup, but you need a current controlfile to get to the backup! (in the absence of a recover catalog). If I have a current controlfile then why do I need the one *in* the backup? 

Oracle should update the RMAN documentation it indicate thsi mental puzzle.

Seems everyone learns this the hard way during testing...or the really hard way during a disaster.

Anyone want to guess...

What would be of some use when all current controlfiles and datafiles are lost and you have >1 good RMAN backups? (A worst case senario).

Chris Marquez

Oracle DBA

-----Original Message-----

From: on behalf of Dennis Williams

Sent: Wed 5/25/2005 6:15 PM


Cc: oracle-l

Subject: Re: FW: backing up rman catalog for disaster recovery

Actually, RMAN always writes to the control file before it updates the

catalog. So even if you do an RMAN backup using a catalog, you can

still recover the database using only the controlfile. Now, in

Oracle8i I had problems recovering the control file from the RMAN

backup, so I just cheated and backed up the control file separately

after the RMAN backup completed, and made sure the control file backup

was on the same tape as the RMAN backup. I have performed many

recoveries using this method.

Dennis Williams

On 5/25/05, Ruth Gramolini wrote:



> One very easy way is to do an rman backup with the nocatalog option. Thi=
> will use controlfile info for restores and recoveries. You can use all t=
> options of rman, just no catalog. That is what we do.
> Just my $0.02,

> Ruth
> -----Original Message-----

> From:

> []

> Sent: Wednesday, May 25, 2005 4:49 AM

> To:;;


> Subject: RE: backing up rman catalog for disaster recovery
>=20 >=20
> I am setting up a disaster recovery site and I was thinking about the

> best way to do this.
> My theory is that I would like to not just use another recovery catalog

> on the DR site to backup my primary catalog but to somehow keep these

> catalogs constantly in-synch so when I do need to do complete recovery

> and only have the secondary rman catalog available - I wouldn't have to

> recover the catalog as all of the previous backups would be found there.
> So....should I do this using Oracle Data Guard on my disaster recovery

> site catalog or backup rman then restore as my first procedure? Any

> advice?
> --

> -- -- --------------------------------- Discover Yahoo! Get on-the-go sports scores, stock quotes, news & more. Check it out! -- --------------------------------- Do You Yahoo!? Yahoo! Small Business - Try our new Resources site! --
Received on Thu May 26 2005 - 12:00:51 CDT

Original text of this message