Crear una geodatabase de Oracle

Disponible con una licencia Standard o Advanced.

Para crear una geodatabase en una base de datos de Oracle, ejecute una herramienta de geoprocesamiento o un script de Python desde un cliente de ArcGIS.

Cuando se crea una geodatabase en ArcGIS AllSource 3.5, la versión de la geodatabase es 11.5.0.x.

Comience por leer los requisitos previos y siga las instrucciones que se corresponden con su situación.

Nota:

Ya no se admite la creación o actualización de geodatabases de esquema de usuario en Oracle.

Requisitos previos

Antes de crear una geodatabase en Oracle, realice lo siguiente:

  1. Confirme que la combinación de ArcGIS, Oracle y el sistema operativo que desea usar sea compatible.
  2. Obtenga los clientes de Oracle necesarios para conectarse a la versión de Oracle que usará para almacenar su geodatabase.
  3. Obtenga un archivo de códigos clave de ArcGIS Server (que se crea cuando autoriza ArcGIS Server) y ubíquelo en una ubicación a la que pueda acceder desde el cliente de ArcGIS que vaya a usar para crear la geodatabase.
  4. Determine quién creará la geodatabase, ya que influye en qué herramienta se ejecuta para crear la geodatabase. Siga las instrucciones que se corresponden con su situación:

Usted es el administrador de base de datos y de la geodatabase

Si desempeña el rol tanto de administrador de base de datos como de administrador de la geodatabase y, por lo tanto, conoce la contraseña de ambos roles de inicios de sesión, puede usar la herramienta de geoprocesamiento Crear geodatabase corporativa o un script de Python que llame a esta herramienta, para crear una geodatabase en Oracle.

La herramienta Crear geodatabase corporativa crea el usuario sde, el esquema y el espacio de tablas, además de otorgar los privilegios al usuario sde que se necesitan para crear la geodatabase. Para lograrlo, la herramienta utiliza la siguiente configuración predeterminada:

  • Crea un usuario de base de datos denominado sde
  • Crea un espacio de tablas de 400 MB en la ubicación predeterminada de Oracle y lo establece como espacio de tabla de usuario sde
  • Otorga al usuario sde los privilegios para crear y actualizar una geodatabase, quitar conexiones de base de datos e importar datos mediante Oracle Data Pump.
  • Otorga los privilegios de paquete requeridos para crear una geodatabase
  • Crea una geodatabase

Para obtener más información sobre los privilegios necesarios, consulte Privilegios para geodatabases en Oracle.

Nota:

No puede utilizar este flujo de trabajo para crear una geodatabase en un servicio de base de datos.

Antes de ejecutar la herramienta o script para crear una geodatabase, debe configurar Oracle.

Instalar y configurar Oracle

Antes de crear una geodatabase, Oracle debe instalarse y configurarse. La configuración de la instancia de Oracle por su parte (o por parte del departamento de TI) depende de las necesidades específicas de su organización. Consulte la información de instalación y configuración en la documentación de Oracle.

Verifique los requisitos del ArcGIS para Oracle antes de crear una geodatabase para asegurarse de que la combinación de Oracle, ArcGIS y hardware que desea utilizar sea compatible.

Si necesita llevar a cabo cualquiera de las operaciones siguientes, también tendrá que configurar el archivo extproc de Oracle para acceder a las bibliotecas ST_Geometry de Esri:

Una vez que Oracle se haya instalado y configurado, instale los clientes de ArcGIS y Oracle.

Instalar y configurar clientes

Puede instalar ArcGIS AllSource (Desktop Standard o Desktop Advanced) o ArcGIS Server (enterprise edition) y ejecutar un script para crear una geodatabase. Para ejecutar la herramienta de geoprocesamiento Crear geodatabase corporativa en lugar de una secuencia de comandos, instale ArcGIS AllSource.

Nota:

Necesita un archivo de códigos clave de ArcGIS Server (enterprise) para autorizar su geodatabase en la siguiente sección. Aunque no ejecute un script de Python desde un equipo con ArcGIS Server para crear la geodatabase, debe instalar y autorizar ArcGIS Server para obtener el archivo de códigos clave. Puede que tenga que copiar el archivo desde el equipo de ArcGIS Server en una ubicación a la que pueda acceder la herramienta de geoprocesamiento o el script de Python.

