Skip to main content

Подключение к Oracle из ArcGIS

Чтобы опубликовать веб-сервисы ArcGIS Server, которые ссылаются на данные в базе данных Oracle, выполните следующие действия:

Установка программного обеспечения клиента Oracle

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

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

Вы можете получить клиент Oracle Instant, Runtime или Administrator от Oracle и установить его на клиентский компьютер, следуя инструкциям в документации Oracle.

Для определения подходящей конфигурации клиента Oracle используйте следующую таблицу:

Варианты установки

Используемая конфигурация

ArcGIS Server (сайт на одном компьютере) и Oracle установлены на одном сервере; ArcGIS Pro установлен на других компьютерах.

Установите 64-разрядный клиент Oracle на всех компьютерах с ArcGIS Pro и укажите в переменной PATH путь к корневому каталогу клиента Oracle.

Вам не нужно устанавливать клиент Oracle на сервер, поскольку необходимые для подключения файлы установлены вместе с системой управления базами данных Oracle. Убедитесь, что системная переменная LD_LIBRARY_PATH (Linux) или PATH (Microsoft Windows) указывает на корневой каталог Oracle.

Если вы задали tnsname для клиента Oracle, вы должны использовать одно и то же имя на компьютерах с ArcGIS Server и ArcGIS Pro.

ArcGIS Server установлен на одном или нескольких компьютерах отдельно от СУБД. ArcGIS Pro установлен на компьютерах, отличных от тех, где установлены Oracle и ArcGIS Server.

Установите 64-разрядный клиент Oracle на всех компьютерах с ArcGIS Pro и укажите в переменной PATH путь к корневому каталогу клиента Oracle.

Установите 64-разрядный клиент Oracle на всех компьютерах ArcGIS Server и убедитесь, что системная переменная PATH (Windows) или LD_LIBRARY_PATH (Linux) указывает на корневой каталог клиента Oracle.

Если вы задали tnsname для клиента Oracle, вы должны использовать одно и то же имя на компьютерах с ArcGIS Server и ArcGIS Pro.

ArcGIS Server и ArcGIS Pro установлены на одном сервере; Oracle установлен на другом сервере.

Установите 64-разрядный клиент Oracle на всех компьютерах ArcGIS Server. И ArcGIS Server, и ArcGIS Pro будут использовать этот клиент.

Установите для системной переменной PATH путь к корневой директории клиента Oracle.

ArcGIS Server, ArcGIS Pro и Oracle установлены на одном компьютере.

ArcGIS Server и ArcGIS Pro будут использовать 64-разрядные файлы клиента, установленные вместе с системой управления базами данных Oracle, для подключения.

Установите для переменной PATH путь к корневой директории клиента Oracle.

Если ваш сайт ArcGIS Server включает дополнительные серверы, установите 64-разрядный клиент Oracle на каждом из серверов сайта и укажите для переменной PATH корневую директорию клиента Oracle.

Задайте переменную среды LD_LIBRARY_PATH (только для клиентов Oracle Administrator, Developer или Runtime)

Если вы установили клиент Oracle Administrator, Developer или Runtime, задайте системную переменную LD_LIBRARY_PATH как корневую директорию клиента Oracle.

Если вы установили клиент Oracle Instant, задайте переменную LD_LIBRARY_PATH в скрипте init_user_param.sh.

Измените скрипт init_user_param.sh

После установки файлов клиента базы данных измените скрипт init_user_param.sh, установленный с ArcGIS Server, чтобы он содержал ссылки на файлы клиента. Этот скрипт находится в директории <ArcGIS Server installation directory>/arcgis/server/usr.

Вы должны обновить init_user_param.sh на каждом компьютере сайта ArcGIS Server.

Примечание:

