Ошибка ORA-01033: initialization or shutdown in progress в Oracle DB
- Клиентские приложения получают отказ
ORA-01033: ORACLE initialization or shutdown in progress. - Экземпляр СУБД завис в промежуточном состоянии (
NOMOUNTилиMOUNT) и не переходит вOPEN. - В
alert.logзафиксированы ошибки монтирования табличных пространств или повреждения файлов данных.
1. Диагностика текущего статуса инстанса через SYSDBA
sqlplus / as sysdba
SELECT instance_name, status, database_status FROM v$instance;Возможные статусы:
STARTED(NOMOUNT) — прочитан SPFILE, память выделена, управляющие файлы не открыты.MOUNTED— Control Files открыты, файлы данных не открыты.OPEN— база открыта для пользователей.
2. Попытка ручного открытия базы с просмотром ошибки
ALTER DATABASE OPEN;Команда вернет точную причину сбоя (например, ORA-01110 / ORA-01157 из-за отсутствующего файла данных).
3. Восстановление при зависшем SHUTDOWN
Если экземпляр завис при предыдущей попытке остановки:
SHUTDOWN ABORT;
STARTUP;4. Восстановление файлов в RMAN (при повреждении)
rman target /
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN; Частые вопросы (FAQ)
Почему ORA-01033 возникает при работающем процессе PMON?
Процесс PMON стартует на фазе NOMOUNT. Однако база считается недоступной для пользователей (ORA-01033) вплоть до полного завершения фазы OPEN и наката транзакций Crash Recovery.
Может ли Pluggable Database (PDB) находиться в ORA-01033 при открытой CDB?
Да. В архитектуре Multitenant конкретная PDB может оставаться в состоянии MOUNTED. Для ее открытия выполните: ALTER PLUGGABLE DATABASE pdb_name OPEN;.
Что делать, если база не открывается из-за временного файла (tempfile)?
Временные файлы можно безопасно пересоздать: ALTER DATABASE TEMPFILE '/path/temp01.dbf' DROP INCLUDING DATAFILES; затем добавьте новый: ALTER TABLESPACE temp ADD TEMPFILE '/path/temp01.dbf' SIZE 1G;.
Как перевести PDB в автооткрытие при старте контейнерной базы?
Выполните команду сохранения состояния: ALTER PLUGGABLE DATABASE ALL SAVE STATE;.