19 Kasım 2009 Perşembe

Gözükmeyen ve Silinemeyen RMAN Yedekleri !

Merhaba,

RMAN (Recovery Manager) kullanıyorsunuz ve aldığınız yedekleri göremiyorsunuz. Hatta delete obsolete komutu ile eskileri silmek istiyorsunuz ve onları da silemiyorsunuz. Ancak tanımladığınız retention süresi de örneğin 2 gün. Peki sizde neler duruyor, 2 günden yaşlı yedekler!

Eminim ki hazırladığınız bir script var ve bu script 2 günden eski yedekleri silmeye yarıyor.


İlk önce report obsolete çalıştırırsınız ve sonra delete noprompt obsolete. Sonuç? Silinmemiş yedekler, mezarlığa dönüşmüş! Korkmayın, çözümü aslında çok karmaşık değil.


Delete obsolete; komutunda çıkmayan ancak fiziksel olarak disk ya da tape üzerinde durduğu bilinen bir backupset'i öncelikle crosscheck ederek, Oracle'ın onu görüp görmediğini kontrol edebiliyoruz.

Örneğin; crosscheck backupset;

Ardından gördüğümüz backupset'in expired ya da available olup olmadığını kontrol ediyoruz.
Expired olan backupset varsa onları da aşağıdaki komut ile silebiliyoruz;


Delete noprompt expired backupset;

Eğer tape'e değil, disk'e backup alınıyorsa ve bir katalog işlemesi söz konusu ise, kanalı tahsis etmek gerekebilir. Bunun için de;

allocate channel for maintenance device type disk; --> Sistem üzerinde RAC kurulu ise her node için ayrı ayrı tahsis işlemi yapılmalıdır;

allocate channel for maintenance device type disk connect 'sys/password@ORACLE_SID_1';
allocate channel for maintenance device type disk connect
'sys/password@ORACLE_SID_2';

Yukarıdaki komutları da bir script içine ekleyerek aşağıdaki şekilde, crontab içerisinde çalıştırabilirsiniz çalıştırabilirsiniz;

export ORACLE_HOME=/oracle/product/10.2.0/db_1/ ; /oracle/product/10.2.0/db_1/bin/rman cmdfile /db/optima/archive/OPTPROD/RMAN/delete_obsolete.sh log /db/optima/archive/OPTPROD/RMAN/delete_obsolete.log

delete_obsolete.sh script'inin içerisinde yukarı yazdığım komutlar olacak. export ile Oracle_Home'u işaretlememizin sebebi crontab'ın .profile'ı okumamış olmasına karşı. log dosyası da oluşan işlemlerin takibini yapmak için. Şu andan itibaren, RMAN'a retention policy ne tanımlanmış ise onlar silinecektir.

İyi çalışmalar,

Ogan

Hiç yorum yok:

Takip et: @oganozdogan