block etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
block etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

30 Ekim 2012 Salı

RMAN Block Recovery - ORA-10567: Redo is inconsistent with data block


Bu aralar RMAN’e dalmışken yaşadığım sorunlarında bu taraftan gelmesi şans olsa gerek diye düşünüyorum artık.  Yaşadığım bir başka sorun ise Dataguard yapısında StandBy tarafının arşivlog işlemediğinden  geri kalmasıyla farkettiğim bir sorundu. Alert log’a baktığımda aldığım hata aşağıdaki gibi…

ORA-12801: error signaled in parallel query server P000
ORA-00600: internal error code, arguments: [3020], [56], [540563], [1518878611], [], [], [], []
ORA-10567: Redo is inconsistent with data block (file# 56, block# 540563)
ORA-10564: tablespace A_back
ORA-01110: data file 56: '+ADG/ankstd/datafile/ A_back.757.779084211'

Sorunun çözümü olarak, hatayı aldığım “A_back.757.779084211” datafile’nda yani datafile 56 ’da data block recovery  yaparak sorun  çözüme kavuştu. 

RMAN> recover datafile 56 block 540563;

Aslında RMAN bu hatayı kontrol etmekte bu bilgileri alert.log’a yazdığı gibi  V$DATABASE_BLOCK_CORRUPTION view’na da yazmakta .  Ancak RMAN’den kontrol  etmek isterseniz  aşağıdaki komutu da kullanabilirsiniz.

RMAN> recover corruption list;

Recovery datafile komutunun farklı kullanım çeşitleri de mevcuttur.  Ben sadece block recovery örneğini verdim ancak aşağıdaki kullanımları ile de kullanbilirsiniz.

-     Birden fazla datafile ve block ile ;
            RMAN> recover datafile 7 block 22 datafile 8 block 43;

-     Backup TAG ile kullanımı
RMAN> recover datafile 5 block 24 from tag=tues_backup;

-     Sequence kullanarak Restore
RMAN> recover datafile 6 block 89 restore until sequence 546;

-     Zaman verilerek Restore
RMAN> recover datafile 5 block 32 restore until 'sysdate-1';

-     SCN ile Restore
RMAN> recover datafile 5 block 65 restore until scn 23453;

Bu işlemleri yaparken sisteminizin ARCHIVELOG modda olması gerekmektedir. Eğer Oracle 10g kullanıyorsanız  komutunuzu blockrecovery olarak kullanmalısınız.