Veritabanını ve yedekleri bozulmaya karşı doğrula (VALIDATE)
OracleRMANKomut
# Fiziksel + mantiksal blok kontrolu (yedek uretmeden):
VALIDATE CHECK LOGICAL DATABASE;
# Buyuk datafile'lari paralel tara (11g+, birden cok kanal gerekir):
VALIDATE CHECK LOGICAL DATABASE SECTION SIZE 16G;
# Tek datafile / tablespace:
VALIDATE DATAFILE 7;
VALIDATE TABLESPACE users;
# Yedek alir gibi okuyup kontrol et (archivelog dahil):
BACKUP VALIDATE CHECK LOGICAL DATABASE ARCHIVELOG ALL;
# Belirli bir yedek setinin okunabilirligi:
LIST BACKUP SUMMARY;
VALIDATE BACKUPSET <bs_key>;
-- Bulunan bozuk bloklar ve etkilenen segment (SQL):
SELECT file#, block#, blocks, corruption_change#, corruption_type
FROM v$database_block_corruption ORDER BY file#, block#;
SELECT DISTINCT e.owner, e.segment_name, e.segment_type
FROM dba_extents e
JOIN v$database_block_corruption c
ON e.file_id = c.file#
AND c.block# BETWEEN e.block_id AND e.block_id + e.blocks - 1;Ne yapar?
Datafile'ları ve yedek setlerini okuyarak fiziksel ve (CHECK LOGICAL ile) mantıksal blok bozulmalarını tespit eder; bulunanları v$database_block_corruption'a yazar. SQL sorgusu bozuk bloğun hangi tablo/index'e ait olduğunu gösterir.
Ne zaman kullanılır?
ORA-01578/ORA-08103 gibi bozulma hatalarından sonra, depolama sorunlarının ardından ve düzenli (haftalık) bütünlük kontrolü olarak; yedeklerin gerçekten restore edilebilir olduğunu kanıtlamak için.
Dikkat
Tam okuma yapar; büyük veritabanlarında ciddi I/O yükü oluşturur, yoğun saatlerin dışında çalıştır. dba_extents sorgusu büyük veritabanlarında yavaş olabilir. Bozuk blok geçici (TEMP) veya boş alandaysa nesne eşleşmesi dönmez.
İ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)
- Restore öncesi hangi yedeklerin kullanılacağını gör ve yedekleri doğrula (PREVIEW / VALIDATE)
- Bozuk blokları online onar (block media recovery, RECOVER CORRUPTION LIST)
- Tablespace'i geçmiş bir zamana geri döndür (TSPITR)