4. Установка, обновление и запуск сервера СУБД РЕД База Данных

4.1. Поддерживаемые ОС

СУБД РЕД База Данных может функционировать на следующих ОС:

  • Microsoft Windows (x64);

  • Linux x86_64 дистрибутивы, использующие:

    • glibc 2.17 и старше;

    • libstdc++ от gcc 10.2 и старше;

  • Linux дистрибутивы, поддерживающие Linux Standard Base ISO/IEC 23360, начиная с версии 3.0

Рекомендуемые ОС семейства Linux:

  • РЕД ОС 7.3 и старше;

  • Альт 8 СП и старше;

4.2. Приемка поставленного сервера СУБД РЕД База Данных

Правила приемки описаны в разделе 4 технических условий Система управления базами данных «РЕД База Данных» ТУ 502120-001-29926343-2015.

4.3. Установка в ОС Windows

Скачать дистрибутив РЕД Базы Данных можно с официального сайта СУБД - RedDatabase. Загрузка доступна только авторизованному пользователю.

Запустите установку СУБД РЕД База Данных с помощью файла RedDatabase-OE-5.0.X.X- windows-X.exe, определив разрядность используемой операционной системы.

Инсталляция СУБД РЕД База Данных осуществляется с помощью стандартного мастера установки программ. В ходе установки мастер собирает всю необходимую для установки сервера информацию, производит копирование файлов и регистрацию программных модулей в реестре Windows.

Предупреждение

Для установки РЕД База Данных 5.0 необходимы права администратора.

Выберите язык установки. Предусмотрена установка на русском и английском языках.

_images/install_win_2.png

Рис. 4.2 Приветственное окно установки

_images/install_win_3.png

Рис. 4.3 Лицензионное соглашение

Во время инсталляции Вам будет предложено выбрать архитектуру сервера: Classic, SuperClassic или SuperServer.

  • Classic

    • использует отдельный процесс на каждое пользовательское соединение;

    • каждый процесс содержит в себе все что нужно для работы с базой данных: область памяти для метаданных, кэш данных для минимизации повторных чтений из файла БД; память для сортировок;

    • если происходит сбой, другие соединения остаются работоспособными

    • поддержка мультипроцессорности: в многопроцессорных системах ОС автоматически распределяет процессы по процессорам/ядрам

  • Superserver

    • один процесс с общей областью памяти для всех пользовательских соединений;

    • поддержка мультипроцессорности: параллельные запросы пользователей выполняются на разных ядрах;

    • возможный сбой в одном процессе разорвет все подключения;

  • SuperClassic

    • единый процесс на всех пользователей с общей памятью под сортировки;

    • используется пул потоков ОС для обработки запросов от соединений, таким образом каждое соединение работает в отдельном потоке управляемом ОС, а неактивные соединения не отъедают ресурсы потоков;

    • каждый поток со своим кэшем данных и областью метаданных;

    • поддержка мультипроцессорности: потоки ОС легко распараллеливаются;

    • возможный сбой в одном процессе разорвет все подключения.

Каждый из режимов стабилен, и нет причин полностью отдавать предпочтение какому то одному. Конечно, у вас могут быть свои собственные конкретные соображения. Если Вы сомневаетесь, просто следуйте за установкой по умолчанию. Позже вы можете изменить архитектуру через файл конфигурации firebird.conf (параметр ServerMode), что потребует перезагрузки, но не переустановки.

Режим сервера может быть настроен для каждой базы данных отдельно.

_images/install_win_4.png

Рис. 4.4 Выбор каталога установки

_images/install_win_5.png

Рис. 4.5 Выбор архитектуры сервера

Изначально в системе существует только один пользователь – администратор сервера SYSDBA. Этот пользователь обладает полными правами на выполнение всех функций по управлению работой сервера и работе с базами данных. В процессе инсталляции необходимо указать пароль для данного пользователя.

_images/install_win_6.png

Рис. 4.6 Установка пароля

_images/install_win_8.png

Рис. 4.7 Завершение установки

