Для подключения к 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:
- Откройте панель Каталог в ArcGIS Pro.
- Щелкните правой кнопкой мыши Базы данных или папку в разделе Папки и выберите Новое подключение к базе данных.
- В раскрывающемся списке Платформа базы данных выберите Oracle.
- Выберите один из следующих вариантов подключения в ниспадающем меню Тип подключения:
- 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:
- Basic — выберите эту опцию для подключения с помощью строк Oracle Easy Connect.
- Если вы используете базовый тип подключения, укажите следующую информацию:
- Если экземпляр Oracle не использует номер порта Oracle, указанный по умолчанию, введите в поле Порт номер порта, не указанный по умолчанию.
- Введите одно из следующих значений в текстовом поле Имя хоста:
- Имя сервера Oracle, например, myserver.
- IP-адрес сервера Oracle, например, 10:10:10:10. Для адресов IPV6, поместите адрес в скобки, например, [4000:ab5:0:0:f666:d191:77f5:e2bd].
- URL-адрес, содержащий имя сервера Oracle, например, //myserver.
- Введите имя или идентификатор сервисаOracle в поле База данных.
В следующем примере имя сервера Oracle - myserver, имя сервиса Oracle - myoracledb, а связь осуществляется через порт 60000.
- Выберите тип аутентификации, который будет использоваться при подключении к базе данных: Аутентификация в базе данных или Аутентификация средствами операционной системы .
- Если вы выберете Аутентификация средствами операционной системы, вам не потребуется вводить имя пользователя и пароль – подключение будет создано с помощью имени пользователя и пароля, которые используются для входа в операционную систему. Если имя пользователя, которое используется для входа в операционную систему, не является корректным именем пользователя базы данных, подключение не будет установлено. Нельзя использовать аутентификацию операционной системы, если вы используете клиент Oracle Instant.
Примечание:
При использовании аутентификации операционной системы в Oracle используется логин операционной системы с префиксом os_authent_prefix (по умолчанию, OPS$), который сохраняется в таблице USERNAME. Максимальное количество символов в имени пользователя при подключении к базе геоданных равно 30. В этом конкретном случае ArcGIS разместит двойные кавычки вокруг имени пользователя, чтобы допустить его к базе данных. Эти кавычки входят в число 30 допустимых знаков.
Если вы выбираете Аутентификация в базе данных, вы должны ввести корректные имя пользователя и пароль в текстовых полях Имя пользователя и Пароль соответственно. Имена пользователей могут иметь длину не более 30 символов.
Снимите отметку с опции Сохранять имя пользователя и пароль, если вы предпочитаете не сохранять свои данные для входа в качестве части соединения; такие действия помогут обеспечить безопасность базы данных. Однако в этом случае при каждом подключении вы должны будете вводить имя пользователя и пароль.
Примечание:
Опция Сохранять имя пользователя и пароль должна быть включена для файлов подключения, обеспечивающих сервисам ArcGIS доступ к базе данных, либо, если вы хотите найти данные ArcGIS Pro, полученные через этот файл подключения.
- Если вы выберете Аутентификация средствами операционной системы, вам не потребуется вводить имя пользователя и пароль – подключение будет создано с помощью имени пользователя и пароля, которые используются для входа в операционную систему. Если имя пользователя, которое используется для входа в операционную систему, не является корректным именем пользователя базы данных, подключение не будет установлено. Нельзя использовать аутентификацию операционной системы, если вы используете клиент Oracle Instant.
- Введите имя для файла подключения в поле Имя файла подключения.
При предоставлении информации о подключении создается имя по умолчанию. Вы можете использовать значение по умолчанию или ввести более информативное имя файла.
Это имя, которое будет отображаться на панели и в виде Каталог, а также имя файла .sde, хранящегося на диске.
- Щелкните Проверить, чтобы убедиться, что информация о подключении действительна и база данных доступна.
Если база данных содержит базу геоданных и подключение доступно, вкладка Свойства базы геоданных будет активна. При необходимости можно изменить свойства подключения к базе геоданных, чтобы подключиться к традиционной версии, отличной от версии по умолчанию, настроить подключение как подключение к веб-ориентированной версии или подключиться к историческому моменту.
- Нажмите ОК, чтобы создать файл подключения.
Подключение к базе данных появляется в разделе Базы данных на панели Каталог, а файл подключения (.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 может столкнуться с проблемами при попытке подключения к базе данных. Во избежание проблем с подключением удалите информацию о клиенте из профиля пользователя и повторно добавьте пути к библиотекам клиента базы данных, выполнив следующие шаги:
- Убедитесь, что у владельца установки ArcGIS Server на каждом компьютере есть права доступа к библиотекам клиента базы данных как минимум для чтения и выполнения.
- В текстовом редакторе откройте скрипт init_user_param.sh.
- Удалите знаки комментария (#) в строках, начиная с 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
- Введите значения для переменных экспорта.
- Для 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, вам не понадобится это значение, эту строку необходимо закомментировать.
- ORACLE_BASE=<Oracle_Installdir>
- Для Oracle Administrator, Developer или Runtime удалите символы комментирования и задайте следующие переменные, в соответствии с параметрами вашей системы:
- Сохраните и закройте скрипт.
- Чтобы внесенные вами в файл 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, или администратор базы данных может использовать инструменты базы данных для предоставления необходимых прав доступа.
Подробнее см. в разделах Права доступа для баз геоданных в Oracle или Права доступа для использования ArcGIS с базой данных Oracle.
Регистрация базы данных
Чтобы разрешить доступ сайта ArcGIS Server к данным, используйте созданный файл подключения для добавления зарегистрированного источника данных в ArcGIS Pro или добавления элемента хранилища данных на портал.