Privilèges pour les géodatabases dans Oracle

Les privilèges déterminent les opérations qu'une personne est autorisée à réaliser avec les données et la base de données. Les privilèges doivent être attribués selon le type de travail que la personne effectue au sein de l'organisation. Cette personne a-t-elle un rôle dans l'administration de la géodatabase ? Cette personne doit-elle modifier ou créer des données ? Ou cette personne a-t-elle seulement besoin d'effectuer des requêtes sur les données ?

Des privilèges spécifiques doivent être accordés aux utilisateurs en fonction des opérations qu’ils doivent effectuer dans la base de données Oracle. Certains privilèges peuvent être accordés aux rôles, mais d’autres doivent être accordés directement à l’utilisateur. Les privilèges utilisateur sont définis à différents niveaux.

Vous pouvez utiliser Oracle Enterprise Manager pour gérer les privilèges utilisateur. Vous pouvez aussi utiliser les instructions SQL pour accorder et révoquer des privilèges.

Les privilèges présentés dans cette page s’appliquent à Oracle, Autonomous Transaction Processing et Amazon Relational Database Service (RDS) for Oracle.

Privilèges des paquetages

Des privilèges d’exécution sont requis sur les paquetages suivants :

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

Vous devez accorder le privilège execute sur ces paquetages au rôle public pour la création ou la mise à niveau de la géodatabase.

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;

Conseil :

Le privilège execute sur dbms_utility, dbms_sql et utl_raw est accordé au rôle public par défaut dans Oracle. Par conséquent, il n’est nécessaire d’accorder le privilège execute sur ces paquetages que si vous l’avez explicitement révoqué du rôle public.

Après avoir créé ou mis à niveau la géodatabase, vous pouvez restreindre les privilèges sur ces paquetages en les révoquant du rôle public et en les accordant à chaque utilisateur individuel qui se connecte à la géodatabase, y compris l’administrateur de géodatabase.

Attention :

Vous ne pouvez pas accorder le privilège execute à un rôle, puis accorder le rôle à tous les utilisateurs, car les privilèges accordés par l’intermédiaire des rôles d’utilisateur ne s’appliquent pas lors de l’exécution de paquetages Oracle.

Après avoir accordé le privilège execute à des utilisateurs individuels, recompilez la structure sde :

EXEC dbms_utility.compile_schema( 'SDE' );

Privilèges minimaux

En plus de ceux indiqués dans la section précédente, les privilèges suivants sont requis pour chaque type d’utilisateur répertorié :

Privilèges minimaux dans Oracle

Type d’utilisateurPrivilèges de base de donnéesPrivilèges de jeu de donnéesRemarques

Visualiseur de données

  • CREATE SESSION

SELECT sur les objets de base de données

Editeur de données

  • CREATE SESSION

SELECT, INSERT, UPDATE et DELETE sur les jeux de données détenus par d’autres utilisateurs.

Lorsque vous utilisez ArcGIS pour accorder les privilèges SELECT, INSERT, UPDATE et DELETE sur une table ou une classe d’entités inscrite pour le versionnement traditionnel, ces privilèges sont automatiquement accordés sur la vue versionnée associée. Pour effectuer une mise à jour avec une vue versionnée et SQL, l’utilisateur doit détenir ces privilèges.

Créateur de données

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

Administrateur de géodatabases

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

Les privilèges sur les jeux de données de géodatabases doivent être octroyés ou révoqués à l’aide d’ArcGIS. Le propriétaire du jeu de données doit se charger de cette opération.

Privilèges requis pour la création ou la mise à niveau des géodatabases

Les tables suivantes répertorient les privilèges qui doivent être accordés à l’administrateur de géodatabase pour créer ou mettre à niveau une géodatabase dans Oracle. La raison pour laquelle le privilège ou le groupe de privilèges est exigé est également spécifiée dans la liste. Certains de ces privilèges peuvent être révoqués après la création ou la mise à niveau, comme noté dans le champ Objectif et comme indiqué dans les privilèges minimaux d’administrateur de géodatabase présentés dans le tableau précédent.

La première table présente les privilèges que l’utilisateur sde doit détenir pour créer une géodatabase.

