Этот сайт посвящается администрированию баз данных OpenEdge Progress.
Не корысти ради, а познания для!

С уважением,
Валерий Башкатов
Сайт разработан при участии компании Progress Technologies, официального дистрибьютора Progress Software Corp. на территории стран СНГ и Латвии.

RSS RSS подписка на обновления сайта

Поиск по сайту

Лучшие материалы

Orphus System
На сайте функционирует система коррекции ошибок. Обнаружив неточность в тексте, выделите её и нажмите Ctrl+Enter



Результаты опроса: Нужны ли книги по Progress OpenEdge на русском языке? (опрос проводился с мая 2009 по ноябрь 2010)

Да, нужны. Потому что будет легче понять материал - 268
Нет, не нужны. Достаточно материалов на английском языке - 10
Не знаю, мне всё равно - 6

А знаете ли вы что..



Команды запуска и останова


Основы баз данных 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) уведомит сервер о потере соединения с клиентом.

 




Главная |  Статьи |  Книги |  Гостевая |  Ссылки |  От автора |  Download ProKb


������ ᠩ� pr Online ProKB Blogger Welcome to Russian Progress Users Group at Facebook Welcome to Russian Progress Users Group at LinkedIn
© 2009 - 2011 Все права на материалы, находящиеся на сайте www.openedge.ru, охраняются в соответствии с законодательством РФ, в том числе, об авторском праве и смежных правах.
При любом использовании материалов сайта ссылка на источник обязательна.