DBAtlas · Атлас эксплуатации баз данных

ORA-01578: Повреждён блок данных Oracle (file #, block #)

Oracle

Что это значит?

Блок данных в указанном файле данных повреждён; Oracle сообщает, что блок не прошёл проверку целостности (контрольную сумму). Это физическое повреждение.

Почему возникает?

Отказ диска/оборудования, ошибки уровня хранения, проблемы операционной системы или контроллера, частично записанные блоки после отключения питания или повреждённый бэкап/восстановление.

Как исправить

Подтвердите повреждение и его масштаб: RMAN> VALIDATE DATABASE / VALIDATE CHECK LOGICAL DATAFILE n; также запустите DBVERIFY (dbv) и проверьте v$database_block_corruption. Если есть бэкап, восстановите на уровне блоков: RMAN> RECOVER DATAFILE n BLOCK m; или для всех перечисленных блоков RMAN> RECOVER CORRUPTION LIST; (старая команда BLOCKRECOVER устарела начиная с 11g). Если это блок индекса, перестройте индекс. Всегда проверяйте исправность оборудования/дисков; первопричина обычно в системе хранения.

Открыть в DBAtlas →

Ещё по этой СУБД