Если ваш профиль пользователя ссылается на клиент Oracle и информация о клиенте в профиле пользователя отличается от информации в init_user_param.sh, у ArcGIS Server могут возникнуть проблемы при попытке подключения к базе данных. Во избежание проблем с подключением удалите информацию о клиенте из профиля пользователя и повторно добавьте пути к библиотекам клиента базы данных, выполнив следующие шаги:

  1. Убедитесь, что у владельца установки ArcGIS Server на каждом компьютере есть права доступа к библиотекам клиента базы данных как минимум для чтения и выполнения.

  2. В текстовом редакторе откройте скрипт init_user_param.sh.

  3. Удалите знаки комментария (#) в строках, начиная с export.

    Если вы установили клиента Oracle Administrator, Developer или Runtime, удалите символы комментирования со всех строк Oracle, начинающихся с export.

    #
    # For connection with Oracle Runtime or Administrator Client
    #
    export ORACLE_BASE=<Oracle_Installdir>/app
    export ORACLE_HOME=$ORACLE_BASE/<Oracle_release>/product/<Oracle_version>/<client_version>
    export ORACLE_SID=<set when applicable>
    export TNS_ADMIN=<set when applicable. e.g.$ORACLE_HOME/network/admin>
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    

    Если вы используете библиотеки клиента базы данных Oracle Instant, необходимо только раскомментировать и задать $LD_LIBRARY_PATH, например:

    #
    # For connection with Oracle Instant Client
    #
    export LD_LIBRARY_PATH=<Location_to_instantclient_11_2>:$LD_LIBRARY_PATH
    
  4. Введите значения для переменных экспорта.

    • Для Oracle Administrator, Developer или Runtime, удалите символы комментирования и задайте следующие переменные, в соответствии с параметрами вашей системы:

      • ORACLE_BASE=<Oracle_Installdir>

      <Oracle_Installdir> — это путь и имя директории верхнего уровня, в которой установлен клиент Oracle.

      • ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1

        Это путь к файлам библиотеки клиента Oracle. Задайте для ORACLE_HOME директорию, в которой они находятся. По умолчанию имя директории client_1, но у вас может использоваться другое имя.

      • Если вы будете использовать для подключения Oracle system ID (SID), задайте ORACLE_SID= в соответствии с Oracle system ID вашей базы данных. Если вы будете использовать для подключения Easy Connect, закомментируйте эту строку.

      • Задайте TNS_ADMIN= в соответствии с расположением файлов администрирования TNS клиента Oracle. Если вы будете использовать для подключения Easy Connect, вам не понадобится это значение, эту строку необходимо закомментировать.

    • Для клиентов Oracle Instant раскомментируйте и задайте только переменную LD_LIBRARY_PATH, заменив <Location_to_instantclient> на путь к директории, в которой находятся файлы клиента Oracle Instant.

    • Если на одном сервере установлены ArcGIS for Server и Oracle, необходимо раскомментировать и задать следующие переменные:

      • ORACLE_BASE=<Oracle_Installdir>

      <Oracle_Installdir> — это путь и имя директории верхнего уровня, в которой установлен Oracle.

      • ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1

        Это путь к файлам библиотеки Oracle. Задайте для ORACLE_HOME директорию, в которой они находятся. По умолчанию имя директории db_, но у вас может использоваться другое имя.

      • Если вы будете использовать для подключения Oracle system ID (SID), задайте ORACLE_SID= в соответствии с Oracle system ID вашей базы данных. Если вы будете использовать для подключения Easy Connect, закомментируйте эту строку.

      • Задайте TNS_ADMIN= в соответствии с расположением файлов администрирования TNS клиента Oracle. Если вы будете использовать для подключения Easy Connect, вам не понадобится это значение, эту строку необходимо закомментировать.

  5. Сохраните и закройте скрипт.

  6. Чтобы внесенные вами в файл init_user_param.sh изменения вступили в силу, необходимо перезапустить ArcGIS Server.

    Для этого запустите скрипт stopserver.sh, а затем запустите скрипт startserver.sh на каждом компьютере сайта ArcGIS Server.

    ./stopserver.sh

    ./startserver.sh

Задайте переменную среды PATH (только для Windows)

Задайте переменную среды PATH для каждого сервера Windows с ArcGIS for Server в соответствии с местом установки клиента Oracle. Подробные инструкции по заданию переменной среды PATH см. в документации Microsoft Windows.

Если ArcGIS Server был запущен перед настройкой клиента Oracle и настройкой переменной PATH, необходимо перезапустить ArcGIS Server. Перезапуск ArcGIS Server можно выполнить из интерфейса Сервисы в Windows.

Создание подключения к базе данных

У вас должен быть файл подключения к базе данных (.sde), который обеспечивает аутентификацию при подключении к базе данных.

Вы можете вызвать функцию ArcPy CreateDatabaseConnection с одного из компьютеров сайта ArcGIS Server, которому необходимо подключиться к базе данных. См. Создание подключения к базе данных в справке ArcGIS Pro для получения информации о запуске этой функции.

Следующая информация относится к созданию файла подключения к базе данных для работы с ArcGIS Server:

  • Вам нужно сохранить информацию о пользователе в файле подключения.

  • Если вы выбираете использовать аутентификацию операционной системы, используйте доменную учетную запись для учетной записи ArcGIS Server и добавьте эту доменную учетную запись в базу данных Oracle.

  • Если вы используете соединение TNS, убедитесь, что вы используете одно и то же имя сетевого сервиса в файле tnsnames.ora на всех компьютерах сайта ArcGIS Server и на клиентах ArcGIS Pro, с которых вы публикуете.

Предоставление прав доступа

Пользователю или роли базы данных или учетной записи ArcGIS Server (при использовании аутентификации средствами операционной системы), с которыми вы подключаетесь к базе данных, должны быть выданы права доступа к публикуемым данным базы данных. Права доступа и случаи их выдачи указаны ниже:

Права доступа

Причина

CREATE SESSION

Необходимо для подключения к базе данных.

CREATE TABLE

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

SELECT на наборах данных, которые будут опубликованы

Выдайте пользователю или учетной записи ArcGIS, как минимум, права доступа к наборам данных уровня SELECT, чтобы их можно было опубликовать.

Права доступа INSERT, UPDATE или DELETE для данных, публикуемых в качестве редактируемых сервисов объектов

Чтобы редактировать данные сервиса объектов, для наборов данных необходимо выдать права на редактирование.

Администратор базы данных должен предоставить первые два вида прав доступа, перечисленные выше. Если данные находятся в базе геоданных, то владелец данных должен предоставить необходимые права доступа к наборам данных. Если данные находятся в базе данных, владелец данных может предоставить необходимые права доступа к наборам данных из ArcGIS, или администратор базы данных может использовать инструменты базы данных для предоставления необходимых прав доступа.

См. Права доступа для баз геоданных в Oracle или Права доступа для использования ArcGIS с базой данных Oracle для получения дополнительной информации.

Зарегистрируйте файл подключения

Чтобы разрешить сайтам ArcGIS Server доступ к данным, используйте созданный файл подключения к базе данных, чтобы добавить зарегистрированный источник данных в ArcGIS Pro или добавить элемент хранилища данных на портал.