Pages

19 Ağustos 2011 Cuma

RMAN raporlaması


Her firma için en değerli nokta verilerdir ve en iddialı iş ise bir felaket anında bu verilerin en kısa sürede herhangi bir kayıp yaşanmadan sisteme geri yüklenmesidir. Pek çok durumda veritabanı yöneticileri hangi veri dosyalarının yedeğinin alınmasının gerektiğini bilmeden ve hangi veri dosyalarının yedeklendiğini bilmeden eksik geri kurtarma işlemi yapmaktadırlar. Veritabanının etkili olarak yedeklendiğinin ve gerektiği zamanda da başarılı şekilde geri yükleme yapılacağından emin olunması gerekmektedir. RMAN raporlaması, başarılı geri yükleme için veritabanı yedeklerini belirlemede en etkili ve en kolay yolu sağlamaktadır.

Genellikle, bir katalog görünümü(view) tüm veritabanlarının metadatasını içermektedir ve kullanışlı yedek bilgisini alabilmek için komplike bir sorgu yazılması gerekmektedir. Ancak, RMAN raporlaması ile LIST ve REPORT komutlarını kullanarak aynı bilgiler daha kolay yoldan elde edilebilmektedir.  RMAN raporlaması, Oracle sürümleri arttıkça gelişme göstermekte ve artık hangi veri dosyalarının yedeğinin alınmadığını veya başarılı bir geri yükleme için hangi yedekler gerekecektir gibi pek çok sorunun cevabını belirlemede oldukça yararlı olmaktadır. 
RMAN raporlamasını verimli kullanarak, nelerin yedeklendiği ile ilgili tereddütlü durumların üstesinden gelinmekte ve eksik geri kurtarma gibi can sıkıcı durumlardan kurtulunabilmektedir. Yedekleme ve geri kurtarma stratejesinin bir parçası olarak, bu raporlar aşağıdaki durumları tespit etmek amacıyla belirli periyotlarla çalıştırılmalıdır.

1) Neyin yedeğinin alındığını gözlemlemek.
2) Hangi veri dosyalarının yedeğinin alınması gerekmekte veya güncel olarak hangi veri dosyasının yedeği alınmamış.
3) Bir problem meydana geldiğinde RMAN hangi yedeği kullanarak geri kurtarma yapabilecek.
4) RMAN görevlerinin geçmiş bilgisinin gözlemlenmesi


Neyin yedeğinin alındığının belirlenmesi
Neyin yedeğinin alındığının bilinmesi için, LIST komutu kullanılarak yedeklerin, kopyaların ve yedekleme-geri kurtarma ile ilişkili diğer objelerin(geçerliliğini yitirmiş yedekler, kısıtlı yedekler v.b) listesi alınmaktadır.

Örneğin, veritabanındaki tüm veri dosyalarının yedeklerini listelemek için;
RMAN> LIST BACKUP OF DATABASE;

Belirli veri dosyasının kopyalarını listelemek için;
RMAN> LIST COPY OF DATAFILE ‘/oradata/users01.dbf';

Yedek ve kopyalar dışında, LIST komutu kullanılarak RMAN’da diğer veri tipleride listelenebilir ve çıktının nasıl görüntülendiğini kontrol etmeyi sağlayan birtakım seçenekleride destekler.

Örneğin, RMAN ambarındaki(RMAN repository) geri yükleme noktalarını listelemek için;
 RMAN> LIST RESTORE POINT;

CREATE SCRIPT veya REPLACE SCRIPT komutu ile oluşturulan geri kurtarma kataloğu scriptlerinin isimleri listelenebilir.
RMAN> LIST SCRIPT NAMES;

Geçerliliğini yitirmiş yedek setlerini listelemek için;
RMAN> LIST EXPIRED BACKUP SET;

Hangi veri dosyalarının yedeklenmesi gerektiğinin belirlenmesi

Hangi veri dosyalarının yedeklenmesinin gerektiğini belirlemek için, ambardaki uygun yedekleri analiz etmek ve hangi veri dosyalarının yedeklenmesi gerektiği, hangi veri dosyalarında geri kurtarma yapılamayacak işlemin olduğu veya hangi dosyalar geçersiz olarak olarak işaretlenmiş gibi sonuçları geri döndürmek için REPORT komutu kullanılmaktadır.

Belirli alıkoyma(retention) ilkesi altında hangi veri dosyalarının yedeklenmesinin gerektiğini belirlemek için REPORT NEED BACKUP komutu kullanılmaktadır.

Örneğin, window-tabanlı alıkoyma ilkesini karşılayacak yedek gerektiren objeleri listelemek için;
RMAN> REPORT NEED BACKUP RECOVERY WINDOW OF n DAYS;

Insert, direct-path insert gibi geri sarma/alma yapılamayan işlemlerden etkilenen veri dosyalarının hangilerinin yedeğinin alınmasını belirlemek için REPORT UNRECOVERABLE komutu kullanılmaktadır. Geri sarma/alma yapılamayan işlemler için normal medya geri yüklemesi kullanılmaz, çünkü geri sarılamayan işlemler redo verisi üretmezler ki bu redo verisi geri sarma ve geri alma işlemlerinde kullanılmaktadır. Bu gibi işlemler sonunda bu durumdan etkilenen veri dosyalarının ya tam yedeğinin veya artalan(incremental) yedeğinin alınması gerekmektedir. Böylece, geri alınamayan işlemlerden etkilenen veri bloklarının geri kurtarılmasından emin olmak için RMAN kullanılabilecektir.

Örneğin; geri alınamayan bir işlem sonunda hangi veri dosyalarının etkilendiğini tespit etmek için;
RMAN > REPORT UNRECOVERABLE;

Bunun yanında hangi yedeklerin geçerliliğini yitirdiğinin tespit edilmesi ve  böylece bu gereksiz yedeklerin sistemden silinmesi gerekmektedir. Aksi durumda, gereksiz yedekler disk alanında fuzuli yer işgal ederler ve bu da performansa olumsuz etki yapar, hatta yedek için tahsis edilmiş alanın dolması gibi durumda, veritabanı hizmet vermeyi askıya bile alabilecektir. RMAN ambarındaki yedeklerin durumunu, disk veya teyp üzerindeki yedeklerin durumu ile kıyaslama yaparak durum güncellemesi yapmak için CROSSCHECK komutu kullanılmakta ve REPORT OBSOLETE komutu ile hangi yedeklerin geçersiz duruma düştüğü tespit edilebilmektedir.

Örneğin, disk üzerindeki tüm yedeklerin ve kopyaların karşılaştırması için;
RMAN>CROSSCHECK BACKUP DEVICE TYPE DISK;
RMAN> CROSSCHECK BACKUP
; 

Geri kurtarma işleminde ihtiyaç duyulmayan ve geçerliliğini yitirmiş yedekleri tespit etmek için;
RMAN> REPORT OBSOLETE;

RMAN ambarından geçersiz yedeklerin bilgisini silmek için;
RMAN> DELETE OBSOLETE;

Bu şekilde yedeklerin yönetimi kolaylaşır ve disk alanından da tasarruf edilmiş olunur.
 
Bir problem oluştuğunda RMAN hangi yedeklerden geri yükleme yapacak?

Bir problem meydana geldiğinde hangi yedeklerin geri yükleme işlemi için gerekli olacağının bilinmesinde RESTORE... PREVIEW komutu kullanılmaktadır. RESTORE…PREVIEW komutu aslında geri yükleme işlemi yapmaz, ancak ambardaki bilgiye dayanarak girilen geri yükleme işlemini tamamlamak için hangi yedeklerin gerekli olduğunu belirler. Bu komut tüm gerekli yedeklerin uygun durumda olduğunun emin olunmasını sağlar veya başarılı bir geri yükleme için hangi yedeklerin gerekli olduğunu tespit eder.Yedeğin uygun olmadığı durumda, yedeğin durumunu UNAVAILABLE olarak işaretlemek CHANGE…UNAVAILABLE komutu kullanılmakta ve uygun durumda olmayan yedekler kullanım dışı olarak işaretlenerek hangi yedeklerin başarılı bir geri yükleme işlemi için gerekli olduğunu görmek için RESTORE…PREVIEW komutu yeniden çalıştırılmalıdır.

RESTORE…PREVIEW komutuna alternatif olarak RESTORE…VALIDATE HEADER komutuda kullanılabilmektedir.Geri yükleme ve kurtarma işlemi için gereken dosyaları listelemeye ilave olarak, bu komut yedek dosya başlıklarını geçerli duruma getirerek, disk veya medya yönetimi içindeki dosyaların RMAN ambarındaki metadata ile ilişkili olup olmadığını belirler.

Örneğin, bir veritabanı geri yüklemesi tamamlamak için gereken yedeklerin belirlenmesi;
RMAN> RESTORE DATABASE PREVIEW

REVIEW...SUMMARY komutu ile yukardaki ayrıntılı çıktının özeti alınabilmektedir;
RMAN> RESTORE DATABASE PREVIEW SUMMARY;

Gerekli yedeğin uzak lokasyonda saklanması sebebiyle geri yükleme işlemi hatyla sonuçlanabildiği durumlardaRESTORE... PREVIEW RECALL komutu kullanılabilir.Bu komutu kullanarak, uzak depolama birimlerinden geri yüklemede kullanılacak olan yedekler geri çekilir.

Örneğin; site dışındaki yedeklerin geri çekilmesi için;
RMAN>RESTORE DATABASE PREVIEW RECALL;

Bunun yanında RMAN onaylaması geri yükleme yapılacak olan yedek(ler) de blok bozulması veya kayıp yedek setleri gibi durumların tespitinde de kullanılmaktadır.RESTORE…VALIDATE komutu kullanılarak mevcut uygun durumdaki yedeklerden geri yükleme yapılıp yapılamayacağı analiz edilmekte ve kontrol dosyası, SYSTEM tablespace ve tüm arşiv logların geri yüklemesinin onaylanması kolayca yapılmaktadır.

RMAN yedeklerinin sorunsuz geri yükleme için onaylanmasını görmek için;
RMAN> RESTORE DATABASE VALIDATE;

Varsayılan olarak VALIDATE matıksal blok bozulmalarını kontrol etmez, ancak mantıksal blok bozulmasınında analiz edilmesi istendiği durumlarda CHECK LOGICAL takısı RESTORE…VALIDATE komutunda kullanılabilmektedir.

0 yorum:

Yorum Gönder