RMAN Restore Database

-- Before start
get the info on the ALERT.LOG regarding last TIMESTAMP valid, 
the last time before the crash;

Example:

Wed Jan 04 15:28:43 2017
Thread 1 advanced to log sequence 8725 (LGWR switch)
  Current log# 3 seq# 8725 mem# 0: /u01/oradata/dbtst/redo03.log
Wed Jan 04 15:28:43 2017 <------------------------------------------------------------ * THIS ON THIS CASE
Archived Log entry 13322 added for thread 1 sequence 8724 ID 0xee867f48 dest 1:
Wed Jan 04 15:43:40 2017
Errors in file /u01/oracle/diag/rdbms/dbtst/dbtst/trace/dbtst_m002_10209.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/oradata/dbtst/redo01.log'
ORA-27037: unable to obtain file status
/15:43:40 2017 


1.)
rman target /

list backup of controlfile:

(take the last one)

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
8421    Full    14.92M     DISK        00:00:01     04-JAN-17
        BP Key: 8421   Status: AVAILABLE  Compressed: NO  Tag: TAG20170104T051133
        Piece Name: /oracle_backups/ITT/dbtst_ctl_s_DBTST932361094u5rp5cs6_1_1
  Standby Control File Included: Ckp SCN: 60656341385   Ckp time: 04-JAN-17


2.)
Controlfile Location:

sqlplus / as sysdba

show parameter control;

/u01/oradata/dbtst/control01.ctl, /u01/oradata/dbtst/control02.ctl

3.) Check if still have the controlfiles:

[oracle@lnx01/ SID : dbtst]$ ls -ltr
total 45744
-rw-r----- 1 oracle oinstall 15613952 Jan  4 13:48 snapcf_dbtst.ctl
-rw-r----- 1 oracle oinstall 15613952 Jan  4 16:26 control02.ctl
-rw-r----- 1 oracle oinstall 15613952 Jan  4 16:26 control01.ctl

4.) Try first do the restore using the existent controlfile, 
if doesn't have anymore the files you need use the backup on the STEP 1, 
to restore the latest controlfile before start
the restore database operation;

JUST in case of you don't have any more the CONTROLFILES execute the step below:

rman target /

startup nomount;

RESTORE CONTROLFILE FROM "/oracle_backups/ITT/dbtst_ctl_s_DBTST932361094u5rp5cs6_1_1"; 

If the CONTROLFILES are in place, proceed like below:

rman target /
startup mount;

run
{
set until time "to_date('04-JAN-2017:15:28:43', 'DD-MON-YYYY:HH24:MI:SS')" ; 
restore database;
recover database;
}

RMAN> alter database open resetlogs;

Statement processed

Advertisements

Recover Table – RMAN 12c

$ rman target=/
Recovery Manager: Release 12.1.0.1.0 - Production on Thu Dec 26 17:26:12 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
connected to target database: DB12C (DBID=1289223812)
RECOVER TABLE 'TEST'.'T1'
 UNTIL SCN 1853267
 AUXILIARY DESTINATION '/u01/aux'
 DATAPUMP DESTINATION '/u01/export'
 DUMP FILE 'test_t1_prev.dmp'
 NOTABLEIMPORT;
Starting recover at 26-DEC-13
 using target database control file instead of recovery catalog
 allocated channel: ORA_DISK_1
 channel ORA_DISK_1: SID=264 device type=DISK
 RMAN-05026: WARNING: presuming following set of tablespaces applies to specified Point-in-Time
List of tablespaces expected to have UNDO segments
 Tablespace SYSTEM
 Tablespace UNDOTBS1
Creating automatic instance, with SID='ytEa'
initialization parameters used for automatic instance:
 db_name=DB12C
 db_unique_name=ytEa_pitr_DB12C
 compatible=12.1.0.0.0
 db_block_size=8192
 db_files=200
 sga_target=1G
 processes=80
 diagnostic_dest=/u01/app/oracle
 db_create_file_dest=/u01/aux
 log_archive_dest_1='location=/u01/aux'
 #No auxiliary parameter file used
starting up automatic instance DB12C
Oracle instance started
Total System Global Area    1068937216 bytes
Fixed Size                     2296576 bytes
 Variable Size                281019648 bytes
 Database Buffers             780140544 bytes
 Redo Buffers                   5480448 bytes
 Automatic instance created
contents of Memory Script:
 {
 # set requested point in time
 set until  scn 1853267;
 # restore the controlfile
 restore clone controlfile;
 # mount the controlfile
 sql clone 'alter database mount clone database';
 # archive current online log
 sql 'alter system archive log current';
 }
 executing Memory Script
executing command: SET until clause
Starting restore at 26-DEC-13
 allocated channel: ORA_AUX_DISK_1
 channel ORA_AUX_DISK_1: SID=83 device type=DISK
channel ORA_AUX_DISK_1: starting datafile backup set restore
 channel ORA_AUX_DISK_1: restoring control file
 channel ORA_AUX_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/DB12C/autobackup/2013_12_26/o1_mf_s_835203240_9crqs93z_.bkp
 channel ORA_AUX_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/DB12C/autobackup/2013_12_26/o1_mf_s_835203240_9crqs93z_.bkp tag=TAG20131226T165400
 channel ORA_AUX_DISK_1: restored backup piece 1
 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
 output file name=/u01/aux/DB12C/controlfile/o1_mf_9crsqbtl_.ctl
 Finished restore at 26-DEC-13
sql statement: alter database mount clone database
sql statement: alter system archive log current
contents of Memory Script:
 {
 # set requested point in time
 set until  scn 1853267;
 # set destinations for recovery set and auxiliary set datafiles
 set newname for clone datafile  1 to new;
 set newname for clone datafile  4 to new;
 set newname for clone datafile  3 to new;
 set newname for clone tempfile  1 to new;
 # switch all tempfiles
 switch clone tempfile all;
 # restore the tablespaces in the recovery set and the auxiliary set
 restore clone datafile  1, 4, 3;
 switch clone datafile all;
 }
 executing Memory Script
executing command: SET until clause
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
renamed tempfile 1 to /u01/aux/DB12C/datafile/o1_mf_temp_%u_.tmp in control file
Starting restore at 26-DEC-13
 using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: restoring datafile 00001
 input datafile copy RECID=1 STAMP=835203194 file name=/u01/app/oracle/fast_recovery_area/DB12C/datafile/o1_mf_system_9crqq7tj_.dbf
 destination for restore of datafile 00001: /u01/aux/DB12C/datafile/o1_mf_system_%u_.dbf
 channel ORA_AUX_DISK_1: copied datafile copy of datafile 00001
 output file name=/u01/aux/DB12C/datafile/o1_mf_system_9crsqq4q_.dbf RECID=5 STAMP=835205289
 channel ORA_AUX_DISK_1: restoring datafile 00004
 input datafile copy RECID=3 STAMP=835203231 file name=/u01/app/oracle/fast_recovery_area/DB12C/datafile/o1_mf_undotbs1_9crqrtww_.dbf
 destination for restore of datafile 00004: /u01/aux/DB12C/datafile/o1_mf_undotbs1_%u_.dbf
 channel ORA_AUX_DISK_1: copied datafile copy of datafile 00004
 output file name=/u01/aux/DB12C/datafile/o1_mf_undotbs1_9crssgvd_.dbf RECID=6 STAMP=835205302
 channel ORA_AUX_DISK_1: restoring datafile 00003
 input datafile copy RECID=2 STAMP=835203221 file name=/u01/app/oracle/fast_recovery_area/DB12C/datafile/o1_mf_sysaux_9crqr1k4_.dbf
 destination for restore of datafile 00003: /u01/aux/DB12C/datafile/o1_mf_sysaux_%u_.dbf
 channel ORA_AUX_DISK_1: copied datafile copy of datafile 00003
 output file name=/u01/aux/DB12C/datafile/o1_mf_sysaux_9crssybx_.dbf RECID=7 STAMP=835205396
 Finished restore at 26-DEC-13
datafile 1 switched to datafile copy
 input datafile copy RECID=8 STAMP=835205407 file name=/u01/aux/DB12C/datafile/o1_mf_system_9crsqq4q_.dbf
 datafile 4 switched to datafile copy
 input datafile copy RECID=9 STAMP=835205408 file name=/u01/aux/DB12C/datafile/o1_mf_undotbs1_9crssgvd_.dbf
 datafile 3 switched to datafile copy
 input datafile copy RECID=10 STAMP=835205408 file name=/u01/aux/DB12C/datafile/o1_mf_sysaux_9crssybx_.dbf
contents of Memory Script:
 {
 # set requested point in time
 set until  scn 1853267;
 # online the datafiles restored or switched
 sql clone "alter database datafile  1 online";
 sql clone "alter database datafile  4 online";
 sql clone "alter database datafile  3 online";
 # recover and open database read only
 recover clone database tablespace  "SYSTEM", "UNDOTBS1", "SYSAUX";
 sql clone 'alter database open read only';
 }
 executing Memory Script
