Для подключения к 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:
- Откройте панель Каталог в ArcGIS Pro.
- Щелкните правой кнопкой Базы данных и выберите Новое подключение к базе данных.
- В раскрывающемся списке Платформа базы данных выберите Oracle.
- Либо введите имя 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, принятый по умолчанию, необходимо включить номер порта в синтаксис подключения.
- Имя сервера Oracle /сервиса Oracle или ID
- Выберите тип аутентификации, который будет использоваться при подключении к базе данных: Аутентификация в базе данных или Аутентификация средствами операционной системы .
- Если вы выберете Аутентификация средствами операционной системы, вам не потребуется вводить имя пользователя и пароль – подключение будет создано с помощью имени пользователя и пароля, которые используются для входа в операционную систему. Если имя пользователя, которое используется для входа в операционную систему, не является корректным именем пользователя базы данных, подключение не будет установлено. Помните, что вы не можете использовать аутентификацию средствами операционной системы с Oracle Instant.
Примечание:
При использовании аутентификации операционной системы в Oracle используется логин операционной системы с префиксом os_authent_prefix (по умолчанию, OPS$), который сохраняется в таблице USERNAME. Максимальное количество символов в имени пользователя при подключении к базе геоданных равно 30. В этом конкретном случае ArcGIS разместит двойные кавычки вокруг имени пользователя, чтобы допустить его к базе данных. Эти кавычки входят в число 30 допустимых знаков.
Если вы выбираете Аутентификация в базе данных, вы должны ввести корректные имя пользователя и пароль в текстовых полях Имя пользователя и Пароль соответственно. Имена пользователей могут иметь длину не более 30 символов.
Снимите отметку с опции Сохранять имя пользователя и пароль, если вы предпочитаете не сохранять свои данные для входа в качестве части соединения; такие действия помогут обеспечить безопасность базы данных. Однако в этом случае при каждом подключении вы должны будете вводить имя пользователя и пароль.
Примечание:
Опция Сохранять имя пользователя и пароль должна быть включена для файлов подключения, обеспечивающих сервисам ArcGIS доступ к базе данных, либо, если вы хотите найти данные ArcGIS Pro, полученные через этот файл подключения.
- Если вы выберете Аутентификация средствами операционной системы, вам не потребуется вводить имя пользователя и пароль – подключение будет создано с помощью имени пользователя и пароля, которые используются для входа в операционную систему. Если имя пользователя, которое используется для входа в операционную систему, не является корректным именем пользователя базы данных, подключение не будет установлено. Помните, что вы не можете использовать аутентификацию средствами операционной системы с Oracle Instant.
- Нажмите ОК, чтобы создать файл подключения.
Подключение к базе данных появляется в разделе Базы данных на панели Каталог, а файл подключения (.sde) создается в директории проекта ArcGIS Pro.
Вы можете переименовать файл, указав новое имя на панели Каталог и нажав Enter.
Подключение из ArcGIS Server
После установки 64-битного клиента Oracle на всех машинах сайта ArcGIS Server, задайте переменные, создайте файл подключения к базе данных, назначьте права и зарегистрируйте базу данных на своем сайте ArcGIS Server.
Задайте переменную среды 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.
Предоставление прав доступа
Пользователю или роли базы данных или учетной записи ArcGIS Server (при использовании аутентификации средствами операционной системы), с которыми вы подключаетесь к базе данных, должны быть выданы права доступа к публикуемым данным базы данных. Права доступа и случаи их выдачи указаны ниже:
Права доступа | Причина |
---|---|
CREATE SESSION | Необходимо для подключения к базе данных. |
CREATE TABLE | При выполнении выборки в базе данных будет создана таблица файла журнала. Если у пользователя не будет этого права, таблицы файлов журнала будут созданы в схеме пользователя sde. |
Права SELECT для публикуемых наборов данных | Выдайте пользователю или учетной записи ArcGIS, как минимум, права доступа к наборам данных уровня SELECT, чтобы их можно было опубликовать. |
Права доступа INSERT, UPDATE или DELETE для данных, публикуемых в качестве редактируемых сервисов объектов | Чтобы редактировать данные сервиса объектов, для наборов данных необходимо выдать права на редактирование. |
Администратор базы данных должен предоставить первые два вида прав доступа, перечисленные выше. Если данные находятся в базе геоданных, то владелец данных должен предоставить необходимые права доступа к наборам данных. Если данные находятся в базе данных, владелец данных может предоставить необходимые права доступа к наборам данных из ArcGIS, или администратор базы данных может использовать инструменты базы данных для предоставления необходимых прав доступа.
Если вы будете регистрировать базу геоданных в качестве управляемой базы данных, для автономного или интегрированного сайта ArcGIS Server, учетная запись, с которой вы подключаетесь, должна иметь права, достаточные для создания данных в базе геоданных.
Подробнее см. в разделах Права доступа для баз геоданных в Oracle или Права доступа для использования ArcGIS с базой данных Oracle.
Регистрация базы данных
Чтобы разрешить доступ сайта ArcGIS Server к данным, используйте созданный файл подключения для добавления зарегистрированного источника данных в ArcGIS Pro или добавления элемента хранилища данных на портал.