Conectar a Oracle desde ArcGIS

Para conectarse a Oracle desde clientes de ArcGIS, instale un cliente de Oracle en los equipos cliente de ArcGIS, establezca variables de entorno que hagan referencia al cliente de Oracle y cree una conexión de base de datos desde ArcGIS.

Para publicar servicios web de ArcGIS Server que hagan referencia a los datos de la base de datos de Oracle, registre el archivo de conexión de base de datos con sus sitios de ArcGIS Server.

Instalar el software cliente de Oracle

El software cliente de Oracle se debe instalar en todos los equipos cliente de ArcGIS que vayan a conectarse a la base de datos. Si no tiene privilegios para instalar el software en los equipos donde se ejecutan los clientes de ArcGIS, deberá pedir al departamento de TI que instale y configure el cliente de Oracle por usted.

Instale una versión de la aplicación cliente de Oracle que sea compatible con la versión de la base de datos a la que desee conectarse.

Puede obtener el cliente de Oracle Instant, Runtime o Administrator de Oracle e instalarlo en el equipo cliente, siguiendo las indicaciones de su documentación de Oracle.

Utilice la información de la tabla siguiente para determinar la configuración de cliente de Oracle apropiada que debe utilizar:

Combinaciones de instalaciónConfiguración a usar

ArcGIS Server (sitio de equipo único) y Oracle se instalan en el mismo servidor; ArcGIS Pro se instala en un equipo diferente.

Instale un cliente de Oracle de 64 bits en todos los equipos de ArcGIS Pro y establezca la variable PATH en el directorio principal del cliente de Oracle.

No necesita instalar un cliente de Oracle en el servidor porque los archivos para la conexión se instalan con el sistema de administración de bases de datos de Oracle. Asegúrese de que la variable del sistema LD_LIBRARY_PATH (Linux) o PATH (Microsoft Windows) esté establecida en el directorio de inicio de Oracle.

Si establece un tnsname para el cliente de Oracle, debe usar el mismo nombre en los equipos de ArcGIS Server y ArcGIS Pro.

ArcGIS Server se instala en uno o más equipos independientes del DBMS. ArcGIS Pro se instala en equipos independientes tanto de Oracle como de ArcGIS Server.

Instale un cliente de Oracle de 64 bits en todos los equipos de ArcGIS Pro y establezca la variable PATH en el directorio principal del cliente de Oracle.

Instale el cliente de Oracle de 64 bits en todos los equipos de ArcGIS Server y asegúrese de que las variables del sistema PATH (Windows) o LD_LIBRARY_PATH (Linux) se establezcan en el directorio principal del cliente de Oracle.

Si establece un tnsname para el cliente de Oracle, debe usar el mismo nombre en los equipos de ArcGIS Server y ArcGIS Pro.

ArcGIS Server y ArcGIS Pro se instalan en el mismo servidor; Oracle se instala en un servidor diferente.

Instale el cliente de Oracle de 64 bits en todos los equipos de ArcGIS Server. Tanto ArcGIS Server como ArcGIS Pro utilizarán este cliente.

Establezca la variable de sistema PATH en el directorio principal del cliente de Oracle.

ArcGIS Server, ArcGIS Pro y Oracle se instalan en el mismo equipo.

ArcGIS Server y ArcGIS Pro usarán los archivos del cliente de 64 bits instalados con el sistema de administración de bases de datos de Oracle para la conexión.

Establezca la variable PATH en el directorio principal del cliente de Oracle.

Si su sitio de ArcGIS Server incluye servidores adicionales, instale el cliente de Oracle de 64 bits en cada uno de los servidores del sitio y establezca la variable PATH en el directorio principal del cliente de Oracle.

Conectarse desde ArcGIS Pro

Después de instalar el cliente de Oracle en el equipo de ArcGIS Pro, establezca la variable de entorno PATH en la ubicación del cliente de Oracle y cree una conexión de base de datos.

