Подключение к 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. Подробные инструкции по заданию переменной Microsoft Windows см. в документации PATH.

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

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

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

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

  1. Откройте панель Каталог в ArcGIS Pro.
  2. Щелкните правой кнопкой Базы данных и выберите Новое подключение к базе данных.
  3. В раскрывающемся списке Платформа базы данных выберите Oracle.
  4. Выберите один из следующих вариантов подключения в ниспадающем меню Тип подключения:
    • Basic — выберите эту опцию для подключения с помощью строк Oracle Easy Connect.

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

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

      В поле Имя сетевого сервиса введите имя сетевого сервиса, который вы определили в файле tnsnames.ora.

      В следующем примере имя сетевого сервиса определено в файле tnsnames.ora как myoratnsname:

      Подключение к Oracle с использованием имени сетевого сервиса myoratnsname

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

      • Имя сервера Oracle, например, myserver.
      • IP-адрес сервера Oracle, например, 10:10:10:10. Для адресов IPV6, поместите адрес в скобки, например, [4000:ab5:0:0:f666:d191:77f5:e2bd].
      • URL-адрес, содержащий имя сервера Oracle, например, //myserver.

    3. Введите имя или идентификатор сервисаOracle в поле База данных.

    В следующем примере имя сервера Oracle - myserver, имя сервиса Oracle - myoracledb, а связь осуществляется через порт 60000.

    Подключение к базе данных Oracle с помощью информации Easy Connect для сервера с именем myserver и именем сервера myoracledb с использованием порта не по умолчанию 60000

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

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

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

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

    Примечание:

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

  7. Введите имя для файла подключения в поле Имя файла подключения.

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

    Это имя, которое будет отображаться на панели и в виде Каталог, а также имя файла .sde, хранящегося на диске.

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

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

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

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

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

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

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

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

Если 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.
  • Если вы используете соединение TNS, убедитесь, что вы используете одно и то же имя сетевого сервиса в файле tnsnames.ora на всех машинах сайта ArcGIS Server и клиентах ArcGIS Pro, из которых вы публикуете.

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

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

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

CREATE SESSION

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

CREATE TABLE

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

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

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

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

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

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

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

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

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

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