Проверить базу данных и бэкапы на повреждения (VALIDATE)
OracleRMANКоманда
# Physical + logical block check (without producing a backup):
VALIDATE CHECK LOGICAL DATABASE;
# Scan large datafiles in parallel (11g+, needs multiple channels):
VALIDATE CHECK LOGICAL DATABASE SECTION SIZE 16G;
# A single datafile / tablespace:
VALIDATE DATAFILE 7;
VALIDATE TABLESPACE users;
# Read as if taking a backup and check (including archivelogs):
BACKUP VALIDATE CHECK LOGICAL DATABASE ARCHIVELOG ALL;
# Readability of a specific backup set:
LIST BACKUP SUMMARY;
VALIDATE BACKUPSET <bs_key>;
-- Corrupt blocks found and the affected 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;Что делает
Читает datafile и backup set для обнаружения физического и (с CHECK LOGICAL) логического повреждения блоков, записывая результаты в v$database_block_corruption. SQL-запрос показывает, какой таблице/индексу принадлежит повреждённый блок.
Когда использовать
После ошибок повреждения, таких как ORA-01578/ORA-08103, после проблем с хранилищем и как регулярная (еженедельная) проверка целостности; чтобы доказать, что бэкапы действительно восстанавливаются.
Внимание
Выполняет полное чтение; на больших базах создаёт высокую нагрузку I/O, поэтому запускайте вне часов пик. Запрос к dba_extents на больших базах может быть медленным. Если повреждённый блок находится во временном пространстве (TEMP) или в свободном пространстве, соответствующий объект не возвращается.
Связанные материалы
- Создать каталог восстановления RMAN и зарегистрировать базу данных
- Создать физический standby из активной базы данных через RMAN DUPLICATE
- Проверить и очистить записи о бэкапах RMAN (CROSSCHECK, EXPIRED, OBSOLETE)
- Посмотреть, какие бэкапы использует восстановление, и проверить их (PREVIEW / VALIDATE)
- Восстановить повреждённые блоки онлайн (block media recovery, RECOVER CORRUPTION LIST)
- Вернуть табличное пространство к моменту в прошлом (TSPITR)