Point-In-Time Recovery Example
There are many ways to restore a database using an RMAN backup - this example assumes you are running RMAN without a Catalog and are performing a Restore & Point-In-Time Recovery of all data back to a particular date/time in the past.
If you are running in Archive log mode and recover without specifying a date/time then RMAN will apply all Archived logs it can find, ofter recovering the database right back to the time when you started the restore operation!
If you are running in Archive log mode (and you should be), point-in time is probably the most common recovery scenario.
You will need the following information:
Database SID: ________
Database SYS password: ________
The Date and Time to restore to : ________
There are 5 steps to recover the database:
1) Restore backup files from tape
2) Mount the instance
3) Restore the datafiles
4) Recover the database
5) Reset the logs
Restore backup files from tape
If you are looking to restore the database to a time of (say 09:00) you will need the most recent RMAN backup files prior to the date (say 23:00 from the previous day) plus all the archive logs from the backup time until the restore time, in this case from 23:00 until 09:00.
If any of these files have been moved (e.g. archived to tape) restore them to the default locations on the oracle database server.
Set the environment variable NLS_LANG for your character set -
Mount the instance
C:\> Set ORACLE_SID=Live
C:\> rman TARGET SYS/Password NOCATALOG
RMAN:> shutdown immediate;
RMAN:> startup mount;
Restore and recover the datafiles
allocate channel dev1 type disk;
set until time "to_date('2011-12-30:00:00:00', 'yyyy-mm-dd:hh24:mi:ss')";
recover database; }
For a large database it can take a long time to restore each tablespace - for better performance during a restore place the RMAN backup files on a separate disk to the Oracle datafiles to reduce disk contention.
Open the database and reset logs
RMAN> alter database open resetlogs;
This will update all current datafiles and online redo logs and all subsequent archived redo logs with a new RESETLOGS SCN and time stamp.
As soon as you have done a resetlogs run a full backup, this is important as should you suffer a second failure you will not be able to perform a second recovery because after resetting the logs the SCN numbers will no longer match any older backup files.
“To see and to be seen, in heaps they run; / Some to undo, and some to be undone” ~ John Dryden
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.
RESTORE - Restore 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