Definir la variable PATH

Establezca la variable de entorno PATH del equipo de ArcGIS Pro en la ubicación de la instalación del cliente de Oracle. Consulte la documentación de Microsoft Windows si necesita instrucciones para establecer la variable de entorno PATH.

Si ArcGIS Pro se había abierto en el equipo antes de establecer la variable PATH, reinícielo para elegir la nueva configuración.

Conéctese a la base de datos.

Agregue una conexión de base de datos usando el cuadro de diálogo Conexión de base de datos o la herramienta de geoprocesamiento Crear conexión de base de datos.

En los siguientes pasos se describe el uso del cuadro de diálogo Conexión de base de datos para conectarse a Oracle.

Cuadro de diálogo Conexión de base de datos

  1. Abra el panel Catálogo en ArcGIS Pro.
  2. Haga clic con el botón derecho en Bases de datos y haga clic en Nueva conexión de base de datos.
  3. Elija Oracle en la lista desplegable Plataforma de la base de datos.
  4. Escriba el nombre TNS de Oracle en el cuadro de texto Instancia o proporcione una de las siguientes cadenas de caracteres de Oracle Easy Connect:
    • El nombre del servidor de Oracle/nombre o Id. del servicio Oracle

      Por ejemplo, si Oracle está instalado en myserver y myosvc es el nombre del servicio de Oracle, escriba lo siguiente:

      myserver/myosvc

    • El nombre del servidor de Oracle: número de puerto Oracle/nombre o Id. del servicio Oracle

      En este ejemplo, Oracle está instalado en myserver, escucha en el puerto 60000 y myoservice es el nombre del servicio de Oracle.

      myserver:60000/myoservice

    • La URL del servidor de Oracle

      La dirección URL de la misma instancia mostrada en el último ejemplo sería la siguiente:

      //myserver:60000/myoservice

    • El nombre del servidor de Oracle (puede utilizarlo si se configura Oracle listener para apuntar a una instancia predeterminada).
    • La dirección IP del servidor de Oracle/nombre o Id. del servicio de Oracle

      Por ejemplo, si la dirección del servidor es 10:10:10:10 y el nombre del servicio de Oracle es orasvc, escriba 10:10:10:10/orasvc.

      En las direcciones IPV6, ponga la dirección entre corchetes; por ejemplo, [4000:ab5:0:0:f666:d191:77f5:e2bd]/orasvc.

    • La dirección IP del servidor de Oracle: número de puerto de Oracle/nombre o Id. del servicio de Oracle

      En este ejemplo, la dirección IP es 10:20:30:40, el puerto es 59999 y el servicio de Oracle es myomy1: 10:20:30:40:59999/myomy1.

      Una dirección IPV6 para el mismo puerto y el mismo servicio tendría el siguiente aspecto: [6543:ef4:0:1:f587:l249:12f9:a3cd]:59999/myomy110:20:30:40:59999/myomy1.

    Asegúrese de que la instancia de Oracle se ha configurado de modo que permita Easy Connect. Si tiene el cliente completo de Oracle instalado, pero desea usar la sintaxis de Easy Connect para conectarse, asegúrese de que el archivo sqlnet.ora del cliente está configurado de modo que permita el uso de Easy Connect y asegúrese de que el servidor de Oracle se ha configurado para permitir la sintaxis de Easy Connect. Recuerde también que si la instancia de Oracle no está escuchando en el número de puerto de Oracle predeterminado, debe usar la sintaxis de conexión que incluye el número de puerto.

  5. Elija el tipo de autenticación que hay que utilizar al conectarse a la base de datos: autenticación de base de datos o Autenticación del sistema operativo.
    • Si selecciona Autenticación del sistema operativo, no necesita escribir un nombre de usuario y contraseña; la conexión se realiza mediante el nombre de inicio de sesión y contraseña que se utilizan para iniciar sesión en el sistema operativo. Si el inicio de sesión que se utiliza para el sistema operativo no es un inicio de sesión para base de datos válido, la conexión falla. Tenga en cuenta que no puede usar la autenticación del sistema operativo si utiliza Oracle Instant Client.
      Nota:

      Cuando se usa la autenticación de sistema operativo en Oracle, el inicio de sesión de sistema operativo debe llevar como prefijo una cadena de caracteres os_authent_prefix (de forma predeterminada, OPS$) y se almacena en la tabla USERNAME. El número máximo de caracteres permitidos para el nombre de usuario al conectar a la geodatabase es 30. En esos casos específicos, ArcGIS colocará comillas en torno al nombre de usuario para pasarlo a la base de datos. Las comillas cuentan en el total de 30 caracteres.

    • Si selecciona Autenticación de la base de datos, debe proporcionar un nombre y contraseña de base de datos válidos en el cuadro de texto Nombre de usuario y Contraseña, respectivamente. Los nombres de usuario pueden tener un máximo de 30 caracteres.

      Desactive Guardar nombre de usuario y contraseña si prefiere no guardar su información de inicio de sesión como parte de la conexión, lo que le puede ayudar a mantener la seguridad de la base de datos. Sin embargo, al hacerlo, deberá proporcionar un nombre de usuario y contraseña cada vez que se conecte.

    Nota:

    La opción Guardar nombre de usuario y contraseña debe estar activada para los archivos de conexión que usan la autenticación de la base de datos y proporcionar servicios web de ArcGIS con acceso a la base de datos o si desea buscar en ArcGIS Pro para localizar los datos a los que se accedió a través de este archivo de conexión.

  6. Introduzca el nombre del archivo de conexión en el campo Nombre del archivo de conexión.

    Al proporcionar información de conexión, se crea un nombre predeterminado. Puede utilizar el predeterminado o introducir un nombre de archivo más descriptivo.

    Este es el nombre que aparecerá en el panel Catálogo y la vista, y el nombre del archivo .sde almacenado en el disco.

  7. Si lo desea, expanda la sección Propiedades adicionales y especifique parámetros de conexión adicionales, además de los requeridos en los pasos anteriores.

    Escriba la propiedad necesaria en el campo Propiedad y el valor correspondiente en el campo Valores.

    Lea la documentación de Oracle para obtener información sobre los parámetros de conexión adicionales y opcionales.

  8. Haga clic en Validar para confirmar que la información de conexión es válida y que la base de datos está accesible.

    Si la base de datos contiene una geodatabase y la conexión es válida, la pestaña Propiedades de geodatabase pasa a estar activa. Si es preciso, puede modificar las propiedades de la conexión a la geodatabase de modo que se conecte a una versión tradicional distinta de la versión predeterminada, configurar la conexión como una conexión de versión en rama o conectarse a un momento histórico.

  9. Haga clic en Aceptar para crear el archivo de conexión.

Aparece una conexión de base de datos en Bases de datos en el panel Catálogo y se crea un archivo de conexión (.sde) en el directorio del proyecto de ArcGIS Pro.

Conectarse desde ArcGIS Server

Después de instalar un cliente de Oracle de 64 bits en todos los equipos del sitio de ArcGIS Server, establezca variables, cree un archivo de conexión de base de datos, otorgue privilegios y registre la base de datos en su sitio de ArcGIS Server.

Defina la variable de entorno PATH (solo Windows)

Establezca la variable de entorno PATH de cada servidor de ArcGIS Server Windows en la ubicación de la instalación del cliente de Oracle. Consulte la documentación de Microsoft Windows si necesita instrucciones para establecer la variable de entorno PATH.

Si ArcGIS Server estaba en ejecución antes de configurar el cliente de Oracle y establecer la variable PATH, debe reiniciar ArcGIS Server. Puede reiniciar ArcGIS Server desde la interfaz Servicios de Windows.

Defina la variable de entorno LD_LIBRARY_PATH (solo cliente Administrator, Developer o Runtime en Linux y Oracle)

Si instaló el cliente Administrator, Developer o Runtime de Oracle, establezca la variable de sistema LD_LIBRARY_PATH en el directorio principal del cliente de Oracle.

Si instaló el cliente Instant de Oracle, configure la variable LD_LIBRARY_PATH en la secuencia de comandos init_user_param.sh.

