|
|
Команды запуска и останова
Основы баз данных OpenEdge
Защита данных
Поддержка и мониторинг базы данных
Команды запуска и останова
Команды запуска
Синтаксис команд запуска
Общие команды запуска и останова Unix и Windows
Команда BPRO
Команда MBPRO
Команда MPRO
Команда PRO
Команда PROAIW
Команда PROAPW
Команда PROBIW
Команда PROBRKR
Команда PROQUIET
Команда PROSERVE
Команда PROSHUT
Команда PROWDOG
Параметры запуска баз данных
Утилиты OpenEdge RDBMS
Виртуальные системные таблиц (VST)
Команды запуска Прогресс поддерживают клиент/серверную архитектуру и большое разнообразие конфигурационных опций. В клиент/серверной конфигурации клиентские приложения и сервер базы данных являются отдельными процессами. Интерфейс пользователя и ABL приложений выполняются на стороне клиентской сессии, а запросы отправляются на сервер. Сервер получает доступ к базе данных от имени каждой клиентской сессии.
Следовательно, команды запуска разделяются на две общие категории:
- Команды для запуска и останова процессов базы данных, таких как сервер базы данных, брокеры базы данных и фоновые процессы
- Команды для запуска и останова клиентских соединений с базой данных, таких как ABL client, AppServer и DataServer client.
В общих чертах, запуск клиента и сервера происходит следующим образом:
- Запускается сервер базы данных или брокер базы данных. Старт этих процессов устанавливает постоянное соединение с базой данных.
- Запускается клиентское приложение
Вы можете использовать совместно с командами запуска параметры запуска, которые определяют режим работы базы данных и клиентских сессий. Требования к использованию параметров зависят от операционной системы и сетевой среды. Например, вы можете контролировать клиентские соединения, что бы обеспечить наибольшую производительность. Эти параметры разбиты по следующим категориям использования:
- Клиентские сессии
- Клиентские соединения
- Progress Database Server
- DataServer
- Open Interface Driver
Синтаксис команд запуска
Общий синтаксис команд выглядит следующим образом:
command [ db-name ] [ parameter ] [ value ] ...
Например, следующая команда обеспечивает доступ 100 пользователей к базе данных и устанавливает значения необходимых сетевых параметров:
proserve sports -n 100 -B 30000 -L 1000 -S sprtsv -H sys27
Следующая таблица описывает каждый командный компонент:
Компонент
|
Описание |
Command |
На UNIX, команда выполняет сценарий, который выполняет программу Прогресса с подходящими параметрами.
На Windows, некоторые команды запускают пакетный файл, который
выполняет программу Прогресса с подходящими параметрами. Другие команды
запускают программу Прогресса непосредственно |
db-name |
Имя базы данных, с которой необходимо соединиться |
Parameter |
Набор параметров поддерживаемых командой |
Value |
Значения параметров команды |
Общие команды запуска и останова Unix и Windows
Команды запуска Unix
Задача
|
Команда
|
Подключение к редактору Прогресса в однопользовательском режиме |
pro db-name |
Подключение к редактору Прогресса в многопользовательском режиме |
mpro db-name
-S service-name
-H host-name
-N network-type |
Запуск клиентской сессии в однопользовательском режиме |
bpro db-name -p procedure-name |
Запуск клиентской сессии в многопользовательском режиме |
mbpro db-name -p procedure-name
-S service-name
-H host-name
-N network-type |
Запуск группы серверов |
proserve
-servergroup server-group-name |
Запуск серверов и брокеров базы данных Прогресс в многопользовательском режиме |
proserve db-name
-S service-name
-H host-name
-N network-type |
Остановка серверов и брокеров базы данных многопользовательского режима |
proshut db-name |
Запуск брокера удаленного сервера базы данных |
probrkr
-S service-name
-H host-name
-N network-type |
Запуск процесса APW для базы данных |
proapw db-name |
Запуск процесса BIW |
probiw db-name |
Запуск процесса AIW |
proaiw db-name |
Запуск процесса Watchdog |
prowdog db-name |
Останов удаленного сервера базы данных |
proshut db-name
-S service-name
-H host-name
-N network-type |
Останов всех процессов базы данных (APW,BIW,AIW, Watchdog). Используйте
первый пункт команды для отсоединения конкретного процесса |
proshut db-name |
Команды запуска Windows
Задача |
Команда |
Старт редактора графического интерфейса Прогресс в однопользовательском режиме |
prowin32 -1 db-name |
Старт редактора графического интерфейса Прогресс в многопользовательском режиме |
prowin32 db-name
-S service-name
-H host-name
-N network-type |
Запуск ADE Desktop в однопользовательском режиме |
prowin32 -p _desk.p -1 db-name |
Запуск ADE Desktop в многопользовательском режиме |
prowin32 -p _desk.p db-name
-S service-name
-H host-name
-N network-type |
Запуск ABL сессии в однопользовательском режиме |
prowin32 -b -1 db-name
-p procedure |
Запуск ABL сессии в многопользовательском режиме |
prowin32 -b db-name -p procedure
-S service-name
-H host-name
-N network-type |
Команда BPRO
Запуск однопользовательской клиентской сессии в пакетном или фоновом режиме.
Синтаксис:
bpro [ db-name ] -p procedure-name [ parameters ] [ > output-file ]
Параметры:
db-name,
Определяет базу данных, к которой необходимо подключение
-p procedure-name,
Определяет запускаемую процедуру
Parameters,
Определяет параметры запуска Прогресса
output-file,
Определяет имя файла, в который будут записываться все сообщения команды
Примечание:
В Unix команда выполняется следующим образом:
_progres -1 -b &
Где, символ «&» переводит пакетный сеанс в фоновый режим, возвращая управление терминалу, как только команда начнет работать. Если этот символ отсутствует, то Прогресс запускает команду, а управление терминалу передается только после ее завершения.
В Unix и Windows можно переназначать ввод/вывод командами переадресации, можно также использовать символ (|) чтобы помещать результат работы в командный конвейер.
Команда MBPRO
Запуск многопользовательской сессии в пакетном или фоновом режиме.
Синтаксис:
mbpro [ db-name ] -p procedure-name [ parameters ] [ > output-file ]
Параметры:
db-name
Определяет базу данных, к которой необходимо подключение. Если соединение происходит, используя общую память, и база данных находится не в текущей директории, необходимо указать полный путь к ней. С другой стороны, если происходит клиент/серверное подключение – полный путь не обязателен.
-p procedure-name
Определяет запускаемую процедуру
parameters
Определяет параметры запуска Прогресса
output-file
Определяет имя файла, в который будут записываться все сообщения команды
Примечание:
В Unix команда выполняется следующим образом:
_progres -b &
В Unix и Windows можно переназначать ввод/вывод командами переадресации, можно также использовать символ (|) чтобы помещать результат работы в командный конвейер.
Команда MPRO
Запуск клиентской сессии в многопользовательском режиме
Синтаксис:
mpro [ db-name ] [ parameters ]
Параметры:
db-name
Определяет базу данных, к которой необходимо подключение. Если соединение происходит, используя общую память, и база данных находится не в текущей директории, необходимо указать полный путь к ней. С другой стороны, если происходит клиент/серверное подключение – полный путь не обязателен.
-p procedure-name
Определяет запускаемую процедуру
parameters
Определяет параметры запуска Прогресса
Примечание:
Команду MPRO в Unix выполняет следующая программа
_progres
Сервер базы данных должен быть запущен прежде чем будет выполнена эта команда, в противном случае Прогресс отобразит следующее сообщение: There is no server for database db-name (1423)
Команда PRO
Запуск клиентской сессии в однопользовательском режиме
Синтаксис
pro [ db-name ] [ parameters ]
Параметры:
db-name
Определяет базу данных, к которой необходимо подключение
parameters
Определяет параметры запуска Прогресса. Можно использовать любой однопользовательский стартовый параметр.
Примечание:
Команду PRO в Unix выполняет следующая программа
_progres -1
Команда PROAIW
Команда запускает процессы AIW (after-image writer). AIW улучшает производительность системы, за счет сохранения ai-блоков на диск в фоновом режиме, разгружая тем самым работу брокера.
Синтаксис
proaiw db-name
Параметры:
db-name
имя базы данных, для которой запускается процесс AIW
Примечание:
- Для того чтобы остановить работу процесса, используйте команде PROSHUT. Можно запускать и останавливать работу процесса в любое время без останова базы данных.
- Каждый процесс AIW считается одним пользователем. Необходимо учитывать количество процессов при формировании значения параметра –n. Тем не менее, AIW не входит в состав лицензированных пользователей.
- Вы можете изменять количество буферов для AIW с помощью параметра –aibufs (After-image Buffers). Повышение количества буферов при работе AIW, увеличивает количество доступных свободных буферов клиентским и серверным процессам. Этот параметр не имеет ни кого значения, если процесс AIW не запущен.
Команда PROAPW
Запускает процесс APW (asynchronous page writer). APW улучшает производительность системы за счет обработки второстепенных задач в фоновом режиме.
Синтаксис
proapw db-name
Параметры:
db-name
имя базы данных, для которой запускается процесс APW
Примечание:
- Для того чтобы остановить работу процесса, используйте команде PROSHUT. Можно запускать и останавливать работу процесса в любое время без останова базы данных.
- Каждый процесс APW считается одним пользователем. Необходимо учитывать количество процессов при формировании значения параметра –n. Тем не менее, APW не входит в состав лицензированных пользователей.
- Оптимальное количество процессов зависит от ваших приложений и среды выполнения. Используйте как минимум один APW для каждого жесткого диска, на котором расположена база данных. Если этого количества не достаточно, можно добавить еще. Если существуют приложения, которые выполняют большое количество изменений, помимо запуска по одному APW на каждый диск, запускается еще один дополнительный процесс. Чем меньше приложение вносит изменения в базу данных, тем меньше APW процессов ему требуется.
Команда PROBIW
Запускает процесс BIW (before-image writer). BIW улучшает производительность системы, за счет сохранения bi-блоков на диск в фоновом режиме, разгружая тем самым работу брокера.
Синтаксис
probiw db-name
Параметры:
db-name
имя базы данных, для которой запускается процесс BIW
Примечание:
- Для того чтобы остановить работу процесса, используйте команде PROSHUT. Можно запускать и останавливать работу процесса в любое время без останова базы данных.
- Каждый процесс BIW считается одним пользователем. Необходимо учитывать количество процессов при формировании значения параметра –n. Тем не менее, BIW не входит в состав лицензированных пользователей.
- Вы можете изменять количество буферов для BIW с помощью параметра –bibufs (Before-image Buffers). Повышение количества буферов при работе BIW, увеличивает количество доступных свободных буферов клиентским и серверным процессам.
Команда PROBRKR
Запускает брокер DataServer, который используется, когда клиентские ABL сессии подключаются к не OpenEdge базам данных. Чтобы использовать DataServer с удаленного клиента, необходимо сначала запустить его брокер. Как только брокер запущен, можно отправлять запросы, используя подходящий DataServer.
Синтаксис:
probrkr [db-name] -S service-name [ -H host-name ] [ -N network-type ]
Параметры:
db-name
имя базы данных, к которой необходимо подключение
service-name
Определяет имя брокерского процесса (сервиса)
host-name
Определяет имя машины, на которой установлен брокер сервер данных. Этот параметр используется только в Unix System V с типом сети TLI. По умолчанию установлено имя текущей машины.
network-type
Определяется сетевой протокол по которому брокер будет работать. OpenEdge поддерживает TCP, SNA (Progress/400 only), и LFP (Progress/400 only).
Примечание:
- Можно использовать любой стартовый параметр с командой PROBRKR
- Для получения более подробной информации о соединении с не OpenEdge базами данных, смотрите документацию к DataServer.
- Вы должны запускать удаленного брокера в той же среде, где и установлена не OpenEdge база данных, поскольку сервера наследуют среду брокера. Например, если вы используете базу данных Oracle на платформе Unix, установить величину ORACLE_SID токую же, как и для локального DataServer.
- Запускайте брокер, даже если не OpenEdge база данных подключена локально.
Команда PROQUIET
Запуск команды с опцией enable останавливает вся транзакционную активность. Это полезно при выполнении резервного копирования базы данных не средствами OpenEdge RDBMS. Этот процесс так же известен как “точка останова”.
Синтаксис:
proquiet db-name -C { { enable [ nolock ] | disable } | bithreshold n }
Параметры:
db-name
Определяет имя базы
enable | disable
Активация или деактивация “точки останова”. Любой процесс при активированной “точке останова” вынужден ожидать ее деактивации.
Nolock
Позволяет активировать “точку останова” без блокировки разделяемой памяти.
bithreshold n
Указывает максимальный размер до которого может вырасти BI файл, где n указывает размер в MB. Вы можете увеличить размер порога выше текущего значения или уменьшить его до размера одного кластера, который имеет журнал восстановления на момент запуска PROQUIT.
Примечание: в выше указанном синтаксисе указан параметр –C, чтобы показать полный синтаксис, но при использовании команды параметр –С указывать не нужно.
PROQUIET ENABLE останавливает любые записывающие в базу данных процессы, а PROQUIET DISABLE восстанавливает возможность записи. PROQUIET в основном используется для осуществления резервной стратегии. Но с параметром bithreshold вы можете использовать команду для настройки порогового значения BI файла в online. Для этого необходимо, чтобы при старте сервера использовался параметр –bithold.
Примечание:
- Активация “точки останова” на базе данных с включенным механизмом after-imaging позволяет переключаться AI экстентам.
- Активация “точки останова” с опцией no-lock с включенным на базе механизмом after-imaging, не приводит к переключению AI экстентов.
- BUSY AI экстенты во время “точки останова” с no-lock могут быть использованы с помощью ROLL FORWARD RETRY.
- “Точка останова” может быть использована только с Enterprise лицензией.
Пример использования:
PROQUIET можно использовать для предотвращения останова базы в следствии превышения порогового значения BI.
В качестве примера, запустите базы данных с помощью команды PROSERVER с параметром порогового значения BI равным 500 MB:
proserve mydemo -bithold 500 -bistall
Перед тем как пороговое значение BI будет достигнуто (рост BI файла происходит из-за долгоиграющих транзакций), в журнал событий базы данных (.lg) будет записано следующее сообщение:
BI file size has grown to within 90% of the threshold value 523763712. (6559)
После получения сообщения 6559, вы можете увеличить пороговое значение в online, что позволит вам выиграть время для нахождения причины роста BI файла:
proquiet mydemo bithreshold 1000
Выполнение этой команды увеличит пороговое значение и база данных не будет остановлена.
Примечание: на практике, команду PROQUIET лучше использовать в скриптах слежения за размером BI файла, чтобы незамедлительно реагировать на его рост. Поскольку в такой ситуации вы попросту можете не успеть вручную использовать PROQUIET.
Если же база данных все таки была остановлена (правда, явно это конечно же нельзя назвать остановом), фактически активируется не явная “точка останова”, при этом в журнал событий будет внесена соответствующая запись. В этом случае, необходимо увеличить пороговое значение BI и продолжить работу базу, что возможно только использовав команду PROQUIET с параметром bithreshold:
proquiet mydemo bithreshold 1000
Команда PROSERVE
Запуск брокера базы данных, который в свою очереди создает сервер базы данных. Процесс сервера координирует любые доступы к указанной базе данных OpenEdge.
Синтаксис:
proserve { db-name | -servergroup [ server-group-name ] [ parameters ] }
Параметры:
db-name
определяет запускаемую базу данных.
-servergroup server-group-name
Определяет логические группы процессов серверов для запуска. Имя группы, указанное в server-goup-name, должно соответствовать имени, определенном в файле conmgr.properties. Создать группы и сохранить их в файле conmgr.properies, можно с помощью Progress Explorer Database Configuration Tools.
parameters
определяет параметр запуска для брокера или сервера.
Примечание:
- Допустимо указывать только одну базу данных для одной команды PROSERVE.
- Группы серверов управляют сетевыми подключениями четырьмя отдельными способами:
без каких-либо сетевых соединений.
SQL и ABL соединения.
только SQL соединения.
только ABL соединения.
- Как правило, серверные группы используют общий набор параметров, таких как: порт соединения, количество серверов и способ подключения клиентов.
- Вы можете с помощью Progress Explorer Database Configuration Tools создать серверные группы и сохранить их в conmgr.properties. Не редактируйте это файл непосредственно, без использования Progress Explorer.
- Поведение параметра –servergroup подобно поведению параметра –pf (файл параметров). В действительности, параметр –servergroup заставляет сервер загружать параметры, связанные с группой серверов, включая имя базы данных.
Значения параметров группы серверов можно отменить введя дополнительные параметры для команды PROSERVER. Например, если в настройке группы серверов указан буферный пул размером 10000, то его можно увеличить введя дополнительный параметр в команду запуска:
proserve -servergroup sports2000.myconfig.4GLdefault -B 20000
И наоборот, если параметр –B указать перед определением серверной группы, то он будет отменен тем же самым параметром, но указанным в параметрах группы. Например:
proserve -B 20000 -servergroup sports2000.myconfig.4GLdefault
Команда PROSHUT
Команда используется для остановки сервера OpenEdge базы данных и конкретных процессов. После останова брокера базы данных, все имеющиеся сессии будут отключены от базы. При необходимости, можно отключить конкретных пользователей с помощью функций PROSHUT Disconnect a User или Unconditional Shutdown.
Синтаксис:
proshut db-name [ -b | -by| -bn
| -C list | -C disconnect username
| -F | -Gw
| -H host-name | -S service-name
| -cpinternal codepage | -cpstream codepage
] ...
Параметры:
db-name
определяет базу данных, для которой выполняется команда;
-b
Указывает команде о выполнения останова в фоновом режиме. При этом, при отсутствии подключений к базе, она будет остановлена, в противном случае, будет запрошен вариант действия: yes – безусловный останов с отключением текущих сессий, no – останов базы, только при отсутствии подключений. Это параметр обычно комбинируется с другими параметрами, например, -by или –bn.
-by
Указывает PROSHUT о необходимости безусловного останова базы с отключением всех сессий. Заметьте, что команда ни коим образом не информирует пользователей о начале отключения
-bn
Указывает о возможности останова только при отсутствии клиентских соединений.
-С list
Формирование списка пользователей, подключенных к базе данных. Список выводится на экран без разделителя страниц. Использование параметра ограничен локальными не сетевыми соединениями.
-C disconnect usernum
Указывает на необходимость отключения конкретного пользователя. Это аналогично опции 1 меню команды PROSHUT. Использование параметра ограничен локальными не сетевыми соединениями.
-F
Начало аварийного останова. Для использования параметра, необходимо запустить команду PROSHUT на том же сервере, где расположена база данных. Это параметр не используется для удаленного останова или останова DataServer.
-Gw
Используется для останова DataServer, и определяет его брокера.
-H host-name
Указывает на машину, на которой запущен сервер базы данных.
-S service-name
Указывает на сервис, определяющий сервер или брокер.
-cpinternal codepage
Параметр интернационализации, идентифицирует кодовую страницу используемую в памяти.
-cpstream codepage
Параметр интернационализации, идентифицирует кодовую страницу, используемую потоками I/O.
При вводе команды PROSHUT бузе использования параметров –by, -bn или –F, будет отображено следующее меню:
1 Disconnect a User
2 Unconditional Shutdown
3 Emergency Shutdown (Kill All)
x Exit
Следующая таблица описывает назначение каждого пункта меню:
Номер меню
|
Назначение
|
1 |
Запрос номера пользователя для отключения |
2 |
Отключение всех пользователей и останов базы данных |
3 |
Задается вопрос о необходимости выполнения пункта. Если вы отмените
выбор, работы команды будет прервано. Если вы примете его, PROSHUT
отобразит следующее сообщение:
Emergency shutdown initiated...
После чего, база данных будет помечена как аварийно остановленная, все
подключенные процессы принудительно отключены, и удалены все
разделяемые сегменты памяти и семафоры связанные с базой данных. После
этого база данных будет получит статус поврежденной. После перезагрузки
базы будет выполнен нормальны процесс восстановления crash recovery с
откатом незавершенных транзакций.
|
х |
Прерывание работы команды, без выполнения каких-либо действий. |
Примечание:
- Вы можете остановить базу данных, используя утилиту PROMON с опцией Shut Down Database.
- Пользователь, который останавливает базу должен был ее и запустить, или должен быть суперпользователем (ROOT).
- При запуске PROSHUT по сети, количество времени, которое понадобится для завершения всех процессов OpenEdge и освобождения портов будет зависеть от числа клиентов, брокеров и серверов, которые нужно остановить. К тому же, команду PROSHUT может возвратить управление терминалу, прежде чем все процессы базы данных будут остановлены.
Если при старте базы данных были указаны определенные кодовые страницы параметрами –cpinternal и –cpstream, то точно такие же значения должны быть использованы при останове базы данных. Если параметры не будут определены, PROSHUT использует параметры кодовых страниц из основного файла параметров (OpenEdge-install-dir/startup.pf). И если кодовые страницы, используемые при запуске, не будет соответствовать страницам, используемым при останове, будет выдано следующее сообщение:
Code page conversion table for table-name to table-name was not found. (6063)
- Безусловный принудительный останов (-byF) не может быть выполнен на базе, запущенной с параметром no-integrity (-i).
- При принудительном останове базы (-F), запущенной с параметром no-integrity (-i), будет задано два вопроса. Первый, о том что вы действительно намереваетесь принудительно остановить базу данных, запущенной с no-integrity. И второй, нормальное сообщение о выборе принудительного останова. Для выполнения операции, вам придется положительно ответить на эти вопросы. Помните, что при использовании этого метода останова, база данных может быть повреждена.
Команда PROWDOG
Команда запускает процесс OpenEdge Watchdog.
Синтаксис:
prowdog db-name
Параметры:
db-name
Определяет имя базы данных, для которой будет запущен демон.
Watchdog призван наводить порядок после неправильно завершенных процессов. Например, если завершенный процесс имел блокировки или использовал структуру разделяемой памяти, то Watchdog освободит их.
Примечание:
- Если Watchdog обнаруживает процесс, который более не активен, он освобождает все соответствующие блокировки записей, откатывает все не завершенные им транзакции, освобождает все блокировки разделяемой памяти и закрывает соединение с базой. Если процесс является сервером, то происходит очистка и отключение всех удаленных клиентов.
- Если в момент прерывания процесса, он вносил изменения в разделяемую память, то она останется в неопределенном состоянии, поэтому, чтобы обеспечить безопасность базы данных, Watchdog выполнит ее останов.
- Watchdog не может обнаружить потерю удаленных клиентов, так как такие клиенты не связаны с процессом. Вместо этого, сетевой протокол по истечении определенного времени (timeout) уведомит сервер о потере соединения с клиентом.
|
|
|
|