Home / MAKALELER / Veri Tabanı / RMAN Block Recovery – ORA-10567:Redo is inconsistent with data block

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

RMAN Block REcovery kullanımı ve ORA-10567 hatasının çözümü

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.

 

Özgür Umut VURGUN

www.ozgurumutvurgun.com

About Ozgur Umut Vurgun

Yakındoğu Üniversitesi Bilgisayar Mühendisliği 2006 mezunu olup Fatih Üniversitesi MBA Yüksek Lisans'ına devam etmekteyim. İş hayatıma bir GSM operatöründe DBA olarak sürdürüyorum. Oracle Teknolojilerinin yanı sıra Unix ve ASP.Net hakkında da bilgi sahibiyim. Oracle 10,11g veritabanı yöneticiliğinin yanı sıra Data Guard,RMAN ve ASM üzerine aktif olarak çalışmaktayım. Oracle 12c'yi öğrenme sürecinde olup Oracle WebLogic konularına da ilgi duymaktayım. İş hayatında ve kendi yaptığım testlerde karşılaştığım sorunları blogumda paylaşarak başkalarına da faydalı olma çabasındayım

İlginizi Çekebilir

SQL Server ile Veri Şifreleme

Bilgi teknolojilerinde verinin güvenliği çok kritik bir öneme sahiptir. Önemli verileri korumak için ekstra bir …

Bir Cevap Yazın