IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Guide Oracle

2004

Par SheikYerbouti (Page d'accueil)
 

Administration Oracle : Rôles et privilèges


Introduction
1. Assigner des privilèges système à un utilisateur
2. Assigner des privilèges objet à un utilisateur
3. Créer des rôles et leur assigner des privilèges
4. Activer et désactiver un rôle
5. Suppression d'un rôle
6. Retirer des privilèges système
7. Retirer des privilèges objet
8. Liste des privilèges système
9. Liste des privilèges objet
Remerciements


Introduction


Rôles et privilèges sont définis pour sécuriser l'accès aux données de la base

Ces concepts sont mis en oeuvre pour protéger les données en accordant (ou retirant) des privilèges a un utilisateur ou un groupe d'utilisateurs

Un rôle est un regroupement de privilèges. Une fois créé il peut être assigné à un utilisateur ou à un autre rôle

Les privilèges sont de deux types

  • Les privilèges de niveau système

Qui permettent la création, modification, suppression, exécution de groupes d'objets

les privilèges CREATE TABLE, CREATE VIEW, CREATE SEQUENCE par exemple permettent à l'utilisateur qui les a reçu de créer des tables, des vues et des séquences

  • Les privilèges de niveau objet

Qui permettent les manipulations sur des objets spécifiques

les privilèges SELECT, INSERT, UPDATE, DELETE sur la table SCOTT.EMP par exemple permettent à l'utilisateur qui les a reçu de sélectionner, ajouter, modifier et supprimer des lignes dans la table EMP appartenant à l'utilisateur SCOTT


1. Assigner des privilèges système à un utilisateur


Assigner des privilèges système à un utilisateur

Lorsqu'un utilisateur est créé avec l'instruction CREATE USER, il ne dispose encore d'aucun droit car aucun privilège ne lui a encore été assigné
Il ne peut même pas se connecter à la base !

Il faut donc lui assigner les privilèges nécessaires

Il doit pouvoir se connecter, créer des tables, des vues, des séquences.
Pour lui assigner ces privilèges de niveau système il faut utiliser l'instruction GRANT dont voici la syntaxe



systeme_privilege représente un privilège système (liste en annexe 1)
role représente un rôle préalablement créé
ALL PRIVILEGES représente tous les privilèges système (à l'exception de SELECT ANY DICTIONARY)
user représente le nom de l'utilisateur qui doit bénéficier du privilège
PUBLIC assigne le privilège à tous les utilisateurs
WITH ADMIN OPTION assigne à l'utilisateur le droit d'assigner, de retirer, de modifier et de supprimer à son tour les privilèges du rôle reçus


Pour que l'utilisateur puisse simplement se connecter à la base, il doit bénéficier du privilège système CREATE SESSION
GRANT CREATE SESSION TO nom_utilisateur ;
Ensuite il faut lui assigner des droits de création de table
GRANT CREATE TABLE TO nom_utilisateur ;
Puis les droits de création de vues
GRANT CREATE VIEW TO nom_utilisateur ;
Et il en va de même pour tous les autres privilèges qui lui sont assignés.

L'ensemble de ces privilèges peuvent être assignés au sein d'une même commande
GRANT CREATE SESSION ,CREATE TABLE ,CREATE VIEW TO nom_utilisateur ;


2. Assigner des privilèges objet à un utilisateur



object_privilege représente un privilège objet (liste en annexe 2)
role représente un rôle préalablement créé
ALL PRIVILEGES représente tous les privilèges assignés à l'exécuteur de l'instruction
column représente le nom de colonne d'une table
schema représente le nom d'un schéma
object représente le nom d'un objet du schéma
directory_name représente le nom d'une directory
JAVA SOURCE représente le nom d'une source Java
JAVA RESOURCE représente le nom d'une ressource Java
WITH GRANT OPTION assigne à l'utilisateur de droit d'assigner à son tour le privilège reçu à un autre utilisateur
(WITH GRANT OPTION s'applique à un utilisateur ou à PUBLIC, mais pas à un rôle)
WITH HIERARCHY OPTION assigne le privilèges aux sous-objets


Pour assigner à l'utilisateur de droit de sélectionner, insérer, modifier et supprimer des lignes dans la table EMP de l'utilisateur SCOTT
GRANT SELECT ,INSERT ,UPDATE ,DELETE ON SCOTT.EMP TO nom_utilisateur ;
Une liste de colonnes peut être indiquée dans l'instruction afin de restreindre davantage les droits sur une table
GRANT UPDATE ( JOB, MGR ) ON SCOTT.EMP TO nom_utilisateur ;
L'utilisateur peut modifier la table SCOTT.EMP mais uniquement les colonnes JOB et MGR


Pour pouvoir mettre à jour ou supprimer des lignes d'une table, les privilèges UPDATE ET DELETE ne suffisent pas. Le privilège SELECT est nécessaire


Principes généraux appliqués aux privilèges

  • Un utilisateur possède automatiquement tous les privilèges sur un objet qui lui appartient
  • Un utilisateur ne peut pas donner plus de privilèges qu'il n'en a reçu
  • s'il n'a pas reçu le privilège avec l'option WITH GRANT OPTION, un utilisateur ne peux pas assigner à son tour ce même privilège



L'instruction GRANT permet d'assigner un ou plusieurs privilèges système ou objet
Cependant, lorsque la liste des privilèges est importante, cette manière de procéder s'avère rapidement fastidieuse et répétitive

Si l'on prend l'exemple d'un utilisateur travaillant au service comptabilité, il doit recevoir un certain nombre de privilèges sur un certain nombre d'objets
Un autre utilisateur du même service à toutes les chances de se voir assigner des privilèges identiques

C'est pourquoi il est souhaitable de pouvoir regrouper des privilèges identiques dans un même ensemble


3. Créer des rôles et leur assigner des privilèges


Cet ensemble s'appelle un rôle et se créé avec l'instruction CREATE ROLE


role représente le nom du rôle
NOT IDENTIFIED (défaut) indique qu'aucun mot de passe n'est nécessaire pour activer le rôle
IDENTIFIED BY password indique qu'un mot de passe est nécessaire pour activer le rôle
IDENTIFIED USING package indique l'utilisation d'un rôle "applicatif" via un package
IDENTIFIED EXTERNALLY indique que l'autorisation provient d'une source externe (S.E.)
IDENTIFIED GLOBALLY


Lorsque le rôle est créé, il ne contient rien et il faut l'alimenter à l'aide d'instructions GRANT
CREATE ROLE comptabilite ;
GRANT SELECT, INSERT, UPDATE, DELETE ON CPT.FACTURE TO comptabilite ; GRANT SELECT, INSERT, UPDATE, DELETE ON CPT.LIG_FAC TO comptabilite ; GRANT SELECT, INSERT, UPDATE, DELETE ON CPT.JOURNAL TO comptabilite ;
Une fois le rôle créé, il peut être assigné à un utilisateur ou à un autre rôle
GRANT comptabilite TO nom_utilisateur ;


Trois rôles existent en standard

  • CONNECT
  • RESOURCE
  • DBA

Les privilèges système assignés au rôle CONNECT
SQL> select * from DBA_SYS_PRIVS where grantee='CONNECT' ; GRANTEE PRIVILEGE ADM ------------------------------ ---------------------------------------- --- CONNECT CREATE VIEW NO CONNECT CREATE TABLE NO CONNECT ALTER SESSION NO CONNECT CREATE CLUSTER NO CONNECT CREATE SESSION NO CONNECT CREATE SYNONYM NO CONNECT CREATE SEQUENCE NO CONNECT CREATE DATABASE LINK NO 8 ligne(s) sélectionnée(s).
Ce rôle permet l'ouverture (CREATE SESSION) et la modification (ALTER SESSION) d'une session
La création de tables, vues, clusters, séquences, synonymes et liens de bases de données

L'option ADMIN OPTION positionnée à NO indique que ces privilèges ne peuvent pas être assignés à un autre utilisateur ou rôle

Les privilèges système assignés au rôle RESOURCE
SQL> select * from DBA_SYS_PRIVS where grantee='RESOURCE' ; GRANTEE PRIVILEGE ADM ------------------------------ ---------------------------------------- --- RESOURCE CREATE TYPE NO RESOURCE CREATE TABLE NO RESOURCE CREATE CLUSTER NO RESOURCE CREATE TRIGGER NO RESOURCE CREATE OPERATOR NO RESOURCE CREATE SEQUENCE NO RESOURCE CREATE INDEXTYPE NO RESOURCE CREATE PROCEDURE NO 8 ligne(s) sélectionnée(s).
Ce rôle permet de créer des types, tables clusters, opérateurs, séquences, index et procédures

Les privilèges système assignés au rôle DBA
1* select * from DBA_SYS_PRIVS where grantee='DBA' order by PRIVILEGE SQL> / GRANTEE PRIVILEGE ADM ------------------------------ ---------------------------------------- --- DBA ADMINISTER DATABASE TRIGGER YES DBA ADMINISTER RESOURCE MANAGER YES DBA ALTER ANY CLUSTER YES DBA ALTER ANY DIMENSION YES DBA ALTER ANY EVALUATION CONTEXT YES DBA ALTER ANY INDEX YES DBA ALTER ANY INDEXTYPE YES DBA ALTER ANY LIBRARY YES DBA ALTER ANY OUTLINE YES DBA ALTER ANY PROCEDURE YES DBA ALTER ANY ROLE YES DBA ALTER ANY RULE YES DBA ALTER ANY RULE SET YES DBA ALTER ANY SEQUENCE YES DBA ALTER ANY SNAPSHOT YES DBA ALTER ANY TABLE YES DBA ALTER ANY TRIGGER YES DBA ALTER ANY TYPE YES ... ... DBA SELECT ANY DICTIONARY YES DBA SELECT ANY SEQUENCE YES DBA SELECT ANY TABLE YES DBA UNDER ANY TABLE YES DBA UNDER ANY TYPE YES DBA UNDER ANY VIEW YES DBA UPDATE ANY TABLE YES 139 ligne(s) sélectionnée(s).
La liste des privilèges assignés au rôle DBA est beaucoup plus longue du fait que ce rôle est octroyé aux utilisateurs ayant des droits d'administration de la base

La liste des rôles définis est visible depuis la vue DBA_ROLES
SQL> select * from DBA_ROLES ; ROLE PASSWORD ------------------------------ -------- CONNECT NO RESOURCE NO DBA NO SELECT_CATALOG_ROLE NO EXECUTE_CATALOG_ROLE NO DELETE_CATALOG_ROLE NO EXP_FULL_DATABASE NO IMP_FULL_DATABASE NO RECOVERY_CATALOG_OWNER NO GATHER_SYSTEM_STATISTICS NO LOGSTDBY_ADMINISTRATOR NO AQ_ADMINISTRATOR_ROLE NO AQ_USER_ROLE NO GLOBAL_AQ_USER_ROLE GLOBAL OEM_MONITOR NO HS_ADMIN_ROLE NO WKUSER NO WM_ADMIN_ROLE NO JAVAUSERPRIV NO JAVAIDPRIV NO JAVASYSPRIV NO JAVADEBUGPRIV NO EJBCLIENT NO JAVA_ADMIN NO JAVA_DEPLOY NO CTXAPP NO XDBADMIN NO AUTHENTICATEDUSER NO OLAP_DBA NO SALES_HISTORY_ROLE NO 30 ligne(s) sélectionnée(s).
La liste des privilèges système assignés à un rôle s'obtient en interrogeant les vues DBA_SYS_PRIVS et USER_SYS_PRIVS

La liste des rôles assignés à un utilisateur s'obtient via les vues DBA_ROLE_PRIVS et USER_ROLE_PRIVS
SQL> select * from DBA_ROLE_PRIVS where grantee = 'FD' ; GRANTEE GRANTED_ROLE ADM DEF ------------------------------ ------------------------------ --- --- FD DBA NO YES FD CONNECT NO YES FD RESOURCE NO YES FD GATHER_SYSTEM_STATISTICS NO YES
La liste des privilèges objet assignés à un utilisateur s'obtient en interrogeant les vues DBA_TAB_PRIVS, ALL_TAB_PRIVS et USER_TAB_PRIVS
select * from DBA_TAB_PRIVS where grantee = 'FD' ; GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY FD SYS ALL_DIRECTORIES SYS SELECT NO NO FD SYS DBA_DIRECTORIES SYS SELECT NO NO
La liste des privilèges objet sur les colonnes de tables assignés à un utilisateur s'obtient en interrogeant les vues DBA_COL_PRIVS, ALL_COL_PRIVS et USER_COL_PRIVS

La liste des rôles assignés à l'utilisateur au cours de sa session est visible via la vue SESSION_ROLES
SQL> select * from SESSION_ROLES ; ROLE ------------------------------ CONNECT RESOURCE
La liste des privilèges assignés à l'utilisateur au cours de sa session est visible via la vue SESSION_PRIVS
SQL> select * from SESSION_PRIVS ; PRIVILEGE ----------------------------------- CREATE SESSION ALTER SESSION UNLIMITED TABLESPACE CREATE TABLE CREATE CLUSTER CREATE SYNONYM CREATE VIEW CREATE SEQUENCE CREATE DATABASE LINK CREATE PROCEDURE CREATE TRIGGER CREATE TYPE CREATE OPERATOR CREATE INDEXTYPE


Les privilèges assignés à un utilisateur via un rôle ne permettent pas la création de vues, de procédures, de fonctions de packages ni de clés étrangères
Pour créer ces objets, l'utilisateur doit avoir reçu directement les privilèges requis via l'instruction GRANT


Un mot de passe peut être ajouté à un rôle pour pouvoir l'activer avec l'instruction ALTER ROLE


IDENTIFIED permet de définir le système d'identification
NOT IDENTIFIED supprime le système d'identification


4. Activer et désactiver un rôle


Un rôle peut être activé ou désactive pour un utilisateur avec l'instruction ALTER USER


DEFAULT ROLE spécifie les rôles assignés par défaut à la connexion
ALL assigne tous les rôles à l'utilisateur
ALL EXCEPT assigne tous les rôles à l'utilisateur à l'exception des rôles désignés
NONE n'assigne aucun rôle à l'utilisteur


Pour activer un rôle qui ne fait pas partie de ceux par défaut il faut utiliser l'instruction SET ROLE




5. Suppression d'un rôle


Un rôle peut être supprimé en utilisant l'instruction DROP ROLE
DROP ROLE nom_role ;

Le rôle spécifié ainsi que tous les privilèges qui lui sont associés sont supprimés de la base


6. Retirer des privilèges système


Les privilèges système qui ont été assignés à des utilisateurs ou à des rôles peuvent être retirés avec l'instruction REVOKE

Les arguments sont identiques à ceux décrits pour l'instruction GRANT

Pour pouvoir supprimer un privilège, il faut en avoir reçu l'autorisation avec l'option ADMIN OPTION


L'utilisteur disposant du rôle DBA peut révoquer les privilèges CONNECT, RESOURCE, DBA ou tout autre privilège ou rôle


Retirer des privilèges à un utilisateur ne supprime pas son schéma ni les objets qu'il contient


7. Retirer des privilèges objet


Les privilèges objet qui ont été assignés à des utilisateurs ou à des rôles peuvent être retirés avec l'instruction REVOKE


CASCADE CONSTRAINTS (applicable uniquement pour révoquer des privilèges REFERENCES) supprime toutes les contraintes d'intégrité référentielles définies par l'utilisateur
FORCE retire le privilège EXECUTE sur les types objet

Pour pouvoir supprimer un privilège, il faut en avoir reçu l'autorisation avec l'option ADMIN OPTION


8. Liste des privilèges système


Privilège système Description
CLUSTERS
CREATE CLUSTERCréation de clusters dans le schéma
CREATE ANY CLUSTERCréation de clusters dans n'importe quel schéma
ALTER ANY CLUSTERModification de clusters dans n'importe quel schéma
DROP ANY CLUSTERSuppression de clusters dans n'importe quel schéma
CONTEXTS
CREATE ANY CONTEXTCréations de tous context
DROP ANY CONTEXTSuppression de tous context
DATABASE
ALTER DATABASEModification de la base
ALTER SYSTEMAutorise l'instruction ALTER SYSTEM
AUDIT SYSTEMAutorise les instructions AUDIT sql_statements
DATABASE LINKS: 
CREATE DATABASE LINKCréation de liens de base de données dans le schéma
CREATE PUBLIC DATABASE LINKCréation de liens de base de données pour le groupe PUBLIC
DROP PUBLIC DATABASE LINKSuppression de liens de base de données pour le groupe PUBLIC
DEBUGGING
DEBUG CONNECT SESSIONConnexion dans la session en cours au débugger utilisant le protocol Java Debug Wire Protocol (JDWP)
DEBUG ANY PROCEDUREDeboguage de tout code PL/SQL ou Java dans n'importe quel objet de la base
DIMENSIONS
CREATE DIMENSIONCréation de dimentions dans le schéma
CREATE ANY DIMENSIONCréation de dimentions dans n'importe quel schéma
ALTER ANY DIMENSIONModification de dimentions dans n'importe quel schéma
DROP ANY DIMENSIONSuppression de dimentions dans n'importe quel schéma
DIRECTORIES
CREATE ANY DIRECTORYCréation d'objets DIRECTORY
DROP ANY DIRECTORYSuppression d'objets DIRECTORY
INDEXTYPES
CREATE INDEXTYPECréation d'indextype dans le schéma
CREATE ANY INDEXTYPECréation d'indextype dans n'importe quel schéma
ALTER ANY INDEXTYPEModification d'indextype dans n'importe quel schéma
DROP ANY INDEXTYPESuppression d'indextype dans n'importe quel schéma
EXECUTE ANY INDEXTYPEReférence un indextype dans n'importe quel schéma
INDEXS
CREATE ANY INDEXCréation d'index dans n'importe quel schéma
ALTER ANY INDEXModification d'index dans n'importe quel schéma
DROP ANY INDEXSuppression d'index dans n'importe quel schéma
QUERY REWRITEAutorise la réécriture via une vue matérialisée dans le schéma
GLOBAL QUERY REWRITEAutorise la réécriture via une vue matérialisée dans n'importe quel schéma
LIBRARIES
CREATE LIBRARYCréation de librairies de fonctions/procédures externes dans le schéma
CREATE ANY LIBRARYCréation de librairies de fonctions/procédures externes dans n'importe quel schéma
DROP ANY LIBRARYSuppression de librairies de fonctions/procédures externes dans n'importe quel schéma
MATERIALIZED VIEWS
CREATE MATERIALIZED VIEWCréation de vues matérialisées dans le schéma
CREATE ANY MATERIALIZED VIEWCréation de vues matérialisées dans n'importe quel schéma
ALTER ANY MATERIALIZED VIEWModification de vues matérialisées dans n'importe quel schéma
DROP ANY MATERIALIZED VIEWSuppression de vues matérialisées dans n'importe quel schéma
QUERY REWRITEAutorise la réécriture via une vue matérialisée dans le schéma
GLOBAL QUERY REWRITEAutorise la réécriture via une vue matérialisée dans n'importe quel schéma
ON COMMIT REFRESHCréation de vues matérialisées de type refresh-on-commit sur n'importe quelle table
FLASHBACK ANY TABLEAutorise une requête FlashBack sur n'importe quelle table, vue ou vue matérialisée dans n'importe quel schéma
OPERATORS
CREATE OPERATORCréation d'un opérateur dans le schéma
CREATE ANY OPERATORCréation d'un opérateur dans n'importe quel schéma
DROP ANY OPERATORSuppression d'un opérateur dans n'importe quel schéma
EXECUTE ANY OPERATORRéférence un opérateur dans n'importe quel schéma
OUTLINES
CREATE ANY OUTLINECréation d' outlines publics
ALTER ANY OUTLINEModification d' outlines publics
DROP ANY OUTLINESuppression d' outlines publics
PROCEDURES
CREATE PROCEDURECréation de fonctions, procédures et packages dans le schéma
CREATE ANY PROCEDURECréation de fonctions, procédures et packages dans n'importe quel schéma
ALTER ANY PROCEDUREModification de fonctions, procédures et packages dans n'importe quel schéma
DROP ANY PROCEDURESuppression de fonctions, procédures et packages dans n'importe quel schéma
EXECUTE ANY PROCEDUREExécution de fonctions, procédures et package de n'importe quel schéma
PROFILS
CREATE PROFILECréation de profils
ALTER PROFILEModification de profils
DROP PROFILESuppression de profils
ROLES
CREATE ROLECréation de rôles
ALTER ANY ROLEModification de n'importe quel rôle
DROP ANY ROLESuppression de n'importe quel rôle
GRANT ANY ROLEAssignation de n'importe quel rôle
ROLLBACK SEGMENTS
CREATE ROLLBACK SEGMENTCréation de segments de rollback
ALTER ROLLBACK SEGMENTModification de segments de rollback
DROP ROLLBACK SEGMENTSuppression de segments de rollback
SEQUENCES
CREATE SEQUENCECréation de séquences dans le schéma
CREATE ANY SEQUENCECréation de séquences dans n'importe quel schéma
ALTER ANY SEQUENCEModification de n'importe quelle séquence
DROP ANY SEQUENCESuppression de séquences dans n'importe quel schéma
SELECT ANY SEQUENCEInterrogation de séquences dans n'importe quel schéma
SESSIONS
CREATE SESSIONConnexion à la base
ALTER RESOURCE COSTApplication de coûts pour les ressources de la session
ALTER SESSIONPermet l'instruction ALTER SESSION
RESTRICTED SESSIONConnexion restreinte à l'instance
SYNONYMS
CREATE SYNONYMCréation de synonymes dans le schéma
CREATE ANY SYNONYMCréation de synonymes dans n'importe quel schéma
CREATE PUBLIC SYNONYMCréation de synonymes publics
DROP ANY SYNONYMSuppression de synonymes dans le schéma
DROP PUBLIC SYNONYMSuppression de synonymes publics
TABLES
CREATE TABLECréation de tables dans le schéma
CREATE ANY TABLECréation de tables dans n'importe quel schéma
ALTER ANY TABLEModification de tables ou vues dans n'importe quel schéma
BACKUP ANY TABLEAutorise l'utilisation de l'outil Export
DELETE ANY TABLESuppression de lignes des tables de n'importe quel schéma
DROP ANY TABLESuppression ou troncature de tables dans n'importe quel schéma
INSERT ANY TABLEInsertion de lignes dans les tables de n'importe quel schéma
LOCK ANY TABLEVérouillage des tables ou vues de n'importe quel schéma
SELECT ANY TABLEInterrogation des tables, vues ou vues matérialisées de n'importe quel schéma
FLASHBACK ANY TABLEAutorise les requêtes FlashBack sur n'importe quelle table de n'importe quel schéma
UPDATE ANY TABLEMise à jour de lignes dans les tables de n'importe quel schéma
TABLESPACES
CREATE TABLESPACECréation de tablespace
ALTER TABLESPACEModification de tablespace
DROP TABLESPACESuppression de tablespace
MANAGE TABLESPACEAutorise la mise en ligne/hors ligne des tablespace
UNLIMITED TABLESPACEQuota illimité sur le tablespace
TRIGGERS
CREATE TRIGGERCréation de déclencheurs dans le schéma
CREATE ANY TRIGGERCréation de déclencheurs dans n'importe quel schéma
ALTER ANY TRIGGERActivation, désactivation, compilation de déclencheurs dans n'importe quel schéma
DROP ANY TRIGGERSuppression de déclencheurs dans n'importe quel schéma
ADMINISTER DATABASE TRIGGERCréation de déclencheurs de base de données
TYPES
CREATE TYPECréation d'objets et de corps d'objets dans le schéma
CREATE ANY TYPECréation d'objets et de corps d'objets dans n'importe quel schéma
ALTER ANY TYPEModification d'objets et de corps d'objets dans n'importe quel schéma
DROP ANY TYPESuppression d'objets et de corps d'objets dans n'importe quel schéma
EXECUTE ANY TYPEUtilisation d'objets et de corps d'objets dans n'importe quel schéma
UNDER ANY TYPECréation de sous-types sous des types non finaux
VIEWS
CREATE VIEWCréation de vues dans le schéma
CREATE ANY VIEWCréation de vues dans n'importe quel schéma
DROP ANY VIEWSuppression de vues dans n'importe quel schéma
UNDER ANY VIEWCréation de sous-vues sous n'importe quelle vue objet
Autres
ANALYZE ANYAnalyse de tables, clusters et index dans n'importe quel schéma
AUDIT ANYAudit de n'importe quel objet de n'importe quel schéma
COMMENT ANY TABLEPose de commentaires sur les tables et vues de n'importe quel schéma
FORCE ANY TRANSACTIONForce le commit ou rollback de n'importe quelle transaction distibuée douteuse
FORCE TRANSACTIONForce le commit ou rollback de n'importe quelle transaction distibuée douteuse
GRANT ANY OBJECT PRIVILEGEAssigne n'importe quel privilège objet
GRANT ANY PRIVILEGEAssigne n'importe quel privilège système
RESUMABLEActive l'allocation d'espace pour les instructions résumables
SELECT ANY DICTIONARYInterrogation de n'importe quel objet dans le dictionnaire du schéma SYS
SYSDBAAutorise les opérations STRTUP et SHUTDOWN
ALTER DATABASE: open, mount, back up, ou changement du jeu de caractères
CREATE DATABASE
ARCHIVELOG et RECOVERY
CREATE SPFILE
Inclue le privilège RESTRICTED SESSION
SYSOPERAutorise les opérations STARTUP et SHUTDOWN
ALTER DATABASE OPEN | MOUNT | BACKUP
ARCHIVELOG et RECOVERY
CREATE SPFILE
Inclue le privilège RESTRICTED SESSION

9. Liste des privilèges objet


Privilège objet Description
TABLES
ALTERModifier la définition d'une table
DELETESupprimer des lignes de la table
DEBUGAccès via un debugger
INDEXCréation d'un index sur la table
INSERTInsertion de lignes dans la table
REFERENCESCréation d'une contrainte d'intégrité
SELECTInterrogation d'une table
UPDATEMise à jour de la table
VIEWS
DEBUGAccès via un debugger
DELETESuppression de lignes
INSERTInsertion de lignes
REFERENCESDéfinition de contrainte d'intégrité
SELECTInterrogation de la vue
UNDERCréation d'une sous-vue
UPDATEMise à jour de la vue
SEQUENCES
ALTERModification de la définition d'une séquence
SELECTInterrogation d'une séquence
PROCEDURES
DEBUGAccès via un debugger
EXECUTECompilation, exécution d'une procédure, d'une fonction ou d'un package
MATERIALIZED VIEWS
ON COMMIT REFRESHCréation d'une vue matérialisée de type refresh-on-commit sur la table
QUERY REWRITEVue matérialisée en query rewrite
SELECTInterrogation d'une vue matérialisée
DIRECTORIES
READDroits de lecture sur le répertoire
WRITEDroits d'écriture sur le répertoire
LIBRARIES
EXECUTEUtilisation d'un objet et de ses méthodes
OBJECT TYPES
DEBUGAccès via un debugger
EXECUTEUtilisation d'un objet et de ses méthodes
UNDERCréation d'un sous-type
INDEXTYPES
EXECUTEUtilisation d'un indextype
OPERATORS
EXECUTEUtilisation d'un opérateur

Remerciements


Chaleureux remerciements à Developpez.com et à l'équipe SGBD.