Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: RMAN: restoring autobackup spfile and controlfile
On 8/2/07, Niall Litchfield <niall.litchfield_at_gmail.com> wrote:
>
>
> The only - but rather good in principle - reason that I can see is to
> make reporting easier and consistent.
I used to believe that.
> I don't really see how? Most RMAN tasks have exactly the same syntax
> whether connected to a catalog or not.
Definitely not true. I have documented a few things I have run across, seen at the end of this post.
> Oracle docs claim that everything possible with a recovery catalog is
> > also possible using only the controlfile. There is a long list of
> caveats
> > to go with that statement.
>
> For example? Most tasks (with the exception of things like recovery
> through resetlogs which really ought to be pretty rare) are just as
> possible without a catalog.
"Ought to be". Well yes, I agree.
When I first started using RMAN here, I put most databases into the Recovery Catalog.
Then I thought that that really wasn't necessary, and started using only the controfile.
Following that, there started appearing many scenarios where recovery with
only the
controlfile is possible, but much easier with the RC.
So now I'm back to using the RC.
YMMV. Jared
RMAN - Limitations Without a Recovery Catalog Database
From ML Note 304305.1
Limitations of TSPITR Without a Recovery Catalog
Except for stored scripts, all of RMAN's features work equally well with or without a recovery catalog.
From 9i Recovery Manager Users Guide, Chapter 16:
If you choose not to use a recovery catalog, then you can still use RMAN
very effectively. RMAN obtains the information it needs from the control
file of the target database. Nevertheless, some commands are not available
when you use the control file as the sole repository of RMAN metadata. The
following commands are only available when you use a recovery catalog:
• CREATE CATALOG, UPGRADE CATALOG, DROP CATALOG
• CREATE SCRIPT, DELETE SCRIPT, REPLACE SCRIPT, PRINT SCRIPT
• LIST INCARNATION
• REGISTER DATABASE
• REPORT SCHEMA AT TIME
• RESET DATABASE
• RESYNC CATALOG
Doc ID: Note:274420.1 Type: PROBLEM Last Revision Date: 04-JUN-2004 Status: MODERATEDThe information in this article applies to: Oracle Server - Enterprise Edition - Version: 9.2.0.4 This problem can occur on any platform.
The target database has been opened with RESETLOGS
Backup of archived redologs shows :
skipping archive log file /archive/kpbm/1_147.dbf; already backed up 1
time(s)
Cause
This issue is caused by
bug 2825248 RESETLOGS DATA IGNORED IN BACKUP OPTIMIZATION CHECKS
Symtomps of bug 2825248 :
The skipped archived redologs belong to an OLDER incarnation of the
database.
As they are skipped during the backup, but deleted due to the DELETE
INPUT-clause,
there will be NO backup available of this archive to restore, causing the
DUPLICATE
to fails with RMAN-6053.
Fix
- Upgrade to 10G
OR use the workarounds
- CONFIGURE BACKUP OPTIMIZATION OFF
or
- Use an RMAN-catalog.
Restoring an autobackup controlfile
When using a Recovery catalog it is only necessary to issue the RESTORE CONTROLFILE command.
RMAN> restore controlfiles from autobackup;
When using just the controlfile as a catalog, you do not have a catalog if the controlfiles are lost. So that RMAN knows which controlfile to restore, you must then use the SET DBID command.
This is a problem if you don't know the DBID.
If the database has been opened with RESETLOGS, RMAN will not normally restore a previous version of the database.
If needed, this can be done by using the LIST INCARNATION command to see previous incarnations of the database, and the SET INCARNATION command to set the RMAN catalog to a previous version of the database prior to restoring.
This only works however if a recovery catalog database is being used. These commands will not work without the recovery catalog database. Previous incarnations of the database can be restored using only the controlfile, but is difficult and involved.
With a recovery catalog:
select * from rc_database
where lower(name) = 'pr09'
/
Without a recovery catalog: @#$*!
-- http://www.freelists.org/webpage/oracle-lReceived on Thu Aug 02 2007 - 11:02:33 CDT
![]() |
![]() |