Control file Autobackup scriptini hazırlıyoruz. Burada kendi belirlediğimiz format tipine göre yine bizim belirlediğimiz dizine otomatik olarak control filenin backup'ını alacak.
RMAN> configure controlfile autobackup format for device type disk to 'c:\rman_backup\ctlfile%F_%d-id-%I_%u';
yeni RMAN konfigürasyon parametreleri:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'c:\rman_backup\ctlfile%F_%d-id-%I_%u';
yeni RMAN konfigürasyon parametreleri başarıyla depolandı
Autobackup almayı otomatikleştirmek için
RMAN>configure controlfile autobackup on;
yapılan değişikleri ve RMAN parametrelerini görmek için
RMAN>show all;
Contol fileleri sileceğiz. Silmeden önce Database'i kapatmamız gerekiyor. Aksi halde kendisi kullandığı çin silmeye izin vermiyor.
Burada silmek yerine içlerini de başaltabiliriz. Yada control filenin olduğunu diskleri kapatabiliz. Amaç control file olmadan database'i açmak ve RMAN ile alınan yedekten dönmek.
SQL> shutdown immediate; ile database 'i kapatıyoruz.
bu işlemin ardından contol filelerin olduğu dizinde control fileleri silelim.
C:\oracle\product\10.2.0\oradata\orcl
Şimdi sqlplus'a gecerek database'i açmaya çalışıyoruz.
--standart bir kurulum yaptım. Kurulumun üzereinde herhangibi bir değişiklik yapmadım.
SQL> startup;
ORACLE anı başlatıldı.
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 197135236 bytes
Database Buffers 406847488 bytes
Redo Buffers 7135232 bytes
ORA-00205: kontrol dosyası belirleme hatası, daha fazla bilgi icin uyarı
gunluğune bakın
RMAN'a geçiyoruz.
C:\Documents and Settings\aates>rman target /
Kurtarma şdarecisi : Release 10.2.0.1.0 - Production on Sal Au 25 14:35:53 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
hedef veritabanı ile balantılı: orcl (yüklü değil)
RMAN>
Control file backupımızın olduğu dizinden backupımızı cağırarak geri yüklüyoruz.
RMAN>restore controlfile from 'c:\rman_backup\CF-D_ORCL-ID-1223590477_13KNIK92';
Şimdi restore işlemini gerçekleştirdik.
C:\oracle\product\10.2.0\oradata\orcl dizinine bakarsanız control filelerin geri geldiğini göreceğiz.
--Veritabanını açamaya çalıştığımızda
SQL> alter database open;
alter database open
*
1 satırında HATA:
ORA-01507: veritabanı kullanıma acılamadı
Fakat recover yapmamız gerekiyor sadece restore işlemi bizim için yeterli olmayacaktır.
Ama burada diyebilirsiniz ki benim Control filelerim yerinde. Ama bu control filelere database'nin son halini göstermiyor.Beli Arada yeni datafileler ekledik belki yeni tablolar yeni schemalar yarattık. İşte bunların Control File'mize göstermemiz gerekecek.
Kapatıp açmayı deneyelim.
SQL> shutdown immediate;
ORA-01507: veritabanı kullanıma açılamadı.
ORACLE anı kapatıldı.
SQL> startup;
ORACLE anı başlatıldı.
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 205523844 bytes
Database Buffers 398458880 bytes
Redo Buffers 7135232 bytes
Veritabanı kullanıma açıldı.
ORA-01589: veritabani açma için RESETLOGS veya NORESETLOGS seçenegi
kullanilmali
Resetlog ile son hali control filelere gösteriyoruz.
SQL> alter database open resetlogs;
alter database open resetlogs
*
1 satırında HATA:
ORA-01190: 1 kontrol dosyasi veya veri dosyasi son RESETLOGS'tan önce
ORA-01110: veri dosyasi 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF'
bu seferde bize datafilelerin uyumsuz olduğunu kurtarılması gerektiğini söyluyor. Bu durumda datafilerin hepsini recover yapmamız gerekecek.
RMAN' a Gecerek recover etmeyi deniyoruz.
RMAN> recover datafile 1;
recover başlatılıyor; saat 25/08/2009
implicit crosscheck backup başlatılıyor; saat 25/08/2009
kurtarma katalou yerine hedef veritabanı kontrol dosyası kullanılıyor
ayrılan kanal: ORA_DISK_1
ORA_DISK_1 kanalı: sid=155 aygt³r³=DISK
14 nesne çapraz denetlendi
implicit crosscheck backup tamamlandı; saat 25/08/2009
implicit crosscheck copy başlatılıyor; saat 25/08/2009
ORA_DISK_1 kanalı kullanılıyor
implicit crosscheck copy tamamlandı; saat 25/08/2009
kurtarma alanındaki tüm dosyalar aranıyor
dosyalar kataloğa kaydediliyor...
kataloğa kaydetme tamamlandı
kataloğa Kaydedilen Dosyaların Listesi
=======================
Dosya Adı: C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_
25\O1_MF_1_1_5979DNCO_.ARC
Dosya Adı: C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_
25\O1_MF_1_1_5979GZ8D_.ARC
Dosya Adı: C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_
25\O1_MF_1_1_5979PNTF_.ARC
Dosya Adı: C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_
25\O1_MF_1_1_5979SPOP_.ARC
Dosya Adı: C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_
25\O1_MF_1_1_597B968Y_.ARC
Dosya Adı: C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_
25\O1_MF_1_2_5979DHNY_.ARC
Dosya Adı: C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_
25\O1_MF_1_2_5979PM01_.ARC
Dosya Adı: C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_
25\O1_MF_1_2_597B994K_.ARC
Dosya Adı: C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_
25\O1_MF_1_3_5979DLTT_.ARC
ORA_DISK_1 kanalı kullanılıyor
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover komutu, 08/25/2009 14:46:44 konumunda başarısız
RMAN-06067: yedek veya yaratılmış kontrol dosyasıyla RECOVER DATABASE gereklidir
RMAN>
Archivelog lardan datafile'i düzenlmeyi denedi ama beceremedi. Bize recover database komutunu uygulamamız gerektiğini söylüyor.
Recover database işlemini denemeden önce datafilemizi rertore etmeyi deniyorum.
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF datafilesini geri yüklüyorum.
RMAN> restore datafile 1;
restore başlatılıyor; saat 25/08/2009
ORA_DISK_1 kanalı kullanılıyor
ORA_DISK_1 kanalı: veri dosyası yedek kümesi geri yüklemesi başlatılıyor
ORA_DISK_1 kanalı: yedekleme kümesinden geri yüklenecek veri dosyaları belirleniyor
veri dosyası 00001, C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF dosyasına geri yükleniyor
ORA_DISK_1 kanalı: C:\RMAN_BACKUP\DATA-D-ORCL_ID-1223590477_TS-ORCLXXXX_FNO-1_10KNIJ4P yedek parçasından okunuyor
ORA_DISK_1 kanalı: 1 yedek parçasının geri yükledi
parça kontrol noktası=C:\RMAN_BACKUP\DATA-D-ORCL_ID-1223590477_TS-ORCLXXXX_FNO-1_10KNIJ4P tag=TAG20090825T100201
ORA_DISK_1 kanalı: geri yükleme tamamlandı, geçen süre: 00:00:25
restore tamamlandı; saat 25/08/2009
şimdi benden istediği datafile'i geri yükleme işlemini gerçekleştirdim. database'i kurtarıyorum.
RMAN> recover database;
recover başlatılıyor; saat 25/08/2009
ORA_DISK_1 kanalı kullanılıyor
ortam kurtarmayı başlatma
ortam kurtarma başarılamadı
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover komutu, 08/25/2009 14:50:30 konumunda başarısız
ORA-00283: recovery session canceled due to errors
RMAN-11003: SQL deyiminin çözümlenmesi/çalıştırılması sırasında başarısızlık görülüyor: alter database recover if needed start until cancel using backup controlfile
ORA-00283: hatalar nedeniyle kurtarma oturumu iptal edildi
ORA-19909: 2 veri dosyasi artik bir sürüme ait
ORA-01110: veri dosyasi 2: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF'
--hooop bu kezde benden C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF datafile'inin bozuk olduğunu söyluyor. Bu böyle sürüp gidecek gibi duruyor. ben en iyisi restore database diyerek bu çileden kurtuluyorum.
RMAN> restore database;
restore başlatılıyor; saat 25/08/2009
ORA_DISK_1 kanalı kullanılıyor
veri dosyası 1 atlanıyor; zaten C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF dosyasına geri yüklendi
ORA_DISK_1 kanalı: veri dosyası yedek kümesi geri yüklemesi başlatılıyor
ORA_DISK_1 kanalı: yedekleme kümesinden geri yüklenecek veri dosyaları belirleniyor
veri dosyası 00002, C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF dosyasına geri yükleniyor
ORA_DISK_1 kanalı: C:\RMAN_BACKUP\DATA-D-ORCL_ID-1223590477_TS-UNDOTBS1_FNO-2_0PKNIJ13 yedek parçasından okunuyor
ORA_DISK_1 kanalı: 1 yedek parçasının geri yükledi
parça kontrol noktası=C:\RMAN_BACKUP\DATA-D-ORCL_ID-1223590477_TS-UNDOTBS1_FNO-2_0PKNIJ13 tag=TAG20090825T100003
ORA_DISK_1 kanalı: geri yükleme tamamlandı, geçen süre: 00:00:04
ORA_DISK_1 kanalı: veri dosyası yedek kümesi geri yüklemesi başlatılıyor
ORA_DISK_1 kanalı: yedekleme kümesinden geri yüklenecek veri dosyaları belirleniyor
veri dosyası 00003, C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF dosyasına geri yükleniyor
ORA_DISK_1 kanalı: C:\RMAN_BACKUP\DATA-D-ORCL_ID-1223590477_TS-SYSAUX_FNO-3_0QKNIJ17 yedek parçasından okunuyor
ORA_DISK_1 kanalı: 1 yedek parçasının geri yükledi
parça kontrol noktası=C:\RMAN_BACKUP\DATA-D-ORCL_ID-1223590477_TS-SYSAUX_FNO-3_0QKNIJ17 tag=TAG20090825T100007
ORA_DISK_1 kanalı: geri yükleme tamamlandı, geçen süre: 00:00:15
ORA_DISK_1 kanalı: veri dosyası yedek kümesi geri yüklemesi başlatılıyor
ORA_DISK_1 kanalı: yedekleme kümesinden geri yüklenecek veri dosyaları belirleniyor
veri dosyası 00004, C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF dosyasına geri yükleniyor
ORA_DISK_1 kanalı: C:\RMAN_BACKUP\DATA-D-ORCL_ID-1223590477_TS-USERS_FNO-4_0RKNIJ1O yedek parçasından okunuyor
ORA_DISK_1 kanalı: 1 yedek parçasının geri yükledi
parça kontrol noktası=C:\RMAN_BACKUP\DATA-D-ORCL_ID-1223590477_TS-USERS_FNO-4_0RKNIJ1O tag=TAG20090825T100024
ORA_DISK_1 kanalı: geri yükleme tamamlandı, geçen süre: 00:00:01
ORA_DISK_1 kanalı: veri dosyası yedek kümesi geri yüklemesi başlatılıyor
ORA_DISK_1 kanalı: yedekleme kümesinden geri yüklenecek veri dosyaları belirleniyor
veri dosyası 00005, C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST_DF.DBF dosyasınageri yükleniyor
ORA_DISK_1 kanalı: C:\RMAN_BACKUP\DATA-D-ORCL_ID-1223590477_TS-TEST_FNO-5_0SKNIJ1R yedek parçasından okunuyor
ORA_DISK_1 kanalı: 1 yedek parçasının geri yükledi
parça kontrol noktası=C:\RMAN_BACKUP\DATA-D-ORCL_ID-1223590477_TS-TEST_FNO-5_0SKNIJ1R tag=TAG20090825T100026
ORA_DISK_1 kanalı: geri yükleme tamamlandı, geçen süre: 00:00:03
ORA_DISK_1 kanalı: veri dosyası yedek kümesi geri yüklemesi başlatılıyor
ORA_DISK_1 kanalı: yedekleme kümesinden geri yüklenecek veri dosyaları belirleniyor
veri dosyası 00006, C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST_DF1.DBF dosyasına geri yükleniyor
ORA_DISK_1 kanalı: C:\RMAN_BACKUP\DATA-D-ORCL_ID-1223590477_TS-TEST_FNO-6_0TKNIJ21 yedek parçasından okunuyor
ORA_DISK_1 kanalı: 1 yedek parçasının geri yükledi
parça kontrol noktası=C:\RMAN_BACKUP\DATA-D-ORCL_ID-1223590477_TS-TEST_FNO-6_0TKNIJ21 tag=TAG20090825T100033
ORA_DISK_1 kanalı: geri yükleme tamamlandı, geçen süre: 00:00:04
restore tamamlandı; saat 25/08/2009
evet database'in bütün filelerini geri getirdim. şimdi kurtarmayı başlatıyorum.
RMAN> recover database;
recover başlatılıyor; saat 25/08/2009
ORA_DISK_1 kanalı kullanılıyor
ortam kurtarmayı başlatma
arşiv günlüğü thread'i 1 sıra 3 zaten C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_25\O1_MF_1_3_5979DLTT_.ARC dosyası olarak diskte
arşiv günlüğü thread'i 1 sıra 1 zaten C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_25\O1_MF_1_1_5979PNTF_.ARC dosyası olarak diskte
arşiv günlüğü thread'i 1 sıra 2 zaten C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_25\O1_MF_1_2_5979PM01_.ARC dosyası olarak diskte
arşiv günlüğü thread'i 1 sıra 1 zaten C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_25\O1_MF_1_1_5979SPOP_.ARC dosyası olarak diskte
arşiv günlüğü thread'i 1 sıra 2 zaten C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_25\O1_MF_1_2_597B994K_.ARC dosyası olarak diskte
arşiv günlüğü dosya adı=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_25\O1_MF_1_3_5979DLTT_.ARC thread=1 sıra=3
arşiv günlüğü dosya adı=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_25\O1_MF_1_1_5979PNTF_.ARC thread=1 sıra=1
arşiv günlüğü dosya adı=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_25\O1_MF_1_2_5979PM01_.ARC thread=1 sıra=2
arşiv günlüğü dosya adı=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_25\O1_MF_1_1_5979SPOP_.ARC thread=1 sıra=1
arşiv günlüğü dosya adı=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_08_25\O1_MF_1_2_597B994K_.ARC thread=1 sıra=2
ortam kurtarma tamamlandı, geçen süre: 00:00:16
recover tamamlandı; saat 25/08/2009
RMAN>
evet kurtarma işleminin de başarı ile bittiğini gördükten sonra şimdi database'i güvenli bir şekilde açabilirim.
Bu arada şağıdaki hatadan biraz bahsedelim RMAN restore işlemlerini yaparken sabırsızlanarak database'i açmaya denedim oracle aşaıdaki hatayı bana döndü bilginize.
SQL> alter database open resetlogs;
alter database open resetlogs
*
1 satırında HATA:
ORA-01154: veritabanı meşgul. şimdi açma, kapama, kullanıma aça ve kaldırmaya izni verilmez.
SQL> alter database open resetlogs;
Veritabanı değiştirildi.
SQL>select * from user_tables where rownum<10;
örnek bir sorgu atarak çalışırlılığı gecici test edebiliriz.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment