Bozuk blokları online onar (block media recovery, RECOVER CORRUPTION LIST)
OracleRMANKomut
# 1) Bozuk bloklari tespit et (v$database_block_corruption dolar):
VALIDATE CHECK LOGICAL DATABASE;
# 2) Listedeki tum bloklari onar (datafile online kalir):
RECOVER CORRUPTION LIST;
# veya hata mesajindaki dosya/blok (ORA-01578: file# 7, block# 233):
RECOVER DATAFILE 7 BLOCK 233;
RECOVER DATAFILE 7 BLOCK 233 DATAFILE 9 BLOCK 1001;
# 3) Dogrula:
VALIDATE DATAFILE 7;
SELECT * FROM v$database_block_corruption;Ne yapar?
Yalnız bozuk blokları yedekten (veya flashback log'larından / Active Data Guard standby'dan) geri yükleyip redo ile güncel hale getirir; datafile ve tablespace online kalır, uygulama yalnız o bloklara erişirken hata alır.
Ne zaman kullanılır?
ORA-01578 / ORA-01110 ile tek tük blok bozulması görüldüğünde; tüm datafile'ı restore etmenin gereksiz kesinti yaratacağı durumlarda.
Dikkat
Bloğu içeren temiz bir yedek ve o andan bugüne tüm archivelog'lar gerekir; NOLOGGING işlemden kaynaklı bozulma (ORA-26040) bu yolla onarılamaz, nesneyi yeniden oluşturman gerekir. Enterprise Edition özelliğidir. Bozulmanın kaynağını (depolama, HBA, firmware) bulmadan onarım tekrarlar.
İlgili
- RMAN recovery catalog oluştur ve veritabanını kaydet
- RMAN DUPLICATE ile active database'den physical standby oluştur
- RMAN yedek kayıtlarını doğrula ve temizle (CROSSCHECK, EXPIRED, OBSOLETE)
- Veritabanını ve yedekleri bozulmaya karşı doğrula (VALIDATE)
- Restore öncesi hangi yedeklerin kullanılacağını gör ve yedekleri doğrula (PREVIEW / VALIDATE)
- Tablespace'i geçmiş bir zamana geri döndür (TSPITR)