RMAN Restore Clause

Restore RMAN backups and copies.

Syntax:

   RESTORE
   [(] restoreObject [(restoreSpecOperand [restoreSpecOperand]…] [)]… 
   [ CHANNEL ['] channel_id ['] 
   | PARMS [=] 'channel_parms' 
   | FROM { BACKUPSET | DATAFILECOPY } 
   | untilClause 
   | FROM TAG [=] ['] tag_name ['] 
   | VALIDATE 
   | DEVICE TYPE deviceSpecifier [, deviceSpecifier]… 
   .
   .
   .
   ]…;

   restoreObject::=
     { CONTROLFILE [TO 'filename']
     | DATABASE 
       [SKIP [FOREVER] TABLESPACE 
        ['] tablespace_name ['] [, ['] tablespace_name [']]…
       ]
     | DATAFILE datafileSpec [, datafileSpec]…
     | TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]…
     | archivelogRecordSpecifier
     | SPFILE [TO [PFILE] 'filename']
     }

   restoreSpecOperand::=
     { CHANNEL ['] channel_id [']
     | FROM TAG [=] ['] tag_name [']
     | PARMS [=] 'channel_parms'
     | FROM 
       { AUTOBACKUP 
         [{ MAXSEQ | MAXDAYS } [=] integer)]… 
       | 'media_handle'
       }
     }

Examples

Full DR recovery - Full Example (restoring to a different machine)
Point in time recovery - Full Example (restoring to the same machine / different date/time)

Restore and recover the whole Database:

 RMAN> STARTUP FORCE MOUNT;
 RMAN> RESTORE DATABASE;
 RMAN> RECOVER DATABASE;
 RMAN> ALTER DATABASE OPEN;

Restore and recover a Tablespace:

 RMAN> SQL 'ALTER TABLESPACE users OFFLINE';
 RMAN> RESTORE TABLESPACE users;
 RMAN> RECOVER TABLESPACE users;
 RMAN> SQL 'ALTER TABLESPACE users ONLINE';

Restore and recover a Datafile:

 RMAN> SQL 'ALTER DATABASE DATAFILE 64 OFFLINE';
 RMAN> RESTORE DATAFILE 64;
 RMAN> RECOVER DATAFILE 64;
 RMAN> SQL 'ALTER DATABASE DATAFILE 64 ONLINE';

Restore the Control file, (to all locations specified in the parameter file) then restore the database, using that control file:

STARTUP NOMOUNT;
RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
RESTORE CONTROLFILE;
ALTER DATABASE MOUNT;
RESTORE DATABASE;
}

Restore Validation confirms that a restore could be run, by confirming that all database files exist and are free of physical and logical corruption, this does not generate any output.
Example:

 RMAN> RESTORE DATABASE VALIDATE;

"Don't count the days, make the days count” ~ Muhammad Ali

Related Oracle Commands:

BACKUP - Back up database files, archive logs, backups, or copies.
CROSSCHECK
- Check whether backup items still exist.
LIST
- List backups and copies
RECOVER
- Perform media recovery from RMAN backups and copies.
REPORT
- Report backup status: database, files, backups
RUN
- Some RMAN commands are only valid inside a RUN block.
SET
- Settings for the current RMAN session.
SHOW
- Display the current configuration


 
Copyright © 1999-2024 SS64.com
Some rights reserved