En la mayoría de los casos, el cliente de ArcGIS se instalará en un equipo distinto de Oracle. Por lo tanto, debe tener un cliente de Oracle compatible en el equipo cliente de ArcGIS para conectarse a la instancia de Oracle. Consulte la documentación de Oracle para determinar la versión del cliente de Oracle que debe instalar para conectarse a la versión de Oracle que está utilizando y para obtener instrucciones de instalación y configuración del cliente Oracle.

  1. Instale el cliente de ArcGIS que utilizará para crear la geodatabase.

    Siga las instrucciones que se proporcionan en las guías de instalación de software.

  2. Instale y configure un cliente de Oracle en el equipo cliente de ArcGIS.

    Puede obtener el cliente Oracle Instant, Runtime o Administrator de Oracle. Consulte las instrucciones de instalación en la documentación de Oracle.

  3. Defina la variable de entorno del sistema operativo o el perfil de usuario para incluir la ruta y nombre del directorio en el que se instaló el cliente de Oracle.

    • En Linux, configure la variable de entorno LD_LIBRARY_PATH.
    • En Microsoft Windows, establezca la variable de entorno PATH.

  4. Si el cliente de ArcGIS ya se estaba ejecutando, reinícielo para reconocer el cliente de Oracle y nuevas variables de entorno.
  5. Puede conectarse desde ArcGIS a Oracle con una cadena Easy Connect, pero debe configurar su base de datos de Oracle para permitir cadenas Easy Connect.

    Si tiene el cliente completo de Oracle instalado, pero desea usar la sintaxis de Easy Connect para conectarse, compruebe 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. Consulte la documentación de Oracle para obtener más instrucciones.

Ahora puede crear una geodatabase.

Crear una geodatabase

Puede ejecutar la herramienta Crear geodatabase corporativa desde ArcGIS AllSource (Desktop Standard o Desktop Advanced) o ejecutar un script de Python desde un equipo de ArcGIS AllSource o ArcGIS Server para crear un usuario sde, un esquema, un espacio de tablas o una geodatabase.

Ejecutar la herramienta Crear geodatabase corporativa

Puede ejecutar una herramienta de geoprocesamiento para crear la geodatabase en ArcGIS AllSource.

Siga estos pasos para crear una geodatabase usando la herramienta Crear geodatabase corporativa:

  1. Inicie ArcGIS AllSource.
  2. Abra la herramienta Crear geodatabase corporativa.

    Puede buscar o examinar esta herramienta, que se encuentra en el conjunto de herramientas Administración de la geodatabase de la caja de herramientas Administración de datos. Consulte Buscar una herramienta de geoprocesamiento para obtener información general sobre cómo abrir herramientas de geoprocesamiento.

  3. Elija Oracle en la lista desplegable Plataforma de la base de datos.
  4. Proporcione la información requerida para conectarse a la instancia de Oracle.
    • Si ya configuró el cliente de Oracle para usar un alias de red de TNS, escriba el alias del servicio de Net en el cuadro de texto Instancia.
    • Si no ha configurado el alias de red del cliente de Oracle y su base de datos y cliente de Oracle están configurados para usar cadenas de Easy Connect, proporcione la cadena Easy Connect de Oracle en el cuadro de texto Instancia.

    Consulte la lista de posibles cadenas Easy Connect en Conectarse a Oracle desde ArcGIS.

  5. El cuadro de texto Administrador de base de datos se rellena con el nombre de usuario del sistema, ya que debe conectarse a la base de datos como administrador de base de datos para crear el administrador de la geodatabase y el espacio de tablas.
  6. Escriba la contraseña del usuario del sistema en el cuadro de texto Contraseña del administrador de la base de datos.
  7. Introduzca sde en el cuadro de texto Administrador de la geodatabase.

    Si no existe el usuario sde en la base de datos, la herramienta lo crea y le otorga los privilegios necesarios para crear una geodatabase. Si el usuario existe, se le conceden los privilegios necesarios.

  8. Escriba una contraseña para el usuario sde en el cuadro de texto Contraseña del administrador de la geodatabase.

    Si el usuario sde ya existe en la base de datos, debe escribir la contraseña correcta del usuario existente; esta herramienta no cambiará la contraseña. Si va a crear un usuario sde, la contraseña que escriba se utiliza cuando se cree el usuario sde.

  9. Especifique un espacio de tabla para el usuario sde.
    • Si tiene un espacio de tabla preconfigurado para utilizarse para el repositorio de la geodatabase, escriba el nombre en el cuadro de texto Nombre del espacio de tabla.
    • Para crear un espacio de tablas, escriba un nombre válido en el cuadro de texto Nombre del espacio de tabla y la herramienta creará un espacio de tabla de 400 MB en la ubicación predeterminada de Oracle. Si no escribe un nombre de espacio de tabla, se crea el espacio de tabla SDE_TBS y se establece como el espacio de tabla predeterminado del usuario sde.
  10. Para especificar un Archivo de autorización, busque y seleccione el archivo de códigos clave que se creó cuando autorizó ArcGIS Server.

    Si aún no lo ha hecho, autorice ahora a ArcGIS Server a crear el archivo de códigos clave. Este archivo se escribe en la carpeta \\Program Files\ESRI\License<release#>\sysgen en los servidores de Windows y /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen en los servidores de Linux. Copie el archivo de códigos clave en una ubicación a la que pueda acceder la herramienta.

  11. Haga clic en Ejecutar.

    Los mensajes relativos a la creación de la geodatabase se escriben en el archivo sde_setup.log, que se crea en el directorio especificado para la variable %TEMP% del equipo en el que se ejecuta la herramienta. Si tiene algún problema al crear una geodatabase, revise este archivo de registro para solucionarlo.

