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

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

Для публикации веб-сервисов ArcGIS Server, ссылающихся на данные в вашей базе данных Oracle, зарегистрируйте файл подключения к базе данных с сайтами ArcGIS Server.

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

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

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

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

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

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

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

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

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

Если вы указали для клиента Oracle tnsname, используйте то же самое имя на компьютерах с 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.

Если вы указали для клиента Oracle tnsname, используйте то же самое имя на компьютерах с 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.

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

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

Задание переменной среды PATH

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

Если ArcGIS Pro работал до изменения переменной PATH, перезапустите его, чтобы использовать новые параметры.

Подключение к базе данных

Добавьте подключение к базе данных, используя диалоговое окно Подключение базы данных или инструмент геообработки Создать подключение базы данных.

В следующих шагах описано использование диалогового окна Подключение базы геоданных для подключения к Oracle:

  1. Откройте панель Каталог в ArcGIS Pro.
  2. Щелкните правой кнопкой Базы данных и выберите Новое подключение к базе данных.
  3. В раскрывающемся списке Платформа базы данных выберите Oracle.
  4. Либо введите имя Oracle TNS в поле Экземпляр, либо задайте одну из следующих строк Oracle Easy Connect:
    • Имя сервера Oracle /сервиса Oracle или ID

      Например, если Oracle установлен на myserver, и имя сервиса Oracle – myosvc, введите следующее:

      myserver/myosvc

    • Имя сервера Oracle:номер порта Oracle/имя или ID сервиса Oracle

      В этом примере Oracle установлен на myserver, использует порт 60000, а имя сервиса Oracle - myoservice.

      myserver:60000/myoservice

    • URL-адрес сервера Oracle

      URL для такого же случая, как в последнем примере, был бы следующим:

      //myserver:60000/myoservice

    • Имя сервера Oracle (вы можете использовать его в том случае, если приемник Oracle на сервере настроен на указание экземпляра по умолчанию).
    • IP-адрес сервера Oracle /сервиса Oracle или ID

      Например, если адрес сервера 10:10:10:10, а имя сервера Oracle – orasvc, введите 10:10:10:10/orasvc.

      Для адресов IPV6, поместите адрес в скобки, например, [4000:ab5:0:0:f666:d191:77f5:e2bd]/orasvc.

    • IP-адрес сервера Oracle: номер порта Oracle/имя или ID сервиса Oracle

      В этом примере IP-адрес 10:20:30:40, порт 59999, а сервис Oracle – myomy1: 10:20:30:40:59999/myomy1.

      IPV6-адрес для такого же порта и сервиса выглядел бы следующим образом: [6543:ef4:0:1:f587:l249:12f9:a3cd]:59999/myomy110:20:30:40:59999/myomy1.

    Убедитесь, что ваш экземпляр Oracle настроен на поддержку Easy Connect. Если у вас установлен полный клиент Oracle, а вы хотите использовать для подключения синтаксис Easy Connect, убедитесь, что файл sqlnet.ora клиента настроен на разрешение использования Easy Connect, а сервер Oracle разрешает синтаксис Easy Connect. Помните, что если ваш экземпляр Oracle не использует номер порта Oracle, принятый по умолчанию, необходимо включить номер порта в синтаксис подключения.

  5. Выберите тип аутентификации, который будет использоваться при подключении к базе данных: Аутентификация в базе данных или Аутентификация средствами операционной системы .
    • Если вы выберете Аутентификация средствами операционной системы, вам не потребуется вводить имя пользователя и пароль – подключение будет создано с помощью имени пользователя и пароля, которые используются для входа в операционную систему. Если имя пользователя, которое используется для входа в операционную систему, не является корректным именем пользователя базы данных, подключение не будет установлено. Помните, что вы не можете использовать аутентификацию средствами операционной системы с Oracle Instant.
      Примечание:

      При использовании аутентификации операционной системы в Oracle используется логин операционной системы с префиксом os_authent_prefix (по умолчанию, OPS$), который сохраняется в таблице USERNAME. Максимальное количество символов в имени пользователя при подключении к базе геоданных равно 30. В этом конкретном случае ArcGIS разместит двойные кавычки вокруг имени пользователя, чтобы допустить его к базе данных. Эти кавычки входят в число 30 допустимых знаков.

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

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

    Примечание:

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

  6. Нажмите ОК, чтобы создать файл подключения.

Подключение к базе данных появляется в разделе Базы данных на панели Каталог, а файл подключения (.sde) создается в директории проекта ArcGIS Pro.

Вы можете переименовать файл, указав новое имя на панели Каталог и нажав Enter.

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

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

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

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

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

Задайте переменную среды LD_LIBRARY_PATH (только для клиентов Linux и 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 (только в Linux)

После установки файлов клиента базы данных измените скрипт 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 Server и Oracle, необходимо раскомментировать и задать следующие переменные:
      • ORACLE_BASE=<Oracle_Installdir>

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

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

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

      • Если вы будете использовать для подключения 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

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

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

Либо вы можете запустить инструмент Создать подключение базы данных в ArcGIS Pro, либо использоватьPython для запуска команды Create Database Connection с компьютера ArcGIS Server для создания файла подключения базы данных (.sde), который подключается к базе данных.

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

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

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

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

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

CREATE SESSION

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

CREATE TABLE

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

Права SELECT для публикуемых наборов данных

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

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

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

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

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

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

Регистрация базы данных

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