Установка и настройка сервера Global3#

Инструкция описывает подготовку окружения, установку Oracle Client, развертывание сервера приложений GlobalServer, настройку подключения к Oracle и запуск сервиса global3.

Необходимое программное обеспечение#

Для установки сервера приложений требуется:

  • Java — требования к версии и используемой JDK/JRE приведены в разделе Требования к Java;

  • libaio1 — для Debian 12;

  • patchelf, libaio1t64 — для Debian 13;

  • tar;

  • unzip.

Установка Oracle Client 11#

Требуется полная установка Oracle Client с типом Administrator.

В примерах ниже предполагается, что Oracle Client установлен в каталог:

/opt/oracle

Если используется другой путь, подставьте его в команды и переменные окружения.

Настройка файла tnsnames.ora#

Создайте файл tnsnames.ora:

/opt/oracle/network/admin/tnsnames.ora

Пример содержимого файла:

<ALIAS> =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = <IP_HOST>)(PORT = <PORT>))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <DB_NAME>)
    )
  )

Параметры файла:

  • <ALIAS> — логический псевдоним базы, который будет использоваться приложением;

  • <DB_NAME> — имя сервиса базы данных;

  • <IP_HOST> — адрес сервера СУБД;

  • <PORT> — порт подключения к СУБД.

Настройка прав доступа к Oracle Client#

Создайте отдельную группу и пользователя, от имени которого будет работать сервер приложений:

sudo groupadd global
sudo useradd -g global -m -s /bin/bash global

Выдайте права на каталог Oracle Client:

sudo chown -R global:global /opt/oracle/

Настройка локали Oracle#

При необходимости настройте локаль для корректного отображения русских символов:

export NLS_LANG=RUSSIAN_RUSSIA.CL8MSWIN1251

Проверка необходимых библиотек#

Debian 12#

Установите пакет libaio1. Он используется Oracle Database в Linux для асинхронного ввода-вывода:

sudo apt update
sudo apt-get install libaio1

Debian 13#

Установите пакет libaio1t64:

sudo apt-get update
sudo apt-get install libaio1t64
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1

Проверьте, что в каталоге Oracle Client присутствуют следующие файлы:

  • ojdbc6.jar;

  • ucp.jar;

  • orail18n.jar.

Обычно они находятся в корневом каталоге Oracle Client или в его подкаталогах, например jdbc/lib.

Если файлов нет, скопируйте их из дистрибутива Oracle Client или установите недостающие компоненты.

Развертывание сервера приложений GlobalServer#

Подготовка каталогов и дистрибутива#

Скачайте архив дистрибутива. Файл globalserver.zip передается через контактное лицо.

Создайте временный каталог и загрузите в него архив:

sudo mkdir -p /tmp/global

Создайте каталог для установки сервера:

sudo mkdir -p /opt/global/globalserver

Распакуйте дистрибутив:

sudo unzip /tmp/global/globalserver.zip -d /opt/global/globalserver

Назначьте владельцем каталога пользователя global:

sudo chown -R global:global /opt/global/globalserver

Настройка прав на скрипты#

Выдайте права на выполнение основных скриптов:

sudo chmod ug+x /opt/global/globalserver/start.sh
sudo chmod ug+x /opt/global/globalserver/stop.sh
sudo chmod ug+x /opt/global/globalserver/globalscheduler.sh

Настройка parameters.sh#

Откройте актуальный файл parameters.sh и проверьте параметры окружения. При необходимости скорректируйте их в соответствии с фактическим расположением Oracle Client и его библиотек.

Внимание

Изменения конфигурации выполняйте только в файле parameters.sh. При изменении конфигурации в других файлах работоспособность не гарантируется.

Пример минимальной работоспособной конфигурации без дополнительных библиотек:

# Для запуска сервера приложений с подключением к БД Oracle

# Путь к Oracle Client
export ORACLE_HOME="/opt/oracle"

# Путь к каталогу с tnsnames.ora
export TNS_ADMIN="/opt/oracle/network/admin"

