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

ORA-00494: enqueue held for too long by 'inst N, osid M'

Oracle

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

Очередь (enqueue) критичного ресурса (например, CF — enqueue управляющего файла) удерживалась процессом намного дольше допустимого, и Oracle завершил этот процесс, чтобы предотвратить зависание системы. Появляется в alert.log вместе с записью 'killing enqueue blocker'.

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

Фоновый или пользовательский процесс удерживал важную очередь дольше допустимого времени из-за узкого места ввода-вывода, высокой нагрузки на CPU или зависания ОС (swapping, медленные диски); для enqueue управляющего файла (CF) это время задаётся _controlfile_enqueue_timeout (по умолчанию 900 с). Скрытые параметры (с подчёркиванием) следует менять только под руководством Oracle Support. Обычно вызывается задержками хранилища или медленными процессами, такими как LGWR/CKPT.

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

Изучите alert.log и трассировочный файл завершённого процесса, чтобы определить, какая очередь (обычно управляющего файла) и какой фоновый процесс ответственны. Реальная причина обычно в задержках хранилища/ввода-вывода: проверьте время отклика дисков, multipath и состояние контроллеров. Снизьте нагрузку на CPU/память и использование swap. При повторении передайте анализ трассировки в Oracle Support.

Открыть в DBAtlas →

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