La deuxième table répertorie les privilèges que l’utilisateur sde doit détenir pour mettre à niveau la géodatabase.

Les privilèges sont regroupés selon leur objectif au cours de la création et de la mise à niveau de la géodatabase.

Privilèges utilisateur sde Oracle pour la création d’une géodatabase

PrivilègeObjet
  • CREATE SESSION

Connexion à Oracle.

  • CREATE TABLE
  • CREATE TRIGGER

Créez le référentiel de géodatabase.

  • CREATE SEQUENCE

Créer des séquences pour générer des ID. Ce privilège peut être révoqué après la création de la géodatabase.

  • CREATE PROCEDURE

Créez des paquetages pour la conservation du contenu des tables système de géodatabase.

  • EXECUTE ON DBMS_CRYPTO

Permet de créer une fonction membre de carte pour le type ST_Geometry, qui est appelée à chaque fois qu’une union spatiale ou une intersection est effectuée.

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

Créez les types de données ST_Geometry et les types utilisés pour l’optimisation de requête. Le privilège CREATE VIEW est requis pour créer les vues système suivantes : GDB_Items_vw et GDB_ItemRelationships_vw. Ces privilèges peuvent être révoqués après la création de la géodatabase.

*Le privilège CREATE LIBRARY n’est pas requis lorsque vous créez une géodatabase dans Autonomous Transaction Processing (ATP).

  • ADMINISTER DATABASE TRIGGER

Permet la création de déclencheurs d’événement de base de données nécessaires pour modifier les tables ST_GEOMETRY_COLUMNS et ST_GEOMETRY_INDEX si une table avec la colonne ST_Geometry est supprimée, modifiée ou renommée à l’aide de SQL. Ce privilège est également requis pour créer des déclencheurs pl/sql. Ce privilège peut être révoqué après la création de la géodatabase.

  • SELECT_CATALOG_ROLE

Ce privilège est obligatoire uniquement pour activer ou mettre à niveau une géodatabase dans Autonomous Transaction Processing. Ce privilège est facultatif pour les autres offres de bases de données Oracle prises en charge.

Privilèges de l’utilisateur sde Oracle pour la mise à niveau d’une géodatabase

PrivilègeObjet
  • CREATE SESSION

Connexion à Oracle.

  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW

Mettez à niveau le référentiel de géodatabase. Le privilège CREATE VIEW peut être révoqué après la mise à niveau.

  • CREATE PROCEDURE

Mettez des paquetages à niveau pour la conservation du contenu des tables système de géodatabase.

  • CREATE SEQUENCE

Mettre à niveau des séquences pour générer des ID. Ce privilège peut être révoqué après la mise à niveau.

  • EXECUTE ON DBMS_CRYPTO

Mettre à niveau une fonction membre de carte pour le type ST_Geometry, qui est appelée à chaque fois qu’une union spatiale ou une intersection est effectuée.

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

Mettez à niveau le type de données ST_Geometry et les types utilisés pour l’optimisation de requête. Ces privilèges peuvent être révoqués après la mise à niveau.

*Le privilège CREATE LIBRARY n’est pas requis lorsque vous mettez à niveau une géodatabase dans ATP.

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

Mise à niveau du contenu de la géodatabase.

  • ADMINISTER DATABASE TRIGGER

Permet la création de déclencheurs d’événement de base de données nécessaires pour modifier les tables ST_GEOMETRY_COLUMNS et ST_GEOMETRY_INDEX si une table avec ST_Geometry est supprimée, modifiée ou renommée à l’aide de SQL. Ce privilège est également requis pour créer des déclencheurs pl/sql. Ce privilège peut être révoqué après la mise à niveau.

Privilèges facultatifs communs

De nombreuses organisations décident de tirer parti des fonctionnalités Oracle supplémentaires, afin d’améliorer encore davantage les capacités de leurs géodatabases. Le tableau suivant répertorie plusieurs privilèges facultatifs communs pour l’administrateur de géodatabase avec leurs objectifs. Les privilèges sont regroupés en fonction de leur objectif.

Privilèges facultatifs Oracle pour l’administrateur de géodatabase

