Privilegios para geodatabases en Oracle

Los privilegios determinan lo que alguien está autorizado a hacer con los datos y la base de datos. Debe asignar los privilegios según el tipo de trabajo que realiza la persona dentro de la organización. ¿Participa esta persona en la administración de la geodatabase? ¿Necesita editar o crear datos? ¿O solo necesitaría consultar los datos?

Debe otorgar privilegios específicos a los usuarios según las tareas que necesiten realizar en la base de datos de Oracle. Algunos privilegios se pueden otorgar a los roles, pero otros deben otorgarse directamente al usuario. Los privilegios de usuario se establecen en diferentes niveles.

La primera sección de este tema enumera los privilegios de paquete requeridos para todos los usuarios. Estos privilegios deben otorgarse al rol público para crear o actualizar una geodatabase. Sin embargo, también se pueden otorgar a todos los usuarios en forma individual después de la creación o actualización de la geodatabase, si desea revocarlos del rol público.

En la segunda sección se enumeran los privilegios mínimos de base de datos necesarios para los tipos comunes de usuarios: visores, editores y creadores de datos, así como el administrador de la geodatabase. Estos privilegios también son necesarios, al igual que los que están enumerados en la primera sección.

La tercera sección enumera los privilegios que necesita el administrador de la geodatabase para crear o actualizar una geodatabase. Éstos también son necesarios, al igual que los que están enumerados en la primera sección.

La última sección muestra los privilegios opcionales que se suelen asignar a los usuarios de las geodatabases en Oracle.

Puede utilizar Enterprise Manager de Oracle para administrar los privilegios de usuario. También puede utilizar declaraciones de SQL para otorgar y revocar privilegios.

Privilegios de paquete

Los siguientes paquetes requieren privilegios de ejecución:

  • dbms_lob
  • dbms_lock
  • dbms_pipe
  • dbms_utility
  • dbms_sql
  • utl_raw

Debe otorgar el privilegio de ejecución para estos paquetes al rol público para crear o actualizar la geodatabase.

GRANT EXECUTE ON dbms_pipe TO public;
GRANT EXECUTE ON dbms_lock TO public;
GRANT EXECUTE ON dbms_lob TO public;
GRANT EXECUTE ON dbms_utility TO public;
GRANT EXECUTE ON dbms_sql TO public;
GRANT EXECUTE ON utl_raw TO public;

Sugerencia:

En Oracle, se otorga el privilegio de ejecución para dbms_utility, dbms_sql y utl_raw al rol público de forma predeterminada. Por lo tanto, solo debe otorgar privilegios de ejecución para estos paquetes al público si anteriormente los revocó de manera explícita.

Después de haber creado o actualizado la geodatabase, puede restringir los privilegios para estos paquetes revocando el permiso al rol público y otorgándolo a los usuarios individuales que inician sesión en la geodatabase, incluido el administrador de la geodatabase.

Precaución:

No puede otorgar el privilegio de ejecución a un rol y después otorgar el rol a todos los usuarios, debido a que los privilegios otorgados a través de los roles de usuario no se aplican cuando se ejecutan los paquetes de Oracle.

Después de conceder el privilegio de ejecución a usuarios individuales, recompile el esquema sde:

EXEC dbms_utility.compile_schema( 'SDE' );

Privilegios mínimos

Además de los privilegios mencionados en la sección anterior, los siguientes privilegios también son requeridos para cada tipo de usuario enumerado:

Privilegios mínimos en Oracle

Tipo de usuarioPrivilegios de base de datosPrivilegios de datasetNotas

Visor de datos

  • CREATE SESSION

SELECT en objetos de base de datos

Editor de datos

  • CREATE SESSION

SELECT, INSERT, UPDATE y DELETE en datasets que pertenecen a otros usuarios.

Cuando se usa ArcGIS para asignar los privilegios SELECT, INSERT, UPDATE y DELETE en una tabla o clase de entidad registradas para el versionado tradicional, esos privilegios se otorgan automáticamente en la vista versionada asociada. Dichos privilegios son necesarios para que el usuario pueda editar con una vista SQL y una vista versionada.

Creador de datos

  • CREATE SEQUENCE
  • CREATE SESSION
  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW

Administrador de la geodatabase

  • CREATE PROCEDURE
  • CREATE SEQUENCE
  • CREATE SESSION
  • CREATE TABLE
  • CREATE TRIGGER