По окончанию процесса установки будет запущен серверный процесс rdbserver, который будет запускаться автоматически при перезагрузке сервера. Сервер будет работать как системная служба.

Сервер может работать и в качестве приложения (это менее предпочтительный вариант). Для запуска используйте следующую команду:

rdbserver -a

Исполняемый файл rdbserver.exe расположен в корневом каталоге установки РЕД Базы Данных.

Остановка выполняется через иконку в системном трее (Shutdown).

На официальном сайте СУБД РЕД Базы Данных - RedDatabase - можно загрузить исходные коды сервера. Эти исходные коды можно впоследствии использовать для ручной сборки и компиляции бинарных файлов сервера с помощью команды:

builds\win32\run_all.bat

Для этого необходимо иметь компилятор C++ Visual Studio не ниже 2017-й версии.

Деинсталляция сервера осуществляется запуском программы uninstall.exe, расположенной в корневой папке установки РЕД Базы Данных. После запуска скрипта пользователь должен подтвердить, что действительно хочет удалить РЕД Базу Данных, после чего будет произведена деинсталляция сервера.

4.4. Установка в Unix-системах

Установка в графическом режиме

Файлы РЕД Базы Данных 5.0 поставляются в виде бинарного пакета. При запуске его из любой графической системы (например, KDE) будет вызван мастер установки, который произведет сбор всей необходимой информации и установит СУБД РЕД База Данных 5.0 на Ваш компьютер.

Для установки СУБД РЕД База Данных необходимо скопировать дистрибутивный файл rdb50-linux-X-<редакция>-5.X.X.bin на жесткий диск, а в операционной системе назначить в правах этого файла разрешение на исполнение:

# chmod +x RedDatabase-5.0.Х.Х-Х-linux-X.bin

После этого запустить установку СУБД РЕД База Данных:

# ./RedDatabase-5.0.Х.Х-Х-linux-X.bin

Предупреждение

Для установки сервера РЕД База Данных 5.0 необходимы права суперпользователя (root).

Инсталляция СУБД РЕД База Данных осуществляется с помощью стандартного мастера установки программ. Прежде всего предлагается выбрать язык установки. Предусмотрена инсталляция на русском и английском языках.

_images/install_linux_1.png

Рис. 4.8 Приветственное окно установки

_images/install_linux_2.png

Рис. 4.9 Выбор архитектуры сервера

Во время инсталляции Вам будет предложено выбрать архитектуру сервера: Classic, SuperClassic или SuperServer. Подробнее о каждой архитектуре было описано выше.

Изначально в системе существует только один пользователь – администратор сервера SYSDBA. Этот пользователь обладает полными правами на выполнение всех функций по управлению работой сервера и работе с базами данных. В процессе инсталляции Вас попросят указать пароль данного пользователя в целях безопасности.

_images/install_linux_3.png

Рис. 4.10 Установка пароля

_images/install_linux_5.png

Рис. 4.11 Завершение установки

После установки сервер автоматически не запускается. Вам понадобится сделать это вручную в зависимости от типа системы Linux и вашего установочного пакета. Управление запуском и остановкой сервера осуществляет демон инициализации systemd

systemctl start firebird
systemctl stop firebird

или init скрипт:

/etc/init.d/firebird start
/etc/init.d/firebird stop

Деинсталляция сервера осуществляется запуском программы uninstall, расположенной в корневой папке установки РЕД Базы Данных. После запуска скрипта пользователь должен подтвердить, что действительно хочет удалить РЕД Базу Данных, после чего будет произведена деинсталляция сервера.

Установка в текстовом режиме

Если программа инсталляции запущена в текстовом режиме (с ключом --mode text):

# ./RedDatabase-5.0.Х.Х-Х-linux-X.bin --mode text

то она последовательно будет выводить запросы на подтверждение тех или иных параметров установки, таких как выбор компонентов или пароль пользователя SYSDBA. В случае, если на тот или иной запрос мастера установки предусмотрен ответ по умолчанию, то такой вариант обозначен заглавной буквой, и в этом случае этот вариант можно подтвердить нажатием клавиши «Ввод», в случае же, если выбор по умолчанию не предусмотрен, то необходимо обязательно ответить на вопрос «Да» (Y) или «Нет» (N).