Se crea una geodatabase en la base de datos de Oracle.

A continuación, si el parámetro open_cursors de la base de datos de Oracle está establecido con un valor distinto de 300, ejecute el procedimiento almacenado de sde.gdb_util.update_open_cursors para sincronizar el parámetro de su base de datos de Oracle con el de la geodatabase.

Ejecutar un script de Python

Puede copiar, guardar y ejecutar el script proporcionado aquí para crear una geodatabase desde ArcGIS AllSource (Desktop Standard o Desktop Advanced) o un equipo con ArcGIS Server.

  1. Cree un archivo de texto en el equipo cliente de ArcGIS y copie el siguiente script en él para facilitar información específica de su sitio:
    """
    Name: create_enterprise_gdb.py
    Description: Create an enterprise geodatabase in Oracle with provided DBMS connection information
    Author: Esri
    """
    
    # Import system modules
    import arcpy, os
    
    # Local variables
    # Provide correct path to your keycodes file
    # Replace all arcpy.management.CreateEnterpriseGeodatabase values except "ORACLE", "sys", "sde", and license
    license = os.fsencode("/arcgis/path/to/authorization_file/keycodes")
    
    try:
        arcpy.management.CreateEnterpriseGeodatabase("ORACLE",
                                                     "oracle:1521/orainstance",
                                                     "",
                                                     "DATABASE_AUTH",
                                                     "sys",
                                                     "syspwdqF2b3pxJp3j2",
                                                     "",
                                                     "sde",
                                                     "sdepwdkzsPzL8GuCEA",
                                                     "sdetblspace",
                                                     license)
        for i in range(arcpy.GetMessageCount()):
            arcpy.AddReturnMessage(i)
        arcpy.AddMessage("+++++++++\n")
    except:
        for i in range(arcpy.GetMessageCount()):
            arcpy.AddReturnMessage(i)
  2. Reemplace los valores como se indica en el script.
  3. Guarde el archivo con una extensión .py.
  4. Ejecute el script.

    Los mensajes relativos a la creación de la geodatabase se escriben en el archivo sde_setup.log, que se crea en el directorio especificado para la variable TEMP o TMP del equipo en el que se ejecuta el script. Si tiene algún problema al crear una geodatabase, revise este archivo de registro para solucionarlo.

Ahora tiene una geodatabase en Oracle.

A continuación, si el parámetro open_cursors de la base de datos de Oracle está establecido con un valor distinto de 300, ejecute el procedimiento almacenado de sde.gdb_util.update_open_cursors para sincronizar el parámetro de su base de datos de Oracle con el de la geodatabase.

El administrador de Oracle configura la base de datos; el administrador de la geodatabase crea la geodatabase

Si la persona que va a crear la geodatabase no tiene acceso a la contraseña del administrador de base de datos, este puede configurar la base de datos y el usuario sde y, a continuación, el administrador de la geodatabase puede conectarse a ella con el nombre de usuario sde y crear una geodatabase con la herramienta de geoprocesamiento Habilitar geodatabase corporativa o un script de Python.

La herramienta Habilitar geodatabase corporativa acepta un archivo de conexión de base de datos como entrada y crea tablas del sistema, vistas, funciones y procedimientos de geodatabase en el esquema de usuario sde.

Instalar y configurar Oracle

