Ошибка ORA-01089: immediate shutdown in progress в Oracle DB
- Все новые запросы и транзакции отклоняются с ошибкой
ORA-01089: immediate shutdown in progress - no operations are permitted. - Существующие активные сессии принудительно прерываются.
- Процесс остановки базы зависает на длительное время без полного освобождения памяти.
1. Анализ причин выполнения останова
Ошибка информирует о том, что администратор или автоматический скрипт выполнил команду SHUTDOWN IMMEDIATE, SHUTDOWN TRANSACTIONAL или SHUTDOWN NORMAL.
2. Проверка блокирующих факторов при зависании SHUTDOWN
Часто SHUTDOWN IMMEDIATE зависает из-за ожидания отката (Rollback) очень крупной незафиксированной транзакции или зависших сессий PMON. Проверьте процессы в alert.log.
3. Аварийный принудительный останов (SHUTDOWN ABORT)
Если остановка продолжается недопустимо долго, прервите ее жестко:
sqlplus / as sysdba
SHUTDOWN ABORT;
-- Последующий чистый запуск и штатный останов
STARTUP;
SHUTDOWN IMMEDIATE;4. Запуск экземпляра для возобновления работы пользователей
STARTUP; Частые вопросы (FAQ)
Опасно ли выполнять SHUTDOWN ABORT?
SHUTDOWN ABORT мгновенно останавливает все процессы без сброса 'грязных' буферов на диск (аналог выдергивания шнура питания). Данные не повреждаются: при следующем STARTUP ядро Oracle автоматически выполнит Crash Recovery по журналам Redo.
Почему клиенты получают ORA-01089, если остановка базы уже завершилась?
Если база уже остановлена, клиенты начнут получать ORA-01034. Ошибка ORA-01089 возвращается только в тот интервал времени, пока экземпляр активно завершает процессы и выполняет rollback.
Как остановить базу, гарантированно дождавшись завершения клиентов?
Используйте SHUTDOWN TRANSACTIONAL — Oracle запретит старт новых транзакций, но позволит клиентам завершить текущие активные операции до момента остановки.
Может ли скрипт резервного копирования RMAN вызывать ORA-01089?
Да, если в плане резервного копирования настроен 'холодный' бэкап (Consistent Cold Backup), RMAN выполняет временный SHUTDOWN базы.