executing command: SET until clause
sql statement: alter database datafile  1 online
sql statement: alter database datafile  4 online
sql statement: alter database datafile  3 online
Starting recover at 26-DEC-13
 using channel ORA_AUX_DISK_1
starting media recovery
archived log for thread 1 with sequence 10 is already on disk as file /u01/app/oracle/fast_recovery_area/DB12C/archivelog/2013_12_26/o1_mf_1_10_9crrn5od_.arc
 channel ORA_AUX_DISK_1: starting archived log restore to default destination
 channel ORA_AUX_DISK_1: restoring archived log
 archived log thread=1 sequence=9
 channel ORA_AUX_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/DB12C/backupset/2013_12_26/o1_mf_annnn_DB12C_INCR_BACKUP_9crqs5hv_.bkp
 channel ORA_AUX_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/DB12C/backupset/2013_12_26/o1_mf_annnn_DB12C_INCR_BACKUP_9crqs5hv_.bkp tag=DB12C_INCR_BACKUP
 channel ORA_AUX_DISK_1: restored backup piece 1
 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:04
 archived log file name=/u01/aux/1_9_835199044.dbf thread=1 sequence=9
 archived log file name=/u01/app/oracle/fast_recovery_area/DB12C/archivelog/2013_12_26/o1_mf_1_10_9crrn5od_.arc thread=1 sequence=10
 media recovery complete, elapsed time: 00:00:06
 Finished recover at 26-DEC-13
sql statement: alter database open read only
contents of Memory Script:
 {
 sql clone "create spfile from memory";
 shutdown clone immediate;
 startup clone nomount;
 sql clone "alter system set  control_files =
 ''/u01/aux/DB12C/controlfile/o1_mf_9crsqbtl_.ctl'' comment=
 ''RMAN set'' scope=spfile";
 shutdown clone immediate;
 startup clone nomount;
 # mount database
 sql clone 'alter database mount clone database';
 }
 executing Memory Script
sql statement: create spfile from memory
database closed
 database dismounted
 Oracle instance shut down
connected to auxiliary database (not started)
 Oracle instance started
Total System Global Area    1068937216 bytes
Fixed Size                     2296576 bytes
 Variable Size                285213952 bytes
 Database Buffers             775946240 bytes
 Redo Buffers                   5480448 bytes
sql statement: alter system set  control_files =   ''/u01/aux/DB12C/controlfile/o1_mf_9crsqbtl_.ctl'' comment= ''RMAN set'' scope=spfile
Oracle instance shut down
connected to auxiliary database (not started)
 Oracle instance started
Total System Global Area    1068937216 bytes
Fixed Size                     2296576 bytes
 Variable Size                285213952 bytes
 Database Buffers             775946240 bytes
 Redo Buffers                   5480448 bytes
sql statement: alter database mount clone database
contents of Memory Script:
 {
 # set requested point in time
 set until  scn 1853267;
 # set destinations for recovery set and auxiliary set datafiles
 set newname for datafile  6 to new;
 # restore the tablespaces in the recovery set and the auxiliary set
 restore clone datafile  6;
 switch clone datafile all;
 }
 executing Memory Script
executing command: SET until clause
executing command: SET NEWNAME
Starting restore at 26-DEC-13
 allocated channel: ORA_AUX_DISK_1
 channel ORA_AUX_DISK_1: SID=11 device type=DISK
channel ORA_AUX_DISK_1: restoring datafile 00006
 input datafile copy RECID=4 STAMP=835203234 file name=/u01/app/oracle/fast_recovery_area/DB12C/datafile/o1_mf_users_9crqs296_.dbf
 destination for restore of datafile 00006: /u01/aux/YTEA_PITR_DB12C/datafile/o1_mf_users_%u_.dbf
 channel ORA_AUX_DISK_1: copied datafile copy of datafile 00006
 output file name=/u01/aux/YTEA_PITR_DB12C/datafile/o1_mf_users_9crt0tl5_.dbf RECID=11 STAMP=835205530
 Finished restore at 26-DEC-13
datafile 6 switched to datafile copy
 input datafile copy RECID=12 STAMP=835205531 file name=/u01/aux/YTEA_PITR_DB12C/datafile/o1_mf_users_9crt0tl5_.dbf
contents of Memory Script:
 {
 # set requested point in time
 set until  scn 1853267;
 # online the datafiles restored or switched
 sql clone "alter database datafile  6 online";
 # recover and open resetlogs
 recover clone database tablespace  "USERS", "SYSTEM", "UNDOTBS1", "SYSAUX" delete archivelog;
 alter clone database open resetlogs;
 }
 executing Memory Script
