Подключение к Oracle из ArcGIS
Чтобы опубликовать веб-сервисы ArcGIS Server, которые ссылаются на данные в базе данных Oracle, выполните следующие действия:
Установите клиент Oracle на компьютерах ArcGIS Server.
Задайте переменные среды, которые ссылаются на клиент Oracle.
Задайте переменные среды, которые ссылаются на клиент Oracle.
Предоставьте права доступа для логина в файле подключения.
Зарегистрируйте файл подключения к базе данных на сайтах ArcGIS Server.
Установка программного обеспечения клиента 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 могут возникнуть проблемы при попытке подключения к базе данных. Во избежание проблем с подключением удалите информацию о клиенте из профиля пользователя и повторно добавьте пути к библиотекам клиента базы данных, выполнив следующие шаги:
Убедитесь, что у владельца установки 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 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, вам не понадобится это значение, эту строку необходимо закомментировать.
Сохраните и закройте скрипт.
Чтобы внесенные вами в файл
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 (при использовании аутентификации средствами операционной системы), с которыми вы подключаетесь к базе данных, должны быть выданы права доступа к публикуемым данным базы данных. Права доступа и случаи их выдачи указаны ниже:
|
Права доступа |
Причина |
|---|---|
|
|
Необходимо для подключения к базе данных. |
|
|
При выполнении выборки в базе данных будет создана таблица файла журнала. Если у пользователя не будет этого права, таблицы файлов журнала будут созданы в схеме пользователя sde. |
|
|
Выдайте пользователю или учетной записи ArcGIS, как минимум, права доступа к наборам данных уровня |
|
Права доступа |
Чтобы редактировать данные сервиса объектов, для наборов данных необходимо выдать права на редактирование. |
Администратор базы данных должен предоставить первые два вида прав доступа, перечисленные выше. Если данные находятся в базе геоданных, то владелец данных должен предоставить необходимые права доступа к наборам данных. Если данные находятся в базе данных, владелец данных может предоставить необходимые права доступа к наборам данных из ArcGIS, или администратор базы данных может использовать инструменты базы данных для предоставления необходимых прав доступа.
См. Права доступа для баз геоданных в Oracle или Права доступа для использования ArcGIS с базой данных Oracle для получения дополнительной информации.
Зарегистрируйте файл подключения
Чтобы разрешить сайтам ArcGIS Server доступ к данным, используйте созданный файл подключения к базе данных, чтобы добавить зарегистрированный источник данных в ArcGIS Pro или добавить элемент хранилища данных на портал.