Avamar: Oracle yedeklemesi "dosya için 0 bozuk blok sınırı aşıldı" hatasıyla başarısız oluyor
Summary: Bozuk bloklar nedeniyle oluşan Oracle yedekleme hatalarına yönelik çözüm sağlayan Knowledge Base (KB) makalesi.
Symptoms
Yedekleme, Activity Window'da başarısız olarak görünüyor ancak Avamar Administrator konsolunda veya Avamar Kullanıcı Arayüzünde (AUI) geri yükleme için kullanılabilir. Bu durum, özellikle veri kümesinde "Backup up archive logs" seçeneği etkinleştirildiğinde geçerlidir.
Oracle yedeklemesi aşağıdakine benzer hata mesajları vererek başarısız olabilir:
avoracle Error <7934>: Snapup of EBSP aborted due to rman terminated abnormally - check the logs
...
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 11/19/2015 20:52:52
ORA-19566: exceeded limit of 0 corrupt blocks for file E:\ORACLE\EMC\DB\AVAMAR\DATABASE.DBF
Recovery Manager complete.
Cause
Söz konusu veritabanı dosyasında bozuk veri blokları var.
Bu, aşağıdaki komut çalıştırılarak onaylanabilir:
SQL> select * from v$database_block_corruption;
Resolution
Bozuk veritabanı dosyasını tekrar sağlıklı hale getirmek için Oracle Recovery Manager (RMAN) eklentisini kullanarak bozuk blok kurtarma işlemi gerçekleştirmeniz gerekir.
Oracle İçin Dell Avamar Kullanıcı Kılavuzu'na göre öncelikle veritabanını bozuk blok kurtarma için yapılandırmanız gerekir. Bu, Oracle veritabanı için DB_BLOCK_CHECKSUM başlatma parametresi TYPICAL olarak ayarlanarak yapılır. Bu parametre ayarı, RMAN'nin hem fiziksel hem de mantıksal bozulmayı tespit etmesini sağlar.
Ardından, veritabanını orijinal istemciye geri yüklemek için Oracle için Dell Dell Avamar Kullanıcı Kılavuzu'ndaki talimatları izleyin. Recovery Type alanında "Corrupt blocks" seçeneğini belirleyin.
Bozuk blok kurtarma işlemi başarısız olursa bir dosyada izin verilen toplam bozulma sayısını ayarlamak için SET MAXCORRUPT komutunu kullanın. Varsayılan değer sıfırdır; yani RMAN hiçbir türde bozuk bloğa tolerans göstermez.
RMAN yedekleme sırasında bozuk bir blokla karşılaştığında MAXCORRUPT sınırı aşılırsa RMAN yedeklemeyi sonlandırır. Aksi takdirde RMAN, bozuk bloğu, bloğun bozuk olarak işaretlendiğini belirten özel bir başlıkla yedeklemeye yazar.
Referans: https://docs.oracle.com/cd/B28359_01/backup.111/b28273/rcmsynta043.htm#RCMRF153 (Harici Bağlantı)
Ancak Avamar Administrator konsolunu kullanan yedeklemeler bu geçici çözümden yararlanamaz. Bu nedenle, Oracle Recovery Manager (RMAN) komut dosyalarını kullanarak komut satırı yedeklemeleri yapmanız gerekir. Başvuru için Avamar Oracle Kullanıcı Kılavuzu'ndaki "Oracle RMAN ile Yedekleme ve Geri Yükleme" bölümünü takip edin.
Bozuk veri bloklarıyla ilgili sorunları kalıcı olarak düzeltmek istiyorsanız (önerilir), daha fazla sorun giderme için Oracle desteğiyle iletişime geçmelisiniz.