Eski Bir Backupı Nasıl Restore Edebiliriz

Eğer database’ inizden sadece rman backup alıyorsanız, günün birinde şöyle bir sorunla karşılaşabilirsiniz; Sadece tablonun birinde bir problem oluştuğunu ve olması gereken dataların artık olmadığını farkettiğinizde ne yapacaksınız. Maalesefki şu anda RMAN ile tablo bazında bir restore / recover işlemi yapılamıyor. Bundan sonraki oracle versiyonlarında bunun içinde bir çözüm bulunmasını bekliyorum Şu aşama da yapılabileceklerimiz aslında sınırlı, problemin yaşandığı günden önceki bir güne ait backupımızın durduğunu varsayarak tablespace bazında veya full restore/recover opsiyonlarından birini seçmemiz gerekecektir.

Bunu yaparkende çoğu zaman prod ortamlarda kesinti yapmak çok mümkün olmadığından sadece bu iş için farklı bir instance create edip, backuğımızı buraya döndükden sonra dataları kurtarıp, yeni ortamı drop etmek şeklinde bir yol izleyebiliriz. Benim kullandığım ortam zaten test ortamım olduğu için ben yeni bir instance create etmeyip kendi üzerinde testlerimi yapıyor olacağım.

Bizde şu anda eski bir backupdan dönmeye çalışalım.
Bunun için önce backuplarımızı kontrol edelim ;

RMAN> list backup ;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
——- —- — ———- ———– ———— —————
2 Full 1.01G DISK 00:00:22 09-OCT-11
BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20111009T134249
Piece Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_10_09\O1_MF_NNNDF_TAG20111
009T134249_792YOBJ3_.BKP
List of Datafiles in backup set 2
File LV Type Ckp SCN Ckp Time Name
—- — —- ———- ——— —-
1 Full 1111627 09-OCT-11 C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF
2 Full 1111627 09-OCT-11 C:\ORACLE\ORADATA\TEST\SYSAUX01.DBF
3 Full 1111627 09-OCT-11 C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF
4 Full 1111627 09-OCT-11 C:\ORACLE\ORADATA\TEST\USERS01.DBF
5 Full 1111627 09-OCT-11 C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF

BS Key Type LV Size Device Type Elapsed Time Completion Time
——- —- — ———- ———– ———— —————
3 Full 9.36M DISK 00:00:01 09-OCT-11
BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20111009T134249
Piece Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_10_09\O1_MF_NCSNF_TAG20111
009T134249_792YP4M1_.BKP
SPFILE Included: Modification time: 09-OCT-11
SPFILE db_unique_name: TEST
Control File Included: Ckp SCN: 1111638 Ckp time: 09-OCT-11

BS Key Type LV Size Device Type Elapsed Time Completion Time
——- —- — ———- ———– ———— —————
5 Full 1.01G DISK 00:00:23 09-OCT-11
BP Key: 5 Status: AVAILABLE Compressed: NO Tag: TAG20111009T134557
Piece Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_10_09\O1_MF_NNNDF_TAG20111
009T134557_792YV5X9_.BKP
List of Datafiles in backup set 5
File LV Type Ckp SCN Ckp Time Name
—- — —- ———- ——— —-
1 Full 1111751 09-OCT-11 C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF
2 Full 1111751 09-OCT-11 C:\ORACLE\ORADATA\TEST\SYSAUX01.DBF
3 Full 1111751 09-OCT-11 C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF
4 Full 1111751 09-OCT-11 C:\ORACLE\ORADATA\TEST\USERS01.DBF
5 Full 1111751 09-OCT-11 C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF

BS Key Type LV Size Device Type Elapsed Time Completion Time
——- —- — ———- ———– ———— —————
6 Full 9.36M DISK 00:00:00 09-OCT-11
BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20111009T134623
Piece Name: D:\ORACLE\FRA\TEST\AUTOBACKUP\2011_10_09\O1_MF_S_764084783_7
92YVZN0_.BKP
SPFILE Included: Modification time: 09-OCT-11
SPFILE db_unique_name: TEST
Control File Included: Ckp SCN: 1111768 Ckp time: 09-OCT-11

BS Key Type LV Size Device Type Elapsed Time Completion Time
——- —- — ———- ———– ———— —————
7 Full 9.36M DISK 00:00:01 10-OCT-11
BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20111010T232555
Piece Name: D:\ORACLE\FRA\TEST\AUTOBACKUP\2011_10_10\O1_MF_S_764205955_7
96O6MSW_.BKP
SPFILE Included: Modification time: 10-OCT-11
SPFILE db_unique_name: TEST
Control File Included: Ckp SCN: 1183105 Ckp time: 10-OCT-11