Antes de que el administrador de la geodatabase pueda crear una geodatabase, el administrador de base de datos debe hacer lo siguiente:

  • Instale y configure una instancia de Oracle. La configuración de la instancia de Oracle depende de las necesidades específicas de su organización. Consulte la documentación para obtener información de instalación y configuración para Oracle.

    Verifique los requisitos del sistema de ArcGIS para asegurarse de que el sistema de administración de bases de datos, ArcGIS y las combinaciones de hardware que desea utilizar son compatibles.

  • Cree un usuario y esquema sde.
  • Otorgue al usuario sde los privilegios necesarios para crear una geodatabase. Consulte la lista de los privilegios necesarios en Privilegios para geodatabases en Oracle.
  • Cree un espacio de tabla para el usuario sde y establézcalo como su espacio predeterminado.
  • Otorgue privilegios de execute sobre los paquetes necesarios para crear la geodatabase. Consulte la lista de los paquetes en Privilegios para geodatabases en Oracle.

Si necesita llevar a cabo cualquiera de las operaciones siguientes, también debe configurar el archivo extproc de Oracle para acceder a las bibliotecas ST_Geometry de Esri:

Una vez que se haya instalado y configurado Oracle, el administrador de la geodatabase puede instalar los clientes de ArcGIS y Oracle.

Instalar y configurar clientes

Puede instalar ArcGIS AllSource (Desktop Standard o Desktop Advanced) o ArcGIS Server para ejecutar un script de Python y crear una geodatabase. Si desea ejecutar la herramienta de geoprocesamiento Habilitar geodatabase corporativa en lugar de un script, instale ArcGIS AllSource.

Nota:

Necesita un archivo de códigos clave de ArcGIS Server (enterprise) para autorizar su geodatabase en la siguiente sección. Aunque no ejecute un script de Python desde un equipo con ArcGIS Server para crear la geodatabase, debe instalar y autorizar ArcGIS Server para obtener el archivo de códigos clave. Puede que tenga que copiar el archivo desde el equipo de ArcGIS Server en una ubicación a la que pueda acceder la herramienta de geoprocesamiento o el script de Python.

En la mayoría de los casos, el cliente de ArcGIS se instalará en un equipo distinto de Oracle. Por lo tanto, debe tener un cliente de Oracle compatible en el equipo cliente de ArcGIS para conectarse a la instancia de Oracle. Consulte la documentación de Oracle para determinar la versión del cliente de Oracle que debe instalar para conectarse a la versión de Oracle que está utilizando y para obtener instrucciones de instalación y configuración del cliente.

  1. Instale el cliente de ArcGIS que utilizará para crear la geodatabase.

    Siga las instrucciones que se proporcionan en las guías de instalación de software.

  2. Instale y configure un cliente de Oracle en el equipo cliente de ArcGIS.

    Puede obtener el cliente Oracle Instant, Runtime o Administrator de Oracle. Consulte las instrucciones de instalación en la documentación de Oracle.

  3. Defina la variable de entorno del sistema operativo o el perfil de usuario para incluir la ruta y nombre del directorio en el que se instaló el cliente de Oracle.

    • En Linux, configure la variable de entorno LD_LIBRARY_PATH.
    • En Windows, establezca la variable de entorno PATH.

  4. Si el cliente de ArcGIS ya se estaba ejecutando, reinícielo para reconocer el cliente de Oracle y nuevas variables de entorno.
  5. Puede conectarse desde ArcGIS a Oracle con una cadena Easy Connect. Sin embargo, el administrador de base de datos debe configurar la base de datos Oracle para permitir cadenas Easy Connect. Si tiene el cliente completo de Oracle instalado, pero desea usar la sintaxis de Easy Connect para conectarse, compruebe que el archivo sqlnet.ora del cliente está configurado de modo que permita el uso de Easy Connect y que el administrador de base de datos ha configurado el servidor de Oracle para permitir la sintaxis de Easy Connect. Consulte la documentación de Oracle para obtener más instrucciones.

Ahora puede crear una geodatabase.

Crear una geodatabase

El administrador de la geodatabase puede ejecutar la herramienta Habilitar geodatabase corporativa desde ArcGIS AllSource (Desktop Standard o Desktop Advanced), o ejecutar un script de Python desde un equipo con ArcGIS AllSource (Desktop Standard o Desktop Advanced) o ArcGIS Server para crear una geodatabase en la base de datos existente.

Ejecutar la herramienta Habilitar geodatabase corporativa ArcGIS Desktop

