Zarar görmüş blockların tamiri (Block recovery)

Senaryo :

Block recovery, bazan veri içeren dosya blocklarında bozulmalar olabiliyor bu durumda nasıl recover işleminin yapılacağını göreceğiz.

-VT archivelog modda ve kullanılabilir yedeğimiz mevcut

- dbf dosyasını hex editor ile bozup (rakam yazan yerleri 00 yapıp kayıt ederseniz bozulacaktır), rman ile bozulan block ları tamir etmeye çalışacağız. (bad sector vb durumların simulasyonu)

Not: rman-03002 failure of backup plus archive log command… hata alınırsa bunun nedeni sistemde olması gereken archivelogların olmamasından kaynaklanıyor genelde elle silindikten sonra bu sorun oluyor.

komutları ile sorun giderilir.

archive logların yedegini al ve yedeği alınan archivelogları sil. Archive logların şişmesini engeller. Bu şekilde sadece archiveların yedegi alınabiliyor. (Bu yedekleri usb vb bir yerde tutabiliriz.)

İle dbf lerin yedeğini alıp arşiv logların obsolete olması engellenmiş olur.
Hafta sonu da

Böylece hafta sonundan hafta sonuna kadar archive loglar yedeklenip silinebilir.

Tablespace oluşturuyoruz.

Tablo oluşturuyoruz.

Bilgi girip tablespace i dolduruyoruz

Tabloya veri girişleri yapıldıktan sonra .
VT kapatılır. ve test01.dbf hex editor ile açılıp rakamlı yerler 0 yapılarak dosyanın bozulması sağlanır.
VT açılıp

okuyabildigi alanlardan verileri getirir okuyamadığı yerde de

Hatasını verir. File 6′ nın 33. bloğu bozulmuş.

 

Sorgusunu çalıştırırsak direk hatayı verir.

Bu hata disk üzerindeki bad sector den de olabilir. (diskteki fiziksel bozulma), 2 background process in aynı anda aynı yere yazmasından da kaynaklanıyor olabilir bu durumda alertlog un incelenmesi gerekir.

alertORATR.log a düşen hata

aynı hatayı verir.

sorunsuz dbf lerde Total Pages Marked Corrupt 0 dır.

Blockları tamir etmek için;
note: blockrecover elimizde yedek varsa işe yarar.

Kategori seçin...