Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Шрифт:
Например, вы можете запустить сервер одним из следующих способов. Из командной строки:
./fbmgr -start -password пароль В режиме с подсказкой:
FBMGR> start -password пароль
В табл. 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 сам является сервисом, который по запросу управляет другими сервисами, например Классическим демоном Firebird. Остановка [x]inetd приведет к тому, что все процессы, которыми он управляет, будут также остановлены. Его запуск или повторный запуск приведет к возобновлению прослушивания запросов и запуску управляемых им процессов.
Если все сервисы в каталоге ../rc.d являются безопасными для остановки, соединитесь как пользователь root и остановите [x]inetd следующей командой из командной строки:
ft service xinetd stop или командой:
# service inetd stop
Если [x]inetd не был сконфигурирован для автоматического перезапуска после
# service xinetd restart
Если вам нужно остановить вышедший из-под контроля процесс Firebird в Классическом сервере, вы можете это сделать. Найдите ошибочный процесс, выполнив команду top из командной строки. Эта утилита отображает список наиболее интенсивно использующих CPU процессов, постоянно обновляя этот список. Любой экземпляр fb inet server с необычным использованием ресурсов должен появиться в этом списке.
6
По умолчанию [x]inetd в своем файле конфигурации имеет ограничение на число стартуемых экземпляров конктретного сервиса. Это может проявляться как ошибка при подключении очередного пользователя (напрмер, невозможно подключить более 60 пользователей). Отредактируйте файл конфигурации [x]inetd и установите желаемый лимит количества сервисов fb_inet_server, т.е. количества подключний к Классическому серверу FireBird. Прим. науч. ред.
Выберите идентификатор (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).
. ! .