RMAN Restore

Restore Tablespace

rman target /

REPORT SCHEMA;

RESTORE TABLESPACE mytablespace;

RESTORE operations are logged to the database alert.log
REPORT SCHEMA; will show datafile detail including file number, file name and tablespace name.

Restore Datafile

rman target /

REPORT SCHEMA;

RESTORE DATAFILE 6;

RESTORE operations are logged to the database alert.log
REPORT SCHEMA; will show datafile detail including file number, file name and tablespace name.

Recover Datafile

rman target /

REPORT SCHEMA;

RECOVER DATAFILE 6;

RECOVER operations are logged to the database alert.log
REPORT SCHEMA; will show datafile detail including file number, file name and tablespace name.

You can achieve the same thing via SQL*Plus...

sqlplus / as sysdba

ALTER DATABASE DATAFILE 6 OFFLINE;

RECOVER DATAFILE 6;

ALTER DATABASE DATAFILE 6 ONLINE;

Recovery Progress

Restore backup from a different location

To tell RMAN about new backup files...

(perhaps there's a problem with the default location and you restored the backup files from tape to a new location)

CATALOG START WITH '/my/backup/location'

If you are trying to do a full restore before the database is mounted...

(perhaps you are using the 10g method to build a physical standby)

...you won't be able to do the above... you will get:

ORA-01507: database not mounted

One workaround for this is to create a symbolic link from the original backup location to the new backup location...

(in the example below the database was backed up to /u02/backup but we want to restore from /backup)

ln -s /backup /u02/backup

Bibliography