Restore/Recovery using RMAN with different scenarios:
==============================================================
POINT IN TIME PRODUCTION RESTORE/RECOVERY USING RMAN BACKUPS
ASSUMPTION:
*This restore recover situation is pertaining to Restoring database from 15th Sep 09 backup and recovering point in time upto 16th Sep 09 12:00 Noon. (This situation raised as a user made logical error in the database).
*Took a backup of current database using RMAN and also kept a cold backup after shutting down the database. This is usefull in case of reverting back the database to original.
*Remove all Controlfiles/Logfile/Database files including undo,temp from the original location.
*Make sure RMAN catalog database tnsentry is available in Restoring production server.
Connect to target database and recovery catalog database using following command.
rman catalog username/password@catalogdb target sys/password@targetdb
Get the backup piece information with List backup command in RMAN.
RMAN> List backup;
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
4173 Full 3M DISK 00:00:01 15-SEP-09
BP Key: 4173 Status: AVAILABLE Tag: TAG20090915T182528
Piece Name: F:\BACKUPS\RMAN\SID\SID_20090915_697659929_4273_1.CTL
Controlfile Included: Ckp SCN: 136760496 Ckp time: 15-SEP-09
Get the Controlfile name and Tag name of 15 Sep 09 controlfile backup.
Backup piece name : SID_20090915_697659929_4273_1.CTL
Tag name : TAG20090915T182528
Restore controlfile from Tag name.
run{
allocate channel ch1 type DISK;
restore controlfile from tag 'TAG20090915T182528';
release channel ch1;
}
Mount the database.
RMAN> alter database mount;
database mounted
IMP NOTE:
At this point, Restore database command alone will restore the latest backup pieces from auto backup since this is from catalog. taken on 16th Sep 09. Hence Find out the appropriate tag for database files on 15th Sep 09 and use it for restoration.
RMAN> list backup summary completed after 'sysdate -2';
List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Tag
------- -- -- - ----------- --------------- ------- ------- ---
235823 B 0 A SBT_TAPE 15-SEP-09 1 1 TAG20090915T010133
235824 B 0 A SBT_TAPE 15-SEP-09 1 1 TAG20090915T010133
235825 B 0 A SBT_TAPE 15-SEP-09 1 1 TAG20090915T010133
235826 B 0 A SBT_TAPE 15-SEP-09 1 1 TAG20090915T010133
235827 B F A SBT_TAPE 15-SEP-09 1 1
235828 B A A SBT_TAPE 15-SEP-09 1 1 TAG20090915T012854
235829 B A A SBT_TAPE 15-SEP-09 1 1 TAG20090915T012854
235830 B A A SBT_TAPE 15-SEP-09 1 1 TAG20090915T012854
235831 B A A SBT_TAPE 15-SEP-09 1 1 TAG20090915T012854
235832 B A A SBT_TAPE 15-SEP-09 1 1 TAG20090915T012854
235833 B F A SBT_TAPE 15-SEP-09 1 1 TAG20090915T012929
235834 B F A SBT_TAPE 15-SEP-09 1 1
235835 B A A SBT_TAPE 15-SEP-09 1 1 TAG20090915T110015
235836 B A A SBT_TAPE 15-SEP-09 1 1 TAG20090915T110015
235837 B A A SBT_TAPE 15-SEP-09 1 1 TAG20090915T110015
235838 B A A SBT_TAPE 15-SEP-09 1 1 TAG20090915T110015
235839 B F A SBT_TAPE 15-SEP-09 1 1
235894 B F A DISK 15-SEP-09 1 1 TAG20090915T182007
235895 B F A DISK 15-SEP-09 1 1 TAG20090915T182007
235915 B F A DISK 15-SEP-09 1 1 TAG20090915T182528
235922 B A A DISK 15-SEP-09 1 1 TAG20090915T182532
235923 B A A DISK 15-SEP-09 1 1 TAG20090915T182532
235924 B A A DISK 15-SEP-09 1 1 TAG20090915T182532
235936 B F A DISK 15-SEP-09 1 1
236271 B F A DISK 16-SEP-09 1 1 TAG20090916T172304
236272 B F A DISK 16-SEP-09 1 1 TAG20090916T172304
236292 B F A DISK 16-SEP-09 1 1 TAG20090916T172837
236299 B A A DISK 16-SEP-09 1 1 TAG20090916T172851
236303 B F A DISK 16-SEP-09 1 1
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
235894 Full 6G DISK 00:03:56 15-SEP-09
BP Key: 235896 Status: AVAILABLE Tag: TAG20090915T182007
Piece Name: F:\BACKUPS\RMAN\SID\SID_20090915_697659608_4271_1.DBF
List of Datafiles in backup set 235894
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 136760211 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_SYSTEM01.DBF
2 Full 136760211 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_FWPDS02.DBF
5 Full 136760211 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_FWDATAMART01.DB
6 Full 136760211 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_FWINDEX01.DBF
8 Full 136760211 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_FWLOB01.DBF
14 Full 136760211 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_BUSOBJS01.DBF
15 Full 136760211 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_IVIEWS01.DBF
17 Full 136760211 15-SEP-09 E:\ORACLE\ORADATA\SID\SID_UNDOTBS1.DBF
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
235895 Full 8G DISK 00:05:12 15-SEP-09
BP Key: 235897 Status: AVAILABLE Tag: TAG20090915T182007
Piece Name: F:\BACKUPS\RMAN\SID\SID_20090915_697659609_4272_1.DBF
List of Datafiles in backup set 235895
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
3 Full 136760212 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_CWMLITE01.DBF
4 Full 136760212 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_DRSYS01.DBF
7 Full 136760212 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_FWIVINDEX01.DBF
9 Full 136760212 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_FWPDS01.DBF
10 Full 136760212 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_ODM01.DBF
11 Full 136760212 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_TOOLS01.DBF
12 Full 136760212 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_USERS01.DBF
13 Full 136760212 15-SEP-09 D:\ORACLE\ORADATA\SID\SID_XDB01.DBF
Run the below command to restore the database from tag
run{
allocate channel ch1 type DISK;
allocate channel ch2 type DISK;
allocate channel ch3 type DISK;
allocate channel ch4 type DISK;
RESTORE DATABASE from tag 'TAG20090915T182007';
release channel ch1;
release channel ch2;
release channel ch3;
release channel ch4;
}
Recover database until the required time of 16th Sep 09 12:00PM noon.
*Check the availability of Archivelog files its asking for. If Archivelog files already available in the default location, no need to restore the archive log files.
SQL> RECOVER DATABASE UNTIL TIME '2009-09-16:12:00:00' USING BACKUP CONTROLFILE;
ORA-00279: change 136760211 generated at 09/15/2009 18:20:09 needed for thread
1
ORA-00289: suggestion : E:\ORACLE\ORADATA\SID\ARCHIVE\ARC01202001
ORA-00280: change 136760211 for thread 1 is in sequence #1202
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: change 136760501 generated at 09/15/2009 18:25:31 needed for thread
1
ORA-00289: suggestion : E:\ORACLE\ORADATA\SID\ARCHIVE\ARC01203001
ORA-00280: change 136760501 for thread 1 is in sequence #1203
ORA-00278: log file 'E:\ORACLE\ORADATA\SID\ARCHIVE\ARC01202001' no longer
needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
Log applied.
Media recovery complete.
Verify the checkpoint time for all the datafiles. It should show the same restore time.
SQL> Select distinct to_char(checkpoint_time,’DD-MON-YYYY HH24:MI:SS’) from v$datafile;
Once all archive log files are applied and after the status is Media recover complete, Use alter database open resetlogs to open the database.
SQL> alter database open resetlogs;
Database altered.
Add temp files as required.
SQL> alter tablespace temp add tempfile 'E:\ORACLE\ORADATA\SID\SID_TEMP01.DBF' size 200m;
Tablespace altered.
Perform a basic health check as required.
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------- ----------
SID READ WRITE
SQL> alter system checkpoint;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination E:\Oracle\oradata\SID\archive
Oldest online log sequence 1
Next log sequence to archive 3
Current log sequence 3
Verify database connectivity from local laptop or any other hosts.
IMPNOTE:
As this is a new database incarnation all further Rman backups will fail as this new incarnation is not registered in the catalog database. Issue the following command to register this database incarnation to the catalog.
RMAN> reset database;
new incarnation of database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
RMAN> list incarnation;
List of Database Incarnations
DB Key Inc Key DB Name DB ID CUR Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 2 SID 3580177852 NO 1 04-JUN-07
1 144370 SID 3580177852 NO 97271318 28-NOV-08
1 242850 SID 3580177852 YES 136846506 16-SEP-09
Finally take a backup of production database immediately after restore recovery.
No comments:
Post a Comment