Старт и останов в однопользовательской среде
Вы уже знаете, как стартовать сессии базы данных в многопользовательской среде для выполнения административных задач в то время, когда другие пользователи работают с базой данных. Но бывают ситуации, когда необходим полный контроль над базой данных для выполнения административной работы, требующей эксклюзивного доступа. Такого рода работы можно выполнить с помощью старта базы данных в однопользовательской среде.
Клиент может стартовать базу данных в однопользовательской среде, создав одну из двух сессий:
- Однопользовательская интерактивная сессия позволяет пользователю получить эксклюзивный доступ и взаимодействовать с базой данных.
- Однопользовательская пакетная сессии предназначена для выполнения набора команд по расписанию в пакетном режиме с эксклюзивным доступом к базе данных. Не предполагает какое-либо взаимодействие с пользователем.
Напомним, что однопользовательская сессия не требует наличия брокеров. Когда вы стартуете однопользовательскую сессию, то вы стартуете базу данных. Когда вы останавливаете сессию, то останавливаете и базу данных.
Далее рассмотрим, как стартовать и останавливать базу данных для доступа к ней в однопользовательской среде.
Однопользовательская интерактивная сессия
Как администратор базы данных, вы можете стартовать базу данных в однопользовательском режиме для выполнения административных задач, подобных следующим:
- Изменение схемы.
- Разработка базы данных.
- Разработка приложения.
Однопользовательская сессия может быть открыта следующими командами:
- В Windows: prowin32 или prowin
prowin32 <db-name> -1
- В UNIX: pro
pro <db-name>
После выполнения одной из этих команд без указания исполняемой процедуры, будет открыт редактор Procedure Editor, подключённый в однопользовательском режиме к указанной базе данных. Как только редактор будет закрыт, однопользовательская сессия будет завершена и база данных будет остановлена.
Однопользовательская пакетная сессия
Старт базы данных в однопользовательской пакетной сессии обычно требуется редко и может понадобиться для выполнения административных задач, подобных следующим:
- Генерация больших отчётов, требующих эксклюзивного доступа к данным.
- Изменение схемы базы данных.
Однопользовательская пакетная сессия может быть стартована следующими командами:
- В Windows: prowin32 или prowin
prowin32 <db-name> -1 -b –p <procedure-name> [> <output-file>]
- В UNIX: bpro
bpro <db-name> -p <procedure-name> [> <output-file>]
Пример.
У нас есть файл с OpenEdge-процедурой dispcust.p, которая выводит на экран большое количество клиентской информации из базы данных test. Нам необходимо записать эту информацию в файл с именем dispcust2.txt. В пакетном однопользовательском режиме команда будет следующей:
prowin32 test -1 -b -p dispcust.p > dispcust2.txt
После выполнения команды в текущем рабочем каталоге будет создан файл dispcust2.txt с информацией о клиентах. Однопользовательская сессия завершится, а вместе с ней будет остановлена база данных.