Los privilegios de los datasets en las geodatabases se deben otorgar o revocar mediante clientes de ArcGIS y esta labor debe correr a cargo del propietario del dataset.

Privilegios requeridos para la creación o actualización de la geodatabase

En las siguientes tablas se muestran los privilegios que se deben otorgar al administrador de la geodatabase para crear o actualizar una geodatabase en Oracle. También se incluye la razón por la cual es necesario el privilegio o grupo de privilegios. Puede revocar algunos de estos privilegios una vez que se completa la creación o la actualización, como se muestra en el campo Propósito y como se indica en los privilegios mínimos del administrador de la geodatabase en la tabla anterior.

En la primera tabla se incluyen los privilegios requeridos por el usuario sde para crear una geodatabase.

En la segunda tabla se incluyen los privilegios requeridos por el usuario sde para actualizar la geodatabase.

Los privilegios están agrupados por el propósito al que sirven durante la creación y actualización de la geodatabase.

Privilegios de usuario sde de Oracle para crear una geodatabase

PrivilegioPropósito
  • CREATE SESSION

Conéctese a Oracle.

  • CREATE TABLE
  • CREATE TRIGGER

Crear el repositorio de la geodatabase.

  • CREATE SEQUENCE

Crear secuencias para generar Id. Este privilegio se puede revocar después de la creación de la geodatabase.

  • CREATE PROCEDURE

Crear paquetes para mantener los contenidos de las tablas del sistema de geodatabases.

  • EXECUTE ON DBMS_CRYPTO

Permite la creación de una función de miembro del mapa para el tipo ST_Geometry, que se denomina siempre que se realiza una unión espacial o intersección.

  • CREATE INDEXTYPE
  • CREATE LIBRARY*
  • CREATE OPERATOR
  • CREATE PUBLIC SYNONYM
  • CREATE TYPE
  • CREATE VIEW
  • DROP PUBLIC SYNONYM

Cree el tipo de datos ST_Geometry y los tipos de datos utilizados para la optimización de las consultas. CREATE VIEW es necesario para crear vistas de sistema: GDB_Items_vw y GDB_ItemRelationships_vw. Estos privilegios que se pueden revocar después de la creación de la geodatabase.

*CREATE LIBRARY no se requiere al crear una geodatabase en Autonomous Transaction Processing (ATP) database in Oracle Cloud.

  • ADMINISTER DATABASE TRIGGER

Permite la creación de desencadenadores de eventos de la base de datos para modificar las tablas ST_GEOMETRY_COLUMNS y ST_GEOMETRY_INDEX si se suelta, se modifica o se cambia el nombre de una tabla con una columna ST_Geometry utilizando SQL. También es necesario para crear desencadenadores pl/sql. Este privilegio se puede revocar después de la creación de la geodatabase.

  • SELECT_CATALOG_ROLE

Este privilegio solo se necesita para habilitar y actualizar una geodatabase en Autonomous Transaction Processing database in Oracle Cloud. Este privilegio es opcional para otras ofertas de bases de datos Oracle compatibles.

Privilegios de usuario sde de Oracle para actualizar una geodatabase

PrivilegioPropósito
  • CREATE SESSION

Conéctese a Oracle.

  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW

Actualice el repositorio de la geodatabase. El privilegio CREATE VIEW se puede revocar después de la actualización.

  • CREATE PROCEDURE

Actualizar paquetes para mantener los contenidos de las tablas del sistema de geodatabases.

  • CREATE SEQUENCE

Actualizar secuencias para generar Id. Este privilegio se puede revocar después de la actualización.

  • EXECUTE ON DBMS_CRYPTO

Actualizar una función de miembro del mapa para el tipo ST_Geometry, que se denomina siempre que se realiza una unión espacial o intersección.

  • CREATE INDEXTYPE
  • CREATE LIBRARY*
  • CREATE OPERATOR
  • CREATE PUBLIC SYNONYM
  • CREATE TYPE
  • DROP PUBLIC SYNONYM

Actualice el tipo de dato ST_Geometry y los tipos usados para la optimización de las consultas. Estos privilegios que se pueden revocar después de la actualización.

