15 ноября 2022

Установка и настройка Oracle Database Gateway на компьютере без СУБД Oracle

    В предыдущей статье я рассмотрел использование Oracle Database Gateway for ODBC (DG4ODBC) для работы с информацией в базе данных PostgreSQL через базу данных Oracle. Для этого я использовал шлюз, который уже был установлен вместе с Oracle Database 12c Release 2. Но у Oracle существует отдельный инсталлятор с целым набором шлюзов (для Informix, Sybase, MS SQL Server, Teradata, APPC, WebSphere MQ, DRDA и ODBC), позволяющий устанавливать шлюзы на компьютере, на котором не установлена СУБД Oracle. Сегодня пошагово рассмотрим этот вариант установки и настройки Oracle Database Gateway for ODBC.
  1. Скачиваем инсталлятор шлюзов с сайта компании Oracle. На данный момент для загрузки доступны Oracle Database Gateways 19c (19.3) for Microsoft Windows x64 (64-bit) (WINDOWS.X64_193000_gateways.zip, 815МБ) и Oracle Database Gateways 21c (21.3) for Microsoft Windows x64 (64-bit) (WINDOWS.X64_213000_gateways.zip, 736МБ).
  2. Распаковываем архив с Oracle Database Gateways и запускаем инсталлятор gateways\setup.exe.
    Oracle Database Gateway installer - Step 1
    Указываем сведения о пользователе и нажимаем "Next".
    Oracle Database Gateway installer - Step 2
    Указываем сведения о пути для установки (Oracle HOME-каталог) и нажимаем "Next".
    Oracle Database Gateway installer - Step 3
    Выбираем "Oracle Database Gateway for ODBC" и нажимаем "Next".
    Oracle Database Gateway installer - Step 4
    Ждем пока индикатор процесса дойдет до 100% и нажимаем "Next".
    Oracle Database Gateway installer - Step 5
    Нажимаем "Install".
    Oracle Database Gateway installer - Step 6
    Ждем пока индикатор процесса установки дойдет до 100% и нажимаем "Next". Отдельным процессом запускается конфигурирование Oracle Net для Oracle Database Gateway.
    Oracle Database Gateway installer - Oracle Net Configuration
    Нажимаем "Next".
    Oracle Database Gateway installer - Oracle Net Configuration - Listener
    Вводим наименование listener'а и нажимаем "Next".
    Oracle Database Gateway installer - Oracle Net Configuration - Protocols
    Выбираем нужные протоколы и нажимаем "Next".
    Oracle Database Gateway installer - Oracle Net Configuration - Port
    Указываем порт (например, если на компьютере стандартный для СУБД Oracle порт 1521 занят) и нажимаем "Next".
    Oracle Database Gateway installer - Oracle Net Configuration
    Нажимаем "Next".
    Oracle Database Gateway installer - Oracle Net Configuration
    Нажимаем "Next".
    Oracle Database Gateway installer - Oracle Net Configuration
    Нажимаем "Next".
    Oracle Database Gateway installer - Oracle Net Configuration
    Нажимаем "Finish".
    Oracle Database Gateway installer - Step 7
    Нажимаем "Close".
  3. Запускаем редактор реестра и в параметре HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraGTW19Home1\NLS_LANG указываем RUSSIAN_RUSSIA.CL8MSWIN1251 (или другое значение NLS_LANG, которое вы используете в работе)
    Registry editor - Oracle NLS_LANG
    Этот пункт можно пропустить, если позже в файл инициализации Oracle Database Gateway (пункт 4.2) добавить параметр HS_LANGUAGE со значением NLS_LANG:
    HS_LANGUAGE=RUSSIAN_RUSSIA.CL8MSWIN1251
  4. Далее все как в предыдущей статье:
    1. Устанавливаем 64-х битный ODBC-драйвер для PostgreSQL и добавляем системный источник данных ODBC.
    2. Создаем файл инициализации Oracle Database Gateway for ODBC в каталоге $ORACLE_HOME\hs\admin (c:\app\tg\Administrator\product\19.0.0\tghome_1\hs\admin\). Если в реестре не настроили NLS_LANG, то в файл инициализации добавляем строку "HS_LANGUAGE=RUSSIAN_RUSSIA.CL8MSWIN1251".
    3. Для настройки Oracle Net Listener в его конфигурационный файл $ORACLE_HOME\network\admin\listener.ora (c:\app\tg\Administrator\product\19.0.0\tghome_1\network\admin\listener.ora) добавляем секцию SID_LIST_LISTENER с системным идентификатором шлюза:
      SID_LIST_LISTENER =
        (SID_LIST =
            (SID_DESC=
               (SID_NAME=PG_DB)
               (ORACLE_HOME=c:\app\tg\Administrator\product\19.0.0\tghome_1)
               (PROGRAM=dg4odbc)
            )
        )
    4. Перезапускаем listener.
    5. Создаем DATABASE LINK и работаем.
    Если вы уже воспользовались созданным DATABASE LINK для чтения данных, а потом возникла необходимость перезапустить listener, то есть вероятность получить при его запуске ошибку.
Services OracleOraGTW19Home1TNSListener and DG4ODBC
Причина ошибки в том, что не закрыты все подключения через Oracle Database Gateway for ODBC. Что бы избежать этой ошибки перед запуском listener просто "убейте" в памяти существующие процессы шлюза (dg4odbc.exe).
    На сайте компании Oracle можно ознакомиться с системными требованиями и инструкцией по установке и настройка Oracle Database Gateway for ODBC:

Комментариев нет:

Отправить комментарий