Режимы запуска и останова базы данных Oracle

(Несколько устаревший материал. Актуален в первую очередь для 9 версии, требует переработки)

Запуск базы данных Oracle



STARTUP [FORCE][restrict] [MOUNT | OPEN | NOMOUNT]

STARTUP NOMOUNT

Запуск экземпляра базы данных: состояние NOMOUNT
Во время запуска экземпляра базы данных, необходимо выбрать состояние, в которое в результате прейдет экземпляр.

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




Запуск экземпляра подразумевает выполнение следующих задач:

1) Поиск в директории $ORACLE_HOME/dbs файла параметров, осуществляемый в следующем порядке.

• Ищется файл spfileSID.ora
• Если он не найдет, тогда производится поиск файла spfile.ora;
• Если он не найден, тогда поиск файла SID.ora.
Искомый файл содержит параметры экземпляра базы данных;

  1. Задание параметра PFILE в команде STARTUP переопределяет установленный по умолчанию порядок выбора файла параметров.
  2. Выделение SGA;
  3. Запуск фоновых процессов.
  4. Открытие сигнального файла alertSID.log и файлов трассировки.


STARTUP MOUNT

Монтирование базы данных включает следующие задачи:
Ассоциация базы данных с предварительно запущенным экземпляром:
Определение местоположения управляющих файлов, которые указаны в файле параметров:
Чтение управляющих файлов с целью получения имен и статуса файлов данных и журнальных файлов. Однако на данный момент не проверяется фактическое существование файлов данных и журнальных файлов.


STARTUP OPEN

Открытие базы данных подразумевает выполнение следующих задач:

• Открытие оперативных файлов данных;
• Открытие оперативных журнальных файлов.


Если какие-либо из файлов данных или журнальных файлов недоступны в момент открытия базы данных, сервер Oracle возвращает ошибку.

При выполнении окончательного этапа открытия базы данных, Oracle проверяет доступность всех файлов данных и журнальных файлов, а также проверяет целостность базы данных. Если необходимо, фоновый процесс системный монитор (SMON) инициирует восстановление экземпляра.


Останов базы данных Oracle



SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT]

Oracle Instance



ABORT – Перед остановкой производится наименьшее число действий. После этого при запуске система должна выполнить восстановление. Поэтому используйте этот режим только, когда это необходимо. Обычно он применяется, когда другие варианты остановки не отрабатывают, когда это вызвано проблемами, возникающими при запуске или когда требуется немедленно остановить экземпляр перед проблемной ситуаций, например, при получении сообщения о том, что через несколько секунд будет выключение питания.

IMMEDIATE – обычно используемая опция. При этом незафиксированные транзакции откатываются.

TRANSACTIONAL – представляется возможность завершить транзакции.

NORMAL – Экземпляр не останавливается, пока не отсоединятся сеансы.


SHUTDOWN NORMAL

Нормальный режим остановки базы данных, используется по умолчанию.

• Новые соединения не разрешаются.
• Сервер Oracle ожидает отсоединения всех пользователей и только после этого продолжает остановку базы данных.
• Буферы из КЭШа базы данных и журнала записываются на диск.
• Фоновые процессы завершаются и SGA удаляется из памяти.
• Перед остановкой экземпляра, Oracle закрывает и демонтирует базу данных.
• При следующем запуске не потребуется восстановление экземпляра.


SHUTDOWN TRANSACTIONAL

Транзакционная остановка обеспечивает сохранность данных клиентов, включая результаты текущих действий. Остановка базы данных в транзакционном режиме происходит следующим образом:

• Ни один клиент не может запустить новую транзакцию в этом экземпляре.
• Клиент принудительно отсоединяется, как только завершается текущая транзакция.
• Как только все транзакции завершены, немедленно выполняется остановка.
• При следующем запуске не потребуется восстановление экземпляра.


SHUTDOWN IMMEDIATE

Немедленная остановка базы данных выполняется следующим образом:

• Обработка команд SQL, выполняемых Oracle в данный момент, не завершается.
• Сервер Oracle не ожидает отсоединения пользователей, работающих с базой данных в текущий момент.
• Oracle выполняет откат всех активных транзакций и принудительно отсоединяет всех пользователей.
• Oracle закрывает и демонтирует базу данных перед остановкой экземпляра.
• При следующем запуске не потребуется восстановление экземпляра.


SHUTDOWN ABORT

Если режимы нормальной и немедленной остановки не срабатывают, может быть выполнена аварийная остановка базы данных. Аварийное завершение работы экземпляра выполняется следующим образом:

Немедленно отменяются все команды SQL, обрабатываемые сервером Oracle.
Сервер Oracle не ожидает отсоединения пользователей, работающих с базой данных в текущий момент.
Буферы из КЭШа базы данных и журнала не записываются на диск.
Не выполняется откат незафиксированных транзакций.
База данных не закрывается и не демонтируется.
Экземпляр удаляется без закрытия файлов.
При следующем запуске потребуется восстановление экземпляра, которое произойдет автоматически.