Останов базы данных в многопользовательском режиме
Базы данных должны работать в режиме 24х7. Но на практике её иногда приходится останавливать для выполнения таких административных задач, как:
- формирование резервных копий и восстановление базы данных в офлайн;
- перестройка индексов в офлайн;
- усечение BI-файла;
- установка обновлений OpenEdge.
Когда вы останавливаете базу данных, соблюдайте следующие правила:
- Останавливайте базу данных, когда с ней не работают пользователи.
- Предоставьте пользователям некоторое время для отключения.
- Выполняйте принудительную остановку БД только в крайнем случае.
Останов БД должен выполняться командой PROSHUT. Синтаксис команды:
proshut <db-name> [-bn| -by| -F| -shutdownTimeout[immed|maximum|n[h|m|s]]
Параметр |
Описание |
-bn | Останов, только если нет активных пользователей. |
-shutdownTimeout | Ожидание базой данных отведённого количества времени для завершения пользовательской активности, прежде чем будет инициирован немедленный останов.
Выполняется нормальный процесс остановки после завершения всей деятельности в базе данных или по истечении указанного времени. По окончании времени ожидания база останавливается, активные пользователи отключаются. Если параметр не указан, то по умолчанию период ожидания отключения составляет 10 минут. Минимальное значение таймаута составляет 60 секунд, максимальное – 24 часа. |
-by | Безоговорочный останов базы данных с отключением всех пользователей. |
-F | Принудительный (экстренный) останов базы данных. СУБД OpenEdge принудительно завершит процесс брокера и все фоновые процессы, отключит всех клиентов, удалит разделяемую память, пометит базу как «повреждённая» и удалит файл локировки (.lk). При следующем старте базы данных СУБД OpenEdge выполнит процедуру восстановления после сбоя (Crash Recovery) и отменит все незавершённые транзакции, работа которых была прекращена при экстренном останове. Это приводит к более длительному старту БД. Примечание: если с использованием этого параметра использовался параметр –shutdownTimeout, то он игнорируется. |