# Пути к библиотекам Oracle Client
export LD_LIBRARY_PATH=$ORACLE_HOME:$ORACLE_HOME/:$LD_LIBRARY_PATH

# Java-библиотеки и JDBC-драйвер Oracle Client
export EXT_LIBS=$ORACLE_HOME/ojdbc6.jar:$ORACLE_HOME/ucp.jar:$ORACLE_HOME/orai18n.jar
export EXT_LIBS_CLASSPATH="$EXT_LIBS/*"

Убедитесь, что указанные пути соответствуют фактическому расположению Oracle Client на сервере.

Настройка сервиса global3#

Для управления сервером приложений через systemd используется сервис global3.

Скопируйте шаблон сервиса и создайте файл global3.service:

sudo cp /opt/global/globalserver/admin/linux/global3.service.origin /lib/systemd/system/global3.service

Обновите конфигурацию systemd и включите сервис:

sudo systemctl daemon-reload
sudo systemctl enable global3

Настройка подключения к базе данных#

Откройте файл global3.config.xml в каталоге конфигурации сервера приложений внутри директории:

/opt/global/globalserver/application

В раздел <databases> добавьте описание подключения к базе данных Oracle:

<database alias="<alias>">
    <users>
        <user name="<user>" password="<password>"/>
    </users>
</database>

Параметры подключения:

  • <alias> — логический псевдоним базы данных, который используется приложением;

  • <alias> должен совпадать с именем подключения, указанным в tnsnames.ora;

  • <user> и <password> — учетные данные схемы Oracle, под которой сервер приложений подключается к базе данных.

После изменения сохраните файл конфигурации.

Запуск сервера приложений#

Запустите сервис:

sudo systemctl start global3

Проверьте его состояние:

sudo systemctl status global3

При успешном запуске сервис должен перейти в состояние active (running).

Устранение ошибки с библиотеками Oracle#

При входе в Global может возникнуть ошибка:

/opt/oracle/libocijdbc11.so: libnnz11.so: невозможно задействовать исполняемый стек, как требует разделяемый объект: Отказано в доступе.

Причина связана с тем, что некоторые библиотеки Oracle помечены как требующие исполняемый стек, а политика безопасности системы запрещает это.

Debian 12#

Установите execstack:

sudo apt update
sudo apt install execstack

Если на сервере нет доступа в интернет, выполните следующие действия на другой машине с той же версией системы и архитектурой:

  1. Скачайте пакет execstack:

    sudo apt update
    sudo apt download execstack
    
  2. Передайте .deb-файл на сервер.

  3. Установите пакет:

    sudo dpkg -i execstack_*.deb
    

Снимите флаг исполняемого стека у библиотек Oracle:

sudo execstack -c /opt/oracle/libnnz11.so
sudo execstack -c /opt/oracle/libocijdbc11.so

Перезапустите сервис global3.

Debian 13#

Установите patchelf и снимите флаг исполняемого стека:

sudo apt update
sudo apt install patchelf
patchelf --clear-execstack /opt/oracle/libnnz11.so
patchelf --clear-execstack /opt/oracle/libocijdbc11.so

Настройка логирования#

Настройка логирования сервера приложений выполняется в отдельных конфигурационных файлах и описана в разделе Логирование сервера приложений.

Важно

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

Проверка установки#

После завершения настройки выполните проверку.

  1. Убедитесь, что сервис запущен:

    sudo systemctl status global3
    
  2. Проверьте журналы сервера приложений и systemd. Убедитесь, что в них нет критических ошибок.

    Для проверки используйте:

    • логи GlobalServer;

    • журнал systemd для сервиса global3.

  3. Проверьте подключение к базе данных Oracle:

    • выполните авторизацию в системе;

    • убедитесь, что базовые операции в приложении выполняются без ошибок.

Если проверки завершились успешно, сервер приложений GlobalServer установлен, подключен к Oracle и готов к работе.

Результат установки