Управляемое завершение работы
На этой платформе Firebird не имеет утилиты для подсчета количества пользовательских соединений с базой данных для Суперсервера. Если вам нужно предоставить клиентам интервал времени для завершения работы и корректного отключения, завершайте работу индивидуальных баз данных с использованием инструмента gfix с переключателем -shut и одним из доступных аргументов для управления отключением. (См. разд. "Останов базы данных" в главе 39.)
Другие команды fbmgr
Синтаксис
Из командной строки:
./fbmgr.bin -команда [-режим [параметр] ...]
Альтернативно вы можете стартовать интерактивную сессию fbmgr или ibmgr из командной строки (например, перейдя в режим с подсказкой). Наберите:
./fbmgr <нажмите Return/Enter>
для того чтобы перейти к следующей подсказке:
FBMGR>
В режиме с подсказкой синтаксис команд:
FBMGR> команда [-режим [параметр] ...]
Например, вы можете запустить сервер одним из следующих способов. Из командной строки:
./fbmgr -start -password пароль В режиме с подсказкой:
FBMGR> start -password пароль
Переключатели fbmgr
В табл. 4.1 представлен список переключателей fbmgr и ibmgr, доступных из командной строки и из режима с подсказкой.
Таблица 4.1. Переключатели fbmgr/ibmgr
Переключатель | Аргумент | Другие переключатели | Описание |
-start | -forever | once | -user, -password | Запускает fbserver, если он не был еще запущен |
-shut | -user, -password | Останавливает fbserver | |
-show | Показывает хост и пользователя | ||
-user | Имя пользователя | SYSDBA; используется с переключателями -start и -stop, если пользователь системы не является root или эквивалентным ему | |
-password | Пароль SYSDBA | Используется с переключателями -start и -stop, если пользователь системы не является root или эквивалентным ему | |
-help | Выводит короткий текст помощи fbmgr | ||
-quit | Используется для выхода из режима с подсказками |
Классический сервер
Классический сервер Firebird использует процессы xinetd или inetd для обработки поступающих запросов. (Применяемый процесс зависит от версии Linux.) Нет необходимости явно запускать сервер. Процесс xinetd или inetd запускается автоматически; когда он получает запрос от клиента Firebird на соединение, он порождает копию процесса fbinetserver для этого клиента.
Как сервер прослушивает запросы на соединение
Если Классический сервер Firebird был установлен инсталлятором, использующим скрипты или RPM, то файл конфигурации запуска для fb inet server с именем firebird должен быть добавлен в сервисы, о которых знает [x]inetd. В большинстве дистрибутивов Linux этот файл размещается в каталоге /etc/xinetd.d. Чтобы [x]inetd "слушал" запросы на соединение от клиентов для вашего Классического сервера Firebird, скрипт firebird должен находиться в том же каталоге, где стартует процесс [x]inetd.
! ! !
СОВЕТ. Если [x]inetd запущен, и ни одного запроса на соединение клиента не последовало вовсе, проверьте, действительно ли скрипт firebird находится там, где он должен быть. Если нет, то вы можете выделить скрипт firebird.xinetd из файлового комплекта инсталляции, скопировать в нужный каталог и переименовать в firebird. Чтобы [x]inetd "видел" сервис Firebird, остановите и заново запустите [x]inetd.
. ! .
Остановка и запуск [x]inetd и его сервисов
Демон [x]inetd сам является сервисом, который по запросу управляет другими сервисами, например Классическим демоном Firebird. Остановка [x]inetd приведет к тому, что все процессы, которыми он управляет, будут также остановлены. Его запуск или повторный запуск приведет к возобновлению прослушивания запросов и запуску управляемых им процессов.
Если все сервисы в каталоге ../rc.d являются безопасными для остановки, соединитесь как пользователь root и остановите [x]inetd следующей командой из командной строки:
ft service xinetd stop или командой:
# service inetd stop
Если [x]inetd не был сконфигурирован для автоматического перезапуска после остановки, запустите его командой:
# service xinetd restart
Остановка процесса Firebird
Если вам нужно остановить вышедший из-под контроля процесс Firebird в Классическом сервере, вы можете это сделать. Найдите ошибочный процесс, выполнив команду top из командной строки. Эта утилита отображает список наиболее интенсивно использующих CPU процессов, постоянно обновляя этот список. Любой экземпляр fb inet server с необычным использованием ресурсов должен появиться в этом списке.
Выберите идентификатор (process ID, PID) ошибочного процесса fb_inet_server из самой левой колонки в списке. Вы можете использовать этот PID в команде kill для посылки сигнала ошибочному процессу. Например, для PID 12345 вы можете попытаться остановить процесс, выдав:
# kill 12345
Если процесс остается видимым в списке утилиты top, вы можете попытаться форсировать остановку процесса:
# kill -9 12345
! ! !
ВНИМАНИЕ! Проявляйте величайшую осторожность при использовании команды kill, особенно если вы подключились как пользователь root.
. ! .
Запуск сервера Firebird в Windows
Суперсервер
Выполняемая программа Суперсервера Firebird - fbserver.exe. Хотя он может запускаться и как самостоятельная программа, он также может находиться под управлением Guardian - fbguard.exe. Guardian обеспечивает возможность эмулировать автоматический рестарт сервисов в Windows и POSIX, запущенных с переключателем -forever. Если приложение fbserver.exe аварийно завершается, Guardian пытается заново его запустить. Рекомендуется использовать Guardian на хостах, работающих на платформах Windows 95/98 и ME, а также NT/XP, если сервер выполняется как приложение.
В Windows NT и Windows 2000 программа сервера Firebird может выполняться как сервис и как приложение. Инсталляция по умолчанию устанавливает сервер Firebird - и Guardian, если выбран - для автоматического выполнения как сервисы. Вариант выполнения для обоих может быть изменен, чтобы они выполнялись как приложения.
В Windows 95/98, ME и XP Home Edition Firebird может выполняться только как приложение. Если Firebird выполняется как приложение, на панели задач появляется соответствующая иконка. Некоторые задачи администрирования могут быть выполнены вручную при щелчке правой кнопкой мыши на этой иконке.
Выполнение Firebird как сервиса в Windows NT, 2000 и XP
Если данный компьютер используется как сервер БД, то вам настоятельно рекомендуется выполнять сервер Firebird как сервис.
! ! !
ПРИМЕЧАНИЕ. Пользователи, выполняющие миграцию с InterBase 6.0 или более раннего, должны обратить внимание, что не требуется выполнения Firebird как приложения на хост-машинах SMP, чтобы установить наличие только одного процессора. Опция сервиса Firebird по использованию количества процессоров содержится в файле конфигурации. Более подробную информацию см. в разд. "Файл конфигурации Firebird" главы 36.
. ! .
Запуск и остановка сервиса вручную
Для остановки сервиса вручную откройте окно командной строки и введите следующую команду:
NET STOP FirebirdServer
Дня старта или рестарта сервера вручную введите команду:
NET START FirebirdServer
! ! !
ВНИМАНИЕ! Поскольку команды NET возвращают сообщения в окно командной строки, не пытайтесь запустить их в окне Выполнить (Run) через кнопку Пуск (Start).
. ! .
Использование утилиты instsvc
Альтернативный, "родной" для Firebird способ запуска и остановки сервисов Firebird и Guardian - использование утилиты instsvc.exe, которая находится в каталоге \bin в корневом каталоге Firebird. Утилита instsvc.exe применяется системой для запуска сервиса Firebird- и Guardian, если выбран- когда выполняется первоначальная загрузка хост-сервера. Поскольку с самого начала не ожидалось частого использования ее людьми - это команда в стиле DOS, содержащая переключатели.
! ! !
ПРИМЕЧАНИЕ. Firebird 1.5 содержит дополнительный необязательный переключатель для соединения, чтобы позволить скриптам инсталлятора добавить возможность создания "реального пользователя"- подключенного пользователя для установки сервиса при загрузке системы. Это рекомендуется сделать, т. к. скрипты создают пользователя Firebird с ограниченными привилегиями; соответственно устанавливается инсталляция сервиса. (См. разд. "Защита, основанная на платформе" в главе 33.)
. ! .