List backup çıktısının bir kısmını buraya ekledim. Konuyu açıklamak yeterli olacaktır diye düşünüyorum. Burada alınan her backup’ ın bir etiket ismi bulunmaktadır. Bu ismi siz backupı alırken verebilirsiniz eğer vermezseniz sistem atomatic olarak bir etiket verecektir. BP ile başlayan kısımlardaki tag: kısımları bu etiket isimlerini içermektedir. Bizde önceki bir backupa dönmek istediğimizde kullanacağımız yöntemlerden biride bu tag parametresi olacaktır.

Örneğin; 2011-10-16 tarihine dönmeye çalışalım. Tag etiketi = TAG20111016T143342

Full dönmek istersek ;

Starting restore at 11-DEC-11
using channel ORA_DISK_1
recovery area destination: D:\oracle\fra\
database name (or database unique name) used for search: TEST
channel ORA_DISK_1: AUTOBACKUP D:\ORACLE\FRA\TEST\AUTOBACKUP\2011_10_16\O1_MF_S_
764692458_79OJ9VFO_.BKP found in the recovery area
channel ORA_DISK_1: looking for AUTOBACKUP on day: 20111016
channel ORA_DISK_1: restoring control file from AUTOBACKUP D:\ORACLE\FRA\TEST\AU
TOBACKUP\2011_10_16\O1_MF_S_764692458_79OJ9VFO_.BKP
channel ORA_DISK_1: control file restore from AUTOBACKUP complete
output file name=C:\ORACLE\ORADATA\TEST\CONTROL01.CTL
output file name=C:\ORACLE\FLASH_RECOVERY_AREA\TEST\CONTROL02.CTL
Finished restore at 11-DEC-11
RMAN>

database mounted
released channel: ORA_DISK_1
RMAN>

….
….
….
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_ANNNN_TAG20111211T163636_7G9J5NCM_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_ANNNN_TAG20111211T164549_7G9JJX8H_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NCNNF_TAG20111211T163619_7G9HZ4QX_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NNNDF_TAG20111211T123737_7G91ZNRD_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NNNDF_TAG20111211T123737_7G91ZP3W_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NNNDF_TAG20111211T123737_7G91ZQM0_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NNNDF_TAG20111211T123737_7G91ZVT9_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NNNDF_TAG20111211T123737_7G9208RP_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NNNDF_TAG20111211T123737_7G920NQ3_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NNNDF_TAG20111211T164124_7G9J8NT6_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NNNDF_TAG20111211T164124_7G9J8PS6_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NNNDF_TAG20111211T164124_7G9J8QNT_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NNNDF_TAG20111211T164124_7G9J8TFZ_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NNNDF_TAG20111211T164124_7G9J93DJ_.BKP
File Name: D:\ORACLE\FRA\TEST\BACKUPSET\2011_12_11\O1_MF_NNNDF_TAG20111211T164124_7G9J9N09_.BKP
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF
channel ORA_DISK_1: restoring datafile 00002 to C:\ORACLE\ORADATA\TEST\SYSAUX01.DBF
channel ORA_DISK_1: restoring datafile 00003 to C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF
channel ORA_DISK_1: restoring datafile 00004 to C:\ORACLE\ORADATA\TEST\USERS01.DBF
channel ORA_DISK_1: restoring datafile 00005 to C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF
channel ORA_DISK_1: restoring datafile 00006 to C:\ORACLE\ORADATA\TEST\DBADATA01.DBF
channel ORA_DISK_1: reading from backup piece D:\ORACLE\FRA\TEST\BACKUPSET\2011_10_16\O1_MF_NNNDF_TAG20111016T143342_79OJ8RFO_.BKP
channel ORA_DISK_1: piece handle=D:\ORACLE\FRA\TEST\BACKUPSET\2011_10_16\O1_MF_NNNDF_TAG20111016T143342_79OJ8RFO_.BKP tag=TAG20111016T143342
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:45
Finished restore at 11-DEC-11
RMAN>

Starting recover at 11-DEC-11
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 1039 is already on disk as file C:\ORACLE\ORADATA\TEST\REDO01.LOG
archived log for thread 1 with sequence 1040 is already on disk as file C:\ORACLE\ORADATA\TEST\REDO02.LOG
archived log for thread 1 with sequence 1041 is already on disk as file C:\ORACLE\ORADATA\TEST\REDO03.LOG
unable to find archived log
archived log thread=1 sequence=34
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 12/11/2011 17:16:08
RMAN-06054: media recovery requesting unknown archived log for thread 1 with seq
uence 34 and starting SCN of 1380563

database opened
RMAN>

İstediğimiz güne sorunsuz olarak dönmüş olduk. Yaptıklarımızı şöyle özetleyebiliriz. Dönmek istediğimiz backupın bilgisi o günkü control file’ de olduğundan dolayı öncelikle controlfile’ imizi döndük. Sonra backupımızı restore edip resetlog ile açtık.

Be Sociable, Share!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


2 × = ondört