_images/install_linux_text.png

Рис. 4.12 Пример установки РЕД База Данных 5.0 в текстовом режиме

Удаление сервера осуществляется, по аналогии с графическим режимом, запуском программы uninstall из каталога установки РЕД База Данных.

Установка отладочных символов

  1. Скачайте архив с отладочными символами с официального сайта СУБД — RedDatabase . Версия отладочных символов должна совпадать с версией установленной РЕД Базы Данных. Загрузка доступна только авторизованному пользователю.

  2. Распакуйте содержимое архива в папку /opt/RedDatabase.

    tar -xvf RedDatabase-5.0.Х.Х-Х-dbg-linux-X.tar.gz –strip-components 1
    

4.5. Процедуры после установки

После установки необходимо настроить политику безопасности по умолчанию, выполнив следующую команду:

ALTER POLICY "DEFAULT" AS
  PSWD_MIN_LEN = 8,
  PSWD_NEED_DIFF_CASE = true,
  PSWD_NEED_CHAR = 5,
  PSWD_NEED_DIGIT = 2,
  MAX_FAILED_COUNT = 4;

Политика безопасности по умолчанию:

  • Длина пароля не менее 8 символов;

  • Пароль должен содержать символы в разных регистрах;

  • Пароль должен содержать минимум 5 букв;

  • Пароль должен содержать минимум 2 цифры;

  • Максимальное количество неуспешных попыток аутентификации до блокировки равно 4.

Для включения политик в конфигурационном файле firebird.conf укажите плагин Policy в параметре PolicyPlugin:

PolicyPlugin = Policy

Для обеспечения контроля целостности выполните следующее:

  1. Добавьте в секцию Service файла /lib/systemd/system/firebird.service проверку целостности процедур:

    ExecStartPost=sh -c'LD_PRELOAD=""/opt/RedDatabase/bin/mint -M check -d <путь к файлу базы данных> -o procedures -u sysdba -p masterkey -C <алиас>-R 80 -i <путь к файлу сохранения> -I AT_SIGNATURE|| true'
    

    Загрузите изменения службы:

    systemctl daemon-reload
    
  2. Создайте задачу cron, которая будет выполнять проверку целостности каждые 12 часов:

    crontab -e
    
    0 */12 * * * /opt/RedDatabase/bin/mint -M check -d <путь к файлу базы данных> -o procedures -u sysdba -p masterkey -C "CN_cert,CN_issuer,CN_serial" -R 80 -I AT_SIGNATURE -i <путь к файлу сохранения>
    

Для настройки регистрации событий безопасности в firebird.conf необходимо указать параметр AuditTraceConfigFiles = fbtrace_sec.conf:

AuditTraceConfigFiles = fbtrace_sec.conf;

4.6. Обновление сервера

Обновление сервера между минорными- и патч-версиями РЕД Базы Данных происходит с помощью стандартного мастера установки программ. Перед установкой новой версии не требуется вручную удалять старую.

Чтобы обновить сервер, просто скачайте нужную версию в зависимости от ОС и разрядности и запустите установку, как было описано в подразделе Установка в Unix-системах и Установка в ОС Windows.

Предупреждение

Перед обновлением убедитесь, что все пользователи отключены от баз данных. С помощью команды:
gfix -shut -force <n>

можно закрыть все подключения и запретить последующие.

В процессе инсталляции (обновления) Вам будет предложено выбрать только язык установки и принять лицензионное соглашение. Новая версия будет установлена по пути прежней с заменой всех файлов, кроме:

  • databases.conf

  • directories.conf

  • fbtrace.conf

  • firebird.conf

  • plugins.conf

  • java-security.fdb

  • security5.fdb

  • fbtrace_dba.conf

  • fbtrace_sec.conf

  • jvm.args

  • firebird.log (только на Linux)