PrivilègeAccordé àObjet
  • ALTER SESSION
  • PLUSTRACE

Administrateur de géodatabases

Activez le traçage SQL, la fonctionnalité SQL*Plus AUTOTRACE et la modification des paramètres d’initialisation propres à la session pour l’optimisation des performances et le dépannage ; créez le rôle PLUSTRACE en exécutant ORACLE_HOME/sqlplus/admin/plustrce.sql.

  • ALTER ANY INDEX
  • ANALYZE ANY
  • SELECT ANY DICTIONARY

Administrateur de géodatabases

Accordez ces privilèges à l’administrateur de géodatabase pour lui permettre de surveiller Oracle et d’effectuer des tâches de maintenance de base.

Ces privilèges sont utiles pour les organisations dont l’administrateur de géodatabase n’est pas l’administrateur de base de données Oracle.

  • CREATE DATABASE LINK
  • CREATE MATERIALIZED VIEW
  • CREATE VIEW

Administrateur de géodatabases

Cet ensemble de privilèges est utile pour intégrer la géodatabase à d’autres bases de données non spatiales dans l’entreprise.

  • RESTRICTED SESSION

Administrateur de géodatabases

Ce privilège permet à l’administrateur de géodatabase d’exécuter des tâches de maintenance lorsque la base de données est en ligne, mais n’est pas accessible à l’utilisateur final.

  • UNLIMITED TABLESPACE

Administrateur de géodatabases

Accorder ce privilège à l’administrateur de géodatabase pour la création et la mise à niveau garantit que l’espace de stockage est suffisant dans le tablespace de l’administrateur de géodatabase au sein de la base de données pour permettre à ce dernier d’effectuer la création ou la mise à niveau ; il est possible de révoquer ce privilège après la création ou la mise à niveau de la géodatabase, si vous avez défini des quotas pour la gestion d’espace.

  • ALTER SYSTEM
  • SELECT_CATALOG_ROLE*

Administrateur de géodatabases

L’utilisateur sde doit détenir ces privilèges pour supprimer les connexions à la géodatabase. L’outil de géotraitement Créer une géodatabase d’entreprise octroie ces privilèges à l’utilisateur sde. Vous pouvez annuler ces privilèges accordés à l’utilisateur sde après avoir exécuté cet outil. Toutefois, l’utilisateur sde ne pourra pas déconnecter des utilisateurs de la base de données.

Pour qu’il puisse déconnecter des utilisateurs de la base de données, vous pouvez ajouter l’utilisateur sde au rôle d’administrateur de base de données.

*Le privilège SELECT_CATALOG_ROLE est requis pour l’administrateur de géodatabase dans Autonomous Transaction Processing.

SELECT ON DBA_ROLES

Créateurs de données

Si vous voulez que les créateurs de données puissent accorder des privilèges sur leurs jeux de données à des rôles de base de données depuis la boîte de dialogue Privileges (Privilèges), ceux-ci doivent disposer du privilège SELECT sur DBA_ROLES pour pouvoir obtenir la liste des rôles dans la base de données.

INHERIT PRIVILEGES ON <utilisateur>

Ou

INHERIT ANY PRIVILEGES ON <utilisateur>

sde

Vous devez accorder l’un de ces privilèges à l’utilisateur sde pour que les importations Data Pump de la structure utilisateur sde puissent être réalisées par un autre utilisateur, tel que l’utilisateur system ou sys de Oracle.

Ce privilège ne s’applique pas aux propriétaires de géodatabase de structure utilisateur.

Autres privilèges

D’autres logiciels ArcGIS qui se connectent à une géodatabase dans Oracle peuvent nécessiter des privilèges supplémentaires, comme indiqué ci-dessous :

  • ArcGIS Insights peuvent nécessiter des privilèges supplémentaires. Pour plus d’informations, reportez-vous à la rubrique Privilèges de base de données requis de l’aide ArcGIS Insights.
  • Des privilèges supplémentaires peuvent être requis pour ArcGIS Monitor pour accéder à la géodatabase et la surveiller. Reportez-vous à la rubrique Register Oracle databases pour plus d’informations.