Sheik Yerbouti [Link]
com/guide/administration/adminrole/
Forums Tutoriels Magazine FAQs Blogs Projets Chat Newsletter Études Emploi Club Contacts
Accueil ALM Java .NET Dév. Web EDI Langages SGBD Office Solutions d'entreprise Applications Mobiles Systèmes
SGBD 4D Access DB2 Firebird InterBase MySQL NoSQL Oracle PostgreSQL SQL-Server Sybase
ACCUEIL ORACLE FORUM ORACLE F.A.Q ORACLE TUTORIELS ORACLE TUTORIELS SQL SCRIPTS SQL LIVRES ORACLE QUIZ
Guide Oracle
Date de publication : 2004
Par SheikYerbouti
Administration Oracle : Rôles et privilèges
Retour au sommaire.
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
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
1. 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
1. 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 [Link] 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
1 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
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
Attention avec l'option ALL PRIVILEGES. Celle-ci accorde des droits quasi illimités à l'utilisateur
qui en hérite, avec les risques de sécurité que cela implique
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
2 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
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 le 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 [Link]
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 [Link]
TO nom_utilisateur ;
L'utilisateur peut modifier la table [Link] 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
Un utilisateur munis des droits DBA ne pourra pas accorder de privilèges sur un objet qui ne lui
appartient pas
Principes généraux appliqués aux privilèges
1. Un utilisateur possède automatiquement tous les privilèges sur un objet qui lui appartient
2. Un utilisateur ne peut pas donner plus de privilèges qu'il n'en a reçu
3. 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
3 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
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 qu'un package va être utilisé pour fixer les droits de
l'utilisateur
IDENTIFIED EXTERNALLY indique que l'autorisation provient d'une source externe (S.E.)
IDENTIFIED GLOBALLY pour un user GLOBAL géré par exemple par Enterprise Directory
Service
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 [Link] TO comptabilite ;
GRANT SELECT, INSERT, UPDATE, DELETE ON CPT.LIG_FAC TO comptabilite ;
GRANT SELECT, INSERT, UPDATE, DELETE ON [Link] TO comptabilite ;
Une fois le rôle créé, il peut être assigné à un utilisateur ou à un autre rôle
GRANT comptabilite TO nom_utilisateur ;
Exemple d'utilisation d'un package pour l'utilisation d'un rôle
-- CREATION DU ROLE IDENTIFIE PAR LA PROCEDURE
create role test identified using scott.test_check;
-- CREATION DU PACKAGE
create or replace procedure test_check
authid current_user is
Begin
-- VERIFICATION DE L'ADRESSE IP DU DEMANDEUR
For i in (select sys_context (‘USERENV’, ‘IP_ADDRESS’) ip from dual)
Loop
If [Link] != ‘[Link]’ Then
-- MAUVAISE IP, SORTIE DE LA PROCEDURE
return;
End if;
-- IP OK, ON ACTIVE LE ROLE
dbms_session.set_role(‘TEST’);
End loop;
End;
-- CREATION D'UNE TABLE DE TEST
create table [Link] as select * from dual;
4 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
-- ON DONNE LES DROITS AU ROLE
grant select on [Link] to test;
-- ON DONNE LE ROLE A SCOTT
grant test to scott;
-- ON DESACTIVE LE ROLE POUR SCOTT CAR SINON IL SERAIT ACTIVE PAR DEFAUT,
-- CE QUI NE SERAIT D'AUCUNE UTILITE
ALTER USER scott DEFAULT ROLE ALL EXCEPT test;
-- CONNEXION
SQL> connect scott/tiger
SQL>select * from [Link];
-- DROITS REFUSES
-- SCOTT DEMANDE L'ACTIVATION DU ROLE TEST
set role test;
-- SI L'ADRESSE IP EST RECONNUE
SQL>select * from [Link];
D
-
X
SQL> select * from session_role;
ROLE
--------
CONNECT
RESOURCE
TEST
Trois rôles existent en standard
1. CONNECT
2. RESOURCE
3. 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
Le rôle RESOURCE accorde un privilège UNLIMITED QUOTA à l'utilisateur est n'est donc à
assigner qu'en connaissance de cause
Les privilèges système assignés au rôle DBA
5 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
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
D'une façon générale, il est fortement déconseillé d'utiliser ces rôles standards car ils accordent
trop de droits aux utilisateurs
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
SQL> desc DBA_SYS_PRIVS
Nom NULL ? Type
----------------------------------------- -------- ------------
GRANTEE NOT NULL VARCHAR2(30)
PRIVILEGE NOT NULL VARCHAR2(40)
6 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
ADMIN_OPTION VARCHAR2(3)
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 par l'intermédiaire de code PL/SQL
dynamique (DBMS_SQL, execute immediate)
Pour créer ces objets via PL/SQL, l'utilisateur doit avoir reçu directement les privilèges requis via
l'instruction GRANT
Les vues SESSION_PRIVS et SESSION_ROLES sont utiles pour vérifier les droits acquis au cours
de la session
Les rôles par défaut à la connexion pouvant être enrichis avec l'instruction SET ROLE (ou son
équivalent PL/SQL : DBMS_SESSION.SET_ROLE)
Un mot de passe peut être ajouté à un rôle pour pouvoir l'activer avec l'instruction ALTER ROLE
7 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
IDENTIFIED permet de définir le système d'identification
NOT IDENTIFIED supprime le système d'identification
Cela permet de se prémunir de l'attribution du rôle par un utilisateur non autorisé qui tenterait de
se l'attribuer via l'instruction SET ROLE
4. Activer et désactiver un rôle
Un rôle peut être activé ou désactivé 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
8 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
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 et
également retiré à tous les utilisateurs qui en bénéficiaient
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 système 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
9 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
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
L'utilisteur disposant du rôle DBA ne peut pas retirer de privilèges qu'il n'a pas accordé
8. Liste des privilèges système
Privilège système Description
CLUSTERS
CREATE CLUSTER Création de clusters dans le schéma
Création de clusters dans n'importe quel
CREATE ANY CLUSTER
schéma
Modification de clusters dans n'importe quel
ALTER ANY CLUSTER
schéma
Suppression de clusters dans n'importe quel
DROP ANY CLUSTER
schéma
CONTEXTS
CREATE ANY CONTEXT Créations de tous context
DROP ANY CONTEXT Suppression de tous context
DATABASE
ALTER DATABASE Modification de la base
ALTER SYSTEM Autorise l'instruction ALTER SYSTEM
AUDIT SYSTEM Autorise les instructions AUDIT sql_statements
DATABASE LINKS:
Création de liens de base de données dans le
CREATE DATABASE LINK
schéma
Création de liens de base de données pour le
CREATE PUBLIC DATABASE LINK
groupe PUBLIC
Suppression de liens de base de données pour
DROP PUBLIC DATABASE LINK
le groupe PUBLIC
DEBUGGING
Connexion dans la session en cours au
DEBUG CONNECT SESSION débugger utilisant le protocol Java Debug Wire
Protocol (JDWP)
Deboguage de tout code PL/SQL ou Java dans
DEBUG ANY PROCEDURE
n'importe quel objet de la base
DIMENSIONS
CREATE DIMENSION Création de dimentions dans le schéma
Création de dimentions dans n'importe quel
CREATE ANY DIMENSION
schéma
10 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
Modification de dimentions dans n'importe quel
ALTER ANY DIMENSION
schéma
Suppression de dimentions dans n'importe quel
DROP ANY DIMENSION
schéma
DIRECTORIES
CREATE ANY DIRECTORY Création d'objets DIRECTORY
DROP ANY DIRECTORY Suppression d'objets DIRECTORY
INDEXTYPES
CREATE INDEXTYPE Création d'indextype dans le schéma
Création d'indextype dans n'importe quel
CREATE ANY INDEXTYPE
schéma
Modification d'indextype dans n'importe quel
ALTER ANY INDEXTYPE
schéma
Suppression d'indextype dans n'importe quel
DROP ANY INDEXTYPE
schéma
Reférence un indextype dans n'importe quel
EXECUTE ANY INDEXTYPE
schéma
INDEXS
CREATE ANY INDEX Création d'index dans n'importe quel schéma
ALTER ANY INDEX Modification d'index dans n'importe quel schéma
Suppression d'index dans n'importe quel
DROP ANY INDEX
schéma
Autorise la réécriture via une vue matérialisée
QUERY REWRITE
dans le schéma
Autorise la réécriture via une vue matérialisée
GLOBAL QUERY REWRITE
dans n'importe quel schéma
LIBRARIES
Création de librairies de fonctions/procédures
CREATE LIBRARY
externes dans le schéma
Création de librairies de fonctions/procédures
CREATE ANY LIBRARY
externes dans n'importe quel schéma
Suppression de librairies de
DROP ANY LIBRARY fonctions/procédures externes dans n'importe
quel schéma
MATERIALIZED VIEWS
CREATE MATERIALIZED VIEW Création de vues matérialisées dans le schéma
Création de vues matérialisées dans n'importe
CREATE ANY MATERIALIZED VIEW
quel schéma
Modification de vues matérialisées dans
ALTER ANY MATERIALIZED VIEW
n'importe quel schéma
Suppression de vues matérialisées dans
DROP ANY MATERIALIZED VIEW
n'importe quel schéma
Autorise la réécriture via une vue matérialisée
QUERY REWRITE
dans le schéma
Autorise la réécriture via une vue matérialisée
GLOBAL QUERY REWRITE
dans n'importe quel schéma
Création de vues matérialisées de type refresh-
ON COMMIT REFRESH
on-commit sur n'importe quelle table
Autorise une requête FlashBack sur n'importe
FLASHBACK ANY TABLE quelle table, vue ou vue matérialisée dans
n'importe quel schéma
OPERATORS
CREATE OPERATOR Création d'un opérateur dans le schéma
Création d'un opérateur dans n'importe quel
CREATE ANY OPERATOR
schéma
Suppression d'un opérateur dans n'importe quel
DROP ANY OPERATOR
schéma
Référence un opérateur dans n'importe quel
EXECUTE ANY OPERATOR
schéma
OUTLINES
CREATE ANY OUTLINE Création d' outlines publics
ALTER ANY OUTLINE Modification d' outlines publics
DROP ANY OUTLINE Suppression d' outlines publics
PROCEDURES
Création de fonctions, procédures et packages
CREATE PROCEDURE
dans le schéma
11 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
Création de fonctions, procédures et packages
CREATE ANY PROCEDURE
dans n'importe quel schéma
Modification de fonctions, procédures et
ALTER ANY PROCEDURE
packages dans n'importe quel schéma
Suppression de fonctions, procédures et
DROP ANY PROCEDURE
packages dans n'importe quel schéma
Exécution de fonctions, procédures et package
EXECUTE ANY PROCEDURE
de n'importe quel schéma
PROFILS
CREATE PROFILE Création de profils
ALTER PROFILE Modification de profils
DROP PROFILE Suppression de profils
ROLES
CREATE ROLE Création de rôles
ALTER ANY ROLE Modification de n'importe quel rôle
DROP ANY ROLE Suppression de n'importe quel rôle
GRANT ANY ROLE Assignation de n'importe quel rôle
ROLLBACK SEGMENTS
CREATE ROLLBACK SEGMENT Création de segments de rollback
ALTER ROLLBACK SEGMENT Modification de segments de rollback
DROP ROLLBACK SEGMENT Suppression de segments de rollback
SEQUENCES
CREATE SEQUENCE Création de séquences dans le schéma
Création de séquences dans n'importe quel
CREATE ANY SEQUENCE
schéma
ALTER ANY SEQUENCE Modification de n'importe quelle séquence
Suppression de séquences dans n'importe quel
DROP ANY SEQUENCE
schéma
Interrogation de séquences dans n'importe quel
SELECT ANY SEQUENCE
schéma
SESSIONS
CREATE SESSION Connexion à la base
Application de coûts pour les ressources de la
ALTER RESOURCE COST
session
ALTER SESSION Permet l'instruction ALTER SESSION
RESTRICTED SESSION Connexion restreinte à l'instance
SYNONYMS
CREATE SYNONYM Création de synonymes dans le schéma
Création de synonymes dans n'importe quel
CREATE ANY SYNONYM
schéma
CREATE PUBLIC SYNONYM Création de synonymes publics
DROP ANY SYNONYM Suppression de synonymes dans le schéma
DROP PUBLIC SYNONYM Suppression de synonymes publics
TABLES
CREATE TABLE Création de tables dans le schéma
CREATE ANY TABLE Création de tables dans n'importe quel schéma
Modification de tables ou vues dans n'importe
ALTER ANY TABLE
quel schéma
BACKUP ANY TABLE Autorise l'utilisation de l'outil Export
Suppression de lignes des tables de n'importe
DELETE ANY TABLE
quel schéma
Suppression ou troncature de tables dans
DROP ANY TABLE
n'importe quel schéma
Insertion de lignes dans les tables de n'importe
INSERT ANY TABLE
quel schéma
Vérouillage des tables ou vues de n'importe
LOCK ANY TABLE
quel schéma
Interrogation des tables, vues ou vues
SELECT ANY TABLE
matérialisées de n'importe quel schéma
Autorise les requêtes FlashBack sur n'importe
FLASHBACK ANY TABLE
quelle table de n'importe quel schéma
Mise à jour de lignes dans les tables de
UPDATE ANY TABLE
n'importe quel schéma
TABLESPACES
CREATE TABLESPACE Création de tablespace
12 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
ALTER TABLESPACE Modification de tablespace
DROP TABLESPACE Suppression de tablespace
Autorise la mise en ligne/hors ligne des
MANAGE TABLESPACE
tablespace
UNLIMITED TABLESPACE Quota illimité sur le tablespace
TRIGGERS
CREATE TRIGGER Création de déclencheurs dans le schéma
Création de déclencheurs dans n'importe quel
CREATE ANY TRIGGER
schéma
Activation, désactivation, compilation de
ALTER ANY TRIGGER
déclencheurs dans n'importe quel schéma
Suppression de déclencheurs dans n'importe
DROP ANY TRIGGER
quel schéma
ADMINISTER DATABASE TRIGGER Création de déclencheurs de base de données
TYPES
Création d'objets et de corps d'objets dans le
CREATE TYPE
schéma
Création d'objets et de corps d'objets dans
CREATE ANY TYPE
n'importe quel schéma
Modification d'objets et de corps d'objets dans
ALTER ANY TYPE
n'importe quel schéma
Suppression d'objets et de corps d'objets dans
DROP ANY TYPE
n'importe quel schéma
Utilisation d'objets et de corps d'objets dans
EXECUTE ANY TYPE
n'importe quel schéma
Création de sous-types sous des types non
UNDER ANY TYPE
finaux
VIEWS
CREATE VIEW Création de vues dans le schéma
CREATE ANY VIEW Création de vues dans n'importe quel schéma
Suppression de vues dans n'importe quel
DROP ANY VIEW
schéma
Création de sous-vues sous n'importe quelle vue
UNDER ANY VIEW
objet
Autres
Analyse de tables, clusters et index dans
ANALYZE ANY
n'importe quel schéma
Audit de n'importe quel objet de n'importe quel
AUDIT ANY
schéma
Pose de commentaires sur les tables et vues de
COMMENT ANY TABLE
n'importe quel schéma
Force le commit ou rollback de n'importe quelle
FORCE ANY TRANSACTION
transaction distibuée douteuse
Force le commit ou rollback de n'importe quelle
FORCE TRANSACTION
transaction distibuée douteuse
GRANT ANY OBJECT PRIVILEGE Assigne n'importe quel privilège objet
GRANT ANY PRIVILEGE Assigne n'importe quel privilège système
Active l'allocation d'espace pour les instructions
RESUMABLE
résumables
Interrogation de n'importe quel objet dans le
SELECT ANY DICTIONARY
dictionnaire du schéma SYS
Autorise les opérations STRTUP et SHUTDOWN
ALTER DATABASE: open, mount, back up, ou
changement du jeu de caractères
SYSDBA CREATE DATABASE
ARCHIVELOG et RECOVERY
CREATE SPFILE
Inclue le privilège RESTRICTED SESSION
Autorise les opérations STARTUP et SHUTDOWN
ALTER DATABASE OPEN | MOUNT | BACKUP
SYSOPER ARCHIVELOG et RECOVERY
CREATE SPFILE
Inclue le privilège RESTRICTED SESSION
9. Liste des privilèges objet
13 sur 14 02/12/2013 02:48
Sheik Yerbouti [Link]
Privilège objet Description
TABLES
ALTER Modifier la définition d'une table
DELETE Supprimer des lignes de la table
DEBUG Accès via un debugger
INDEX Création d'un index sur la table
INSERT Insertion de lignes dans la table
REFERENCES Création d'une contrainte d'intégrité
SELECT Interrogation d'une table
UPDATE Mise à jour de la table
VIEWS
DEBUG Accès via un debugger
DELETE Suppression de lignes
INSERT Insertion de lignes
REFERENCES Définition de contrainte d'intégrité
SELECT Interrogation de la vue
UNDER Création d'une sous-vue
UPDATE Mise à jour de la vue
SEQUENCES
ALTER Modification de la définition d'une séquence
SELECT Interrogation d'une séquence
PROCEDURES
DEBUG Accès via un debugger
Compilation, exécution d'une procédure,
EXECUTE
d'une fonction ou d'un package
MATERIALIZED VIEWS
Création d'une vue matérialisée de type
ON COMMIT REFRESH
refresh-on-commit sur la table
QUERY REWRITE Vue matérialisée en query rewrite
SELECT Interrogation d'une vue matérialisée
DIRECTORIES
READ Droits de lecture sur le répertoire
WRITE Droits d'écriture sur le répertoire
LIBRARIES
EXECUTE Utilisation d'un objet et de ses méthodes
OBJECT TYPES
DEBUG Accès via un debugger
EXECUTE Utilisation d'un objet et de ses méthodes
UNDER Création d'un sous-type
INDEXTYPES
EXECUTE Utilisation d'un indextype
OPERATORS
EXECUTE Utilisation d'un opérateur
Le guide Oracle par Orafrance, Helyos et SheikYerbouti
Responsable bénévole de la rubrique Oracle : le Rédacteur en Chef - Contacter par email
[Link] Services
Nous contacter Forum Oracle Partenaires
Participez Blogs Hébergement Web
Informations légales Hébergement
Copyright © 2000-2013 - [Link]
14 sur 14 02/12/2013 02:48