Ejecute la herramienta de geoprocesamiento desde ArcGIS AllSource para crear una geodatabase.

Siga estos pasos para crear una geodatabase usando la herramienta de geoprocesamiento Habilitar geodatabase corporativa:

  1. Inicie ArcGIS AllSource.
  2. Conéctese a la base de datos Oracle como el usuario sde.

    Guarde la contraseña del usuario en el cuadro de diálogo Conexión de base de datos.

  3. Abra la herramienta de geoprocesamiento Habilitar geodatabase corporativa.

    Consulte Buscar una herramienta de geoprocesamiento para obtener información general sobre cómo abrir herramientas de geoprocesamiento.

  4. Utilice la conexión de base de datos que creó en el paso 2 para Conexión de base de datos de entrada.
  5. Navegue al archivo de autorización que se creó cuando autorizó ArcGIS Server y agréguelo al cuadro de texto Archivo de autorización.

    Si aún no lo ha hecho, autorice ArcGIS Server para crear este archivo. Cuando se utiliza el asistente para autorizar ArcGIS Server, se escribe un archivo de códigos clave en el servidor donde está instalado el software. Si autorizó ArcGIS Server en un equipo con Linux, el archivo de códigos clave se creó en /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release>/sysgen. Si autorizó en un servidor de Windows, el archivo se creó en Program Files\ESRI\License<release>\sysgen. Copie el archivo de códigos clave en una ubicación a la que pueda acceder la herramienta.

  6. Haga clic en Ejecutar.

    Los mensajes relativos a la creación de la geodatabase se escriben en el archivo sde_setup.log, que se crea en el directorio especificado para la variable %TEMP% del equipo en el que se ejecuta la herramienta. Si tiene algún problema al crear una geodatabase, revise este archivo de registro para solucionarlo.

Se crea una geodatabase en la base de datos.

Si los clientes accederán a la geodatabase mediante SQL, configure Oracle extproc para permitir el acceso.

A continuación, el administrador de base de datos puede sincronizar la configuración de open_cursors entre Oracle y la geodatabase utilizando el procedimiento almacenado de sde.gdb_util.update_open_cursors.

Ejecutar un script de Python

Si desea crear la geodatabase ejecutando un script desde una instalación de ArcGIS Server o ArcGIS AllSource, puede usar el script que se proporciona aquí.

  1. Cree un archivo de texto en el equipo cliente de ArcGIS y copie el siguiente script en él para facilitar información específica de su sitio:

    # Name: enable_enterprise_gdb.py
    # Description: Create an enterprise geodatabase in an existing Oracle database
    
    # Import system modules
    import arcpy, os
    
    # Local variables
    # Replace directories to work for your site
    license = "/arcgis/path/to/authorization_file/keycodes"
    tempdir = "/tmp/"
    connection_file_name = "egdb_connection.sde"
    
    # Check for the .sde file and delete it if present
    connection_file_name_path = os.path.join(tempdir, connection_file_name)
    
    arcpy.env.overwriteOutput=True
    if os.path.exists(connection_file_name_path):
    	os.remove(connection_file_name_path)
    
    # Create a connection to the geodatabase as the geodatabase administrator
    # Replace "gisprod/orcl" with your Oracle instance string and replace "Tgdbst@rtsh3r3" with your sde password
    arcpy.CreateDatabaseConnection_management(tempdir,
                                              connection_file_name,
                                              "ORACLE",
                                              "gisprod/orcl",
                                              "DATABASE_AUTH",
                                              "sde",
                                              "Tgdbst@rtsh3r3",
                                              "SAVE_USERNAME")
    # Enable geodatabase
    try:
        arcpy.EnableEnterpriseGeodatabase_management(connection_file_name_path, license)
    except:
        for i in range(arcpy.GetMessageCount()):
            arcpy.AddReturnMessage(i)

  2. Reemplace los valores como se indica en el script.
  3. Guarde el archivo con una extensión .py.
  4. Ejecute el script.

    Los mensajes relativos a la creación de la geodatabase se escriben en el archivo sde_setup.log, que se crea en el directorio especificado para la variable TEMP o TMP del equipo en el que se ejecuta el script. Si tiene algún problema al crear una geodatabase, revise este archivo de registro para solucionarlo.

Ahora tiene una geodatabase en la base de datos de Oracle.

A continuación, el administrador de base de datos puede sincronizar la configuración de open_cursors entre Oracle y la geodatabase utilizando el procedimiento almacenado de sde.gdb_util.update_open_cursors.