Oracle Recovery
UNTIL TIME Recovery
SQL> shutdown immediate; SQL> startup mount; —No restore b/c OS or other means are used to restore necessary files— SQL> recover database UNTIL TIME '2006-08-15:14:07:00' The time format must be in the format YYYY-MM-DD:HH24:MM:SS irrespective of NLS_DATE_FORMAT SQL> alter database open resetlogs;
restore from plsql
da: http://docs.oracle.com/cd/A87860_01/doc/server.817/a76990/rmanreco.htm#441496
Restoring the Control File from a Backup Set Without Using RMAN
You must use a non-standard procedure to restore a control file from an RMAN backup set in the following situations:
You are using a pre-8.0.5 version of RMAN to restore a database when more than one database with the same name is registered in the recovery catalog (see "Restoring When Multiple Databases Share the Same Name" for a discussion of this problem).
You are not using a recovery catalog, and your only control file backup is in an RMAN backup set.
If you have no other backup of the control file except in a RMAN backup set, and you need the control file to perform a restore operation, use the following PL/SQL program to extract the control file from the backup set. Run this program from SQL*Plus while connected as SYSDBA to the target database:
DECLARE
devtype varchar2(256);
done boolean;
BEGIN
devtype := dbms_backup_restore.deviceallocate('devtype', params=>);
# Replace 'devtype' with the device type you used when creating the backup: NULL or
# sbt_tape. If you used an sbt_tape device and specified a 'parms' option on the RMAN
# allocate channel command, then put that parms data in the 'params' operand here.
dbms_backup_restore.restoresetdatafile;
dbms_backup_restore.restorecontrolfileto('/tmp/foo.cf');
# This path specifies the location for the restored control file. If there are multiple
# control files specified in the init.ora file, copy the control file to all specified
# locations before mounting the database.
dbms_backup_restore.restorebackuppiece('handle',done=>done);
# Replace 'handle' with the your backup piece handle. This example assumes that the
# backup set contains only one backup piece. If there is more than one backup piece in
# the backup set (which only happens if the RMAN command set limit kbytes is used), then
# repeat the restorebackuppiece statement for each backup piece in the backup set.
END;
/