*CREATE LIBRARY no se requiere al actualizar una geodatabase en ATP database in Oracle Cloud.

  • ALTER ANY INDEX
  • CREATE ANY INDEX
  • CREATE ANY TRIGGER
  • CREATE ANY VIEW
  • DROP ANY INDEX
  • DROP ANY VIEW
  • SELECT ANY TABLE

Actualizar los contenidos de la geodatabase.

  • ADMINISTER DATABASE TRIGGER

Permite la creación de desencadenantes de eventos de la base de datos para modificar las tablas ST_GEOMETRY_COLUMNS y ST_GEOMETRY_INDEX si suelta, modifica o cambia el nombre de una tabla con ST_Geometry utilizando SQL. También es necesario para crear desencadenadores pl/sql. Este privilegio se puede revocar después de la actualización.

Privilegios opcionales comunes

Muchas organizaciones prefieren aprovechar las características adicionales de Oracle para aumentar aún más las funcionalidades de las geodatabases. En la siguiente tabla se enumeran varios privilegios opcionales comunes para el administrador de la geodatabase y el propósito de los mismos. Los privilegios están agrupados por el propósito al que sirven.

Privilegios opcionales de Oracle para el administrador de la geodatabase

PrivilegioConcedido aPropósito
  • ALTER SESSION
  • PLUSTRACE

Administrador de la geodatabase

Habilite el trazado de SQL, la entidad *Plus AUTOTRACE de SQL y la modificación de los parámetros de inicialización específicos de la sesión para el ajuste del rendimiento y la solución de problemas. Cree el rol PLUSTRACE ejecutando ORACLE_HOME/sqlplus/admin/plustrce.sql.

  • ALTER ANY INDEX
  • ANALYZE ANY
  • SELECT ANY DICTIONARY

Administrador de la geodatabase

Se le otorga al administrador de la geodatabase para que el usuario pueda controlar Oracle y realizar tareas de mantenimiento básicas.

Resulta útil para organizaciones en las que el administrador de la geodatabase no es el administrador de base de datos de Oracle.

  • CREATE DATABASE LINK
  • CREATE MATERIALIZED VIEW
  • CREATE VIEW

Administrador de la geodatabase

Es útil para integrar la geodatabase con otras bases de datos no espaciales en la empresa

  • RESTRICTED SESSION

Administrador de la geodatabase

Este privilegio permite que el administrador de la geodatabase realice el mantenimiento mientras la base de datos está en línea pero los usuarios finales no pueden acceder a ella.

  • UNLIMITED TABLESPACE

Administrador de la geodatabase

Si le otorga este privilegio al administrador de la geodatabase para la creación y la actualización, garantiza que haya suficiente espacio de almacenamiento en el espacio de tablas del administrador de la geodatabase en la base de datos para completar la creación o actualización de la geodatabase. Puede revocar este privilegio después de crear o actualizar la geodatabase si tienen cuotas establecidas para la administración del espacio.

  • ALTER SYSTEM
  • SELECT_CATALOG_ROLE*

Administrador de la geodatabase

El usuario sde debe tener estos privilegios para eliminar las conexiones de la geodatabase. La herramienta de geoprocesamiento Crear geodatabase corporativa concede estos privilegios al usuario sde. Puede revocar estos privilegios del usuario sde después de ejecutar esta herramienta, pero, si lo hace, el usuario sde no podrá desconectar usuarios de la base de datos.

Como alternativa, el usuario sde se puede agregar al rol administrador de base de datos para permitirle desconectar usuarios de la base de datos.

*SELECT_CATALOG_ROLE es necesario, no opcional, para el administrador de geodatabase en Autonomous Transaction Processing database in Oracle Cloud.

SELECT ON DBA_ROLES

Creadores de datos

Si desea que los creadores de datos concedan privilegios sobre sus datasets a los roles de base de datos con el cuadro de diálogo Privilegios, deben tener privilegios seleccionados en DBA_ROLES para obtener una lista de los roles de la base de datos.

HEREDAR PRIVILEGIOS DE <usuario>

O

HEREDAR CUALQUIER PRIVILEGIO DE <usuario>

sde

Este privilegio opcional solo se aplica a Oracle 12c o versiones posteriores. Debe otorgar este privilegio al usuario sde para permitir que las importaciones de Data Pump del esquema del usuario sde pueda realizarlas otro usuario, como el usuario sys de Oracle o el usuario de sistema.

Este permiso no es válido para los propietarios de geodatabases de esquema de usuario.