Modificar el script init_user_param.sh (en Linux solamente)

Una vez que haya instalado los archivos de cliente de la base de datos, modifique el script init_user_param.sh instalado con ArcGIS Server para hacer referencia a los archivos de cliente. Puede acceder a este script navegando al directorio <ArcGIS Server installation directory>/arcgis/server/usr.

Debe actualizar el init_user_param.sh en todos los equipos del sitio de ArcGIS Server.

Nota:

Si su perfil de usuario hace referencia al cliente de Oracle y la información de cliente difiere entre el perfil de usuario y init_user_param.sh, ArcGIS Server podría experimentar problemas al intentar conectarse a la base de datos. Para solucionar los problemas de conexión, quite la información de referencia de su perfil de usuario y vuelva a crear la referencia de las bibliotecas de cliente de la base de datos mediante los pasos siguientes:

  1. Asegúrese de que el propietario de la instalación de ArcGIS Server en cada equipo tenga al menos permisos de lectura y de ejecución en las bibliotecas de clientes de la base de datos.
  2. Abra el script init_user_param.sh en un editor de texto.
  3. Elimine las marcas de comentario (#) de las líneas que empiecen por export.

    Si instaló el cliente Oracle Administrator, Developer o Runtime, elimine las marcas de comentario de todas las líneas de Oracle que empiecen por 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

    Si utiliza las bibliotecas de cliente Instant de la base de datos de Oracle, solo tiene que eliminar los comentarios y establecer $LD_LIBRARY_PATH, por ejemplo:

    #
    # For connection with Oracle Instant Client
    #
    export LD_LIBRARY_PATH=<Location_to_instantclient_11_2>:$LD_LIBRARY_PATH

  4. Establezca valores para las variables de exportación.
    • En el caso de los clientes de Oracle Administrator, Developer o Runtime, elimine los comentarios y utilice la información específica de la implementación para establecer las variables siguientes:
      • ORACLE_BASE=<Oracle_Installdir>

        <Oracle_Installdir> es la ruta y el nombre del directorio de nivel superior donde está instalado el cliente de Oracle.

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

        Esta es la ruta de acceso a los archivos de la biblioteca cliente de Oracle. Establezca ORACLE_HOME en el directorio donde estos residen. De forma predeterminada, el nombre del directorio es client_1, pero es posible que su instalación tenga un nombre de directorio distinto.

      • Si tiene previsto utilizar un Id. de sistema (SID) de Oracle para conectarse, establezca ORACLE_SID= en el Id. de sistema de Oracle de su base de datos. Si tiene previsto utilizar una cadena Easy Connect para conectarse, comente esta línea.
      • Establezca TNS_ADMIN= en la ubicación de los archivos de administración de TNS del cliente de Oracle. Si tiene previsto utilizar una cadena Easy Connect para conectarse, no necesita establecer este valor y debe comentar esta línea.
    • En los clientes de Oracle Instant, elimine los comentarios y establezca solo la variable LD_LIBRARY_PATH, reemplazando <Location_to_instantclient> por la ruta y el nombre de directorio donde se ubican los archivos de cliente de Oracle Instant.
    • Si ArcGIS Server y Oracle se instalan en el mismo servidor, elimine los comentarios y establezca las variables siguientes:
      • ORACLE_BASE=<Oracle_Installdir>

        <Oracle_Installdir> es la ruta y el nombre del directorio de nivel superior donde está instalado Oracle.

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

        Esta es la ruta de acceso a los archivos de la biblioteca de Oracle. Establezca ORACLE_HOME en el directorio donde estos residen. De forma predeterminada, el nombre del directorio es db_<n>, pero es posible que su instalación tenga un nombre de directorio distinto.

      • Si tiene previsto utilizar un Id. de sistema (SID) de Oracle para conectarse, establezca ORACLE_SID= en el Id. de sistema de Oracle de su base de datos. Si tiene previsto utilizar una cadena Easy Connect para conectarse, comente esta línea.
      • Establezca TNS_ADMIN= en la ubicación de los archivos de administración de TNS del cliente de Oracle. Si tiene previsto utilizar una cadena Easy Connect para conectarse, no necesita establecer este valor y debe comentar esta línea.
  5. Guarde y cierre el script.
  6. Para que los cambios que realizó en el archivo init_user_param.sh tengan efecto, debe reiniciar ArcGIS Server.

    Para ello, ejecute el script stopserver.sh y, a continuación, ejecute el script startserver.sh en cada equipo del sitio de ArcGIS Server.

    ./stopserver.sh

    ./startserver.sh

Crear un archivo de conexión de base de datos

Cree un archivo de conexión de base de datos utilizando el cuadro de diálogo Conexión de base de datos en ArcGIS Pro, como se describió anteriormente.

De forma alternativa, puede ejecutar la herramienta Crear conexión de base de datos en ArcGIS Pro o usar Python para ejecutar el comando Crear conexión de base de datos desde un equipo de ArcGIS Server para crear un archivo de conexión de base de datos (.sde) que se conecte a la base de datos.

La siguiente información es específica para crear un archivo de conexión de base de datos para usar con ArcGIS Server:

  • Debe guardar la información de usuario con el archivo de conexión.
  • Si decide usar la autenticación de sistema operativo, utilice una cuenta de dominio para la cuenta de ArcGIS Server y agregue la cuenta de dominio a la base de datos de Oracle.

Otorgar privilegios

Al usuario de base de datos, el rol o la cuenta de ArcGIS Server (si utiliza la autenticación de sistema operativo) con los que se conecta a la base de datos se les debe otorgar privilegios sobre la base de datos para acceder a los datos que se van a publicar. Los privilegios y las circunstancias en virtud de los cuales tiene que otorgarlos son los siguientes:

PrivilegioRazón

CREATE SESSION

Necesario para conectar a la base de datos.

CREATE TABLE

Los grupos de selección provocan la creación de una tabla de archivos de registro en la geodatabase. Si un usuario no tiene este privilegio, se crearán tablas de archivo de registro en el esquema del usuario sde.

Privilegios SELECT sobre los datasets que se van a publicar

Conceda al usuario o a la cuenta de ArcGIS al menos privilegios SELECT en los datasets que se van a publicar.

Privilegios INSERT, UPDATE o DELETE sobre los datos publicados en servicios de entidades editables

Para editar datos mediante un servicio de entidades, deben otorgarse los privilegios suficientes para editar sobre los dataset.

El administrador de base de datos debe otorgar los dos primeros privilegios enumerados arriba. Si los datos están en una geodatabase, el propietario de los datos debe otorgar los privilegios requeridos en los datasets. Si los datos están en una base de datos, el propietario de los datos puede otorgar los privilegios en datasets desde ArcGIS, o bien el administrador de base de datos puede utilizar herramientas de base de datos para otorgar los privilegios requeridos.

Si va a registrar la geodatabase como una base de datos administrada para un sitio independiente o federado de ArcGIS Server, la cuenta con la que se conecta debe tener privilegios para crear datos en la geodatabase.

Consulte Privilegios para geodatabases en Oracle o Privilegios para utilizar ArcGIS con una base de datos de Oracle para obtener más información.

Registrar la base de datos

Para permitir que los sitios de ArcGIS Server accedan a los datos, utilice el archivo de conexión de base de datos que ha creado para agregar un data store registrado en ArcGIS Pro o agregar un elemento de data store al portal.