executing command: SET until clause
sql statement: alter database datafile  6 online
Starting recover at 26-DEC-13
 using channel ORA_AUX_DISK_1
starting media recovery
archived log for thread 1 with sequence 10 is already on disk as file /u01/app/oracle/fast_recovery_area/DB12C/archivelog/2013_12_26/o1_mf_1_10_9crrn5od_.arc
 channel ORA_AUX_DISK_1: starting archived log restore to default destination
 channel ORA_AUX_DISK_1: restoring archived log
 archived log thread=1 sequence=9
 channel ORA_AUX_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/DB12C/backupset/2013_12_26/o1_mf_annnn_DB12C_INCR_BACKUP_9crqs5hv_.bkp
 channel ORA_AUX_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/DB12C/backupset/2013_12_26/o1_mf_annnn_DB12C_INCR_BACKUP_9crqs5hv_.bkp tag=DB12C_INCR_BACKUP
 channel ORA_AUX_DISK_1: restored backup piece 1
 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
 archived log file name=/u01/aux/1_9_835199044.dbf thread=1 sequence=9
 channel clone_default: deleting archived log(s)
 archived log file name=/u01/aux/1_9_835199044.dbf RECID=3 STAMP=835205538
 archived log file name=/u01/app/oracle/fast_recovery_area/DB12C/archivelog/2013_12_26/o1_mf_1_10_9crrn5od_.arc thread=1 sequence=10
 media recovery complete, elapsed time: 00:00:02
 Finished recover at 26-DEC-13
database opened
contents of Memory Script:
 {
 # create directory for datapump import
 sql "create or replace directory TSPITR_DIROBJ_DPDIR as ''
 /u01/export''";
 # create directory for datapump export
 sql clone "create or replace directory TSPITR_DIROBJ_DPDIR as ''
 /u01/export''";
 }
 executing Memory Script
sql statement: create or replace directory TSPITR_DIROBJ_DPDIR as ''/u01/export''
sql statement: create or replace directory TSPITR_DIROBJ_DPDIR as ''/u01/export''
Performing export of tables...
 EXPDP> Starting "SYS"."TSPITR_EXP_ytEa_eihl":
 EXPDP> Estimate in progress using BLOCKS method...
 EXPDP> Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
 EXPDP> Total estimation using BLOCKS method: 64 KB
 EXPDP> Processing object type TABLE_EXPORT/TABLE/TABLE
 EXPDP> Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
 EXPDP> Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
 EXPDP> . . exported "TEST"."T1"                                 5.023 KB       1 rows
 EXPDP> Master table "SYS"."TSPITR_EXP_ytEa_eihl" successfully loaded/unloaded
 EXPDP> ******************************************************************************
 EXPDP> Dump file set for SYS.TSPITR_EXP_ytEa_eihl is:
 EXPDP>   /u01/export/test_t1_prev.dmp
 EXPDP> Job "SYS"."TSPITR_EXP_ytEa_eihl" successfully completed at Thu Dec 26 17:34:41 2013 elapsed 0 00:00:59
 Export completed
Not performing table import after point-in-time recovery
Removing automatic instance
 shutting down automatic instance
 Oracle instance shut down
 Automatic instance removed
 auxiliary instance file /u01/aux/DB12C/datafile/o1_mf_temp_9crsy2bq_.tmp deleted
 auxiliary instance file /u01/aux/YTEA_PITR_DB12C/onlinelog/o1_mf_3_9crt177x_.log deleted
 auxiliary instance file /u01/aux/YTEA_PITR_DB12C/onlinelog/o1_mf_2_9crt160q_.log deleted
 auxiliary instance file /u01/aux/YTEA_PITR_DB12C/onlinelog/o1_mf_1_9crt15cg_.log deleted
 auxiliary instance file /u01/aux/YTEA_PITR_DB12C/datafile/o1_mf_users_9crt0tl5_.dbf deleted
 auxiliary instance file /u01/aux/DB12C/datafile/o1_mf_sysaux_9crssybx_.dbf deleted
 auxiliary instance file /u01/aux/DB12C/datafile/o1_mf_undotbs1_9crssgvd_.dbf deleted
 auxiliary instance file /u01/aux/DB12C/datafile/o1_mf_system_9crsqq4q_.dbf deleted
 auxiliary instance file /u01/aux/DB12C/controlfile/o1_mf_9crsqbtl_.ctl deleted
 Finished recover at 26-DEC-13
RMAN>