Saturday, March 26, 2011

RMAN-06563: control file or SPFILE must be restored using FROM AUTOBACKUP


DB-ID - 2390844960

Rman Restore control file

Issue:
RMAN-06563: control file or SPFILE must be restored using FROM AUTOBACKUP

Action :
Backup and Recovery best practices dictate that we must use a RMAN recovery catalog and also have the controlfile AUTOBACKUP enabled.

If we do not do either and we lose all the controlfiles, we cannot restore the controlfiles even if we have taken a backup to tape as shown in the case below.

We will encounter the RMAN-06563 error even if we set the DBID or explicitly alllocate a channel for a tape device.

set dbid=2390844960;

Find dbid of database: IF DB IS IN MOUNT MODE
Check dbid from v$database;

$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Sat Feb 19 16:12:32 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: CRPDEV (DBID=2390844960)

RMAN>
 
$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Sat Feb 19 16:15:15 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: CRPDEV (DBID=2390844960, not open)

RMAN>

db-id: -2390844960

RMAN-06172: no autobackup found or specified handle is not a valid copy or piece

restore control file:

if no location mentioned for controlfile autobackup It will be in $ORACLE_HOME/dbs

RMAN> show all;
will display all configuration paramters
Check controlfile autobackup is on or not.

mention full path as given below from the show all.

RMAN> run{
2> set controlfile autobackup format for device type disk to '/u02/rmanbackup/CRPDEV_controlfile_%F';
3> restore controlfile from autobackup;}

Rman> resore database;
RMAN> recover database;
RMAN> Alter database open.

Error while recovering db:

RMAN recover database;

RMAN> LIST BACKUP OF ARCHIVELOG ALL

Rman> recover database noredo; will work.

RMAN> Alter database open:

Crosschecks update outdated RMAN repository information about backups whose repository records do not match their physical status.
For example, if a user removes archived logs from disk with an operating system command, the repository still indicates that
the logs are on disk, when in fact they are not.
If the backup is on disk, then the CROSSCHECK command determines whether the header of the file is valid.
If the backup is on tape, then the command simply checks that the backup exists.
The possible status values for backups are AVAILABLE, UNAVAILABLE, and EXPIRED.