После успешной инсталляции эти оригинальные файлы сохраняются с суффиксом .dist.

4.7. Запуск и остановка сервера

После окончания процесса установки на Windows сервер РЕД Базы Данных должен быть запущен как сервис. На Linux сервис Вы должны запустить вручную.

На Linux

Используйте команду top командной строки для проверки запущенных процессов в интерактивном режиме. Если сервер РЕД Базы Данных 5.0 запущен, вы должны увидеть процесс с именем rdbserver и, возможно, также rdbguard (процесс Guardian).

На картинке показан вывод top, ограниченный grep, чтобы отображать только строки, содержащие строку rdb:

[user@centos6 ]$ top -b -n1 | grep rdb
3835 firebird 20 0 31288 920 516 S 0.0 0.0 0:00.00 rdbguard
3836 firebird 20 0 127m 2468 1980 S 0.0 0.1 0:00.01 rdbserver

Как альтернатива, вместо команды top, Вы можете использовать ps -ax или ps -aux, при необходимости перенаправив вывод grep.

Другой способ проверить сервер после установки - запустить клиент (например, isql) и подключиться к базе данных или создать ее. Эти операции описаны в Руководстве по SQL.

Если окажется, что среди запущенных процессов не окажется сервиса rdbserver, запустите сервер вручную (см. выше).

На Windows

Откройте Панель управления \(\rightarrow\) Администрирование \(\rightarrow\) Службы. На картинке представлен вид апплета Services (Службы) на Windows 7. Внешний вид может изменяться в зависимости от версии Windows.

_images/win_services.png

В списке сервисов вы должны найти сервер RedDatabase. Если сервер по каким то причинам не запущен, вы можете сделать это сейчас, щелкнув правой кнопкой мыши запись RedDatabaseServerDefaultInstance и нажав «Запустить».

4.8. Сборка сервера РЕД База Данных 5.0 из исходных файлов

Предупреждение

Дистрибутив СУБД РЕД База Данных, самостоятельно собранный из предоставляемых исходных файлов, не считается сертифицированным.

В комплект поставки СУБД РЕД База Данных входят исходные файлы сервера. При сборке сервера вручную можно изменить каталог установки сервера (по умолчанию /opt/RedDatabase), собрать отладочную («дебаговую») сборку и т.д. Во время сборки могут возникнуть ошибки, если в системе не установлены необходимые пакеты или их версии отличаются от требуемых. В этом случае сервер не будет установлен. Ручная сборка и компиляция сервера РЕД База Данных запускается скриптом autogen.sh. Если запустить скрипт с параметром --help, то будет выдана справка о доступных опциях сборки, в частности — архитектура сервера, путь для установки сервера и т. д. При сборке сервера вручную можно изменить каталог установки сервера (по умолчанию /opt/RedDatabase), собрать отладочную («дебаговую») сборку и т.д. Во время сборки могут возникнуть ошибки, если в системе не установлены необходимые пакеты или их версии отличаются от требуемых. В этом случае сервер не будет установлен. Ручная сборка и компиляция сервера РЕД База Данных запускается скриптом autogen.sh. Если запустить скрипт с параметром --help, то будет выдана справка о доступных опциях сборки, в частности — архитектура сервера, путь для установки сервера и т. д.

Для сборки сервера необходимо выполнить следующие шаги:

  1. Установить библиотеки libtommath и ICU;

  2. Установить JRE 11;

  3. Установить g++, autools, make;

  4. Установить переменную среды JAVA_HOME (прописать путь до файлов JDK);

  5. Выполнить:

    ./autogen.sh –enable-java –enable-binreloc
    
  6. Выполнить make.

Если устанавливается архитектура Classic, то будет настроен сервис xinetd, управляющий запуском процессов сервера. При установке архитектур Super и SuperClassic будет запущен демон сервера. Кроме того, в ходе установки будет создан пользователь с именем firebird.

Предупреждение

Для работы архитектуры Classic необходимо, чтобы сервис xinetd был установлен и запущен.