Vous êtes sur la page 1sur 2

USTHB – FEI / Dép.

Informatique Module : Bases de données


L3 GTR – Mars 2022

TP - Gestion des utilisateurs et des privilèges

Création d’utilisateur

SQL>ALTER SESSION SET "_ORACLE_SCRIPT"=true;

SQL>CREATE USER nom-d’utilisateur [IDENTIFIED BY mot-de passe] ;

Ajout, modification, suppression de mot de passe

SQL>ALTER USER nom-d’utilisateur [IDENTIFIED BY mot-de passe] ;

Exemple :

SQL>CREATE USER USR1 IDENTIFIED BY p1 ;


ou

SQL>CREATE USER USR1;


SQL>Alter USER USR1 IDENTIFIED BY p1 ;

Suppression d’utilisateur

SQL>DROP USER nom-d’utilisateur ;

Transmission de privilèges

Lorsqu'un utilisateur crée une table ou une vue, il en est le propriétaire exclusif. Les autres
utilisateurs n'y ont pas accès. Il peut cependant en donner un droit d'utilisation à d'autres
utilisateurs par la commande GRANT.

SQL>GRANT privilège1, privilège2, ...| ALL PRIVILEGES


ON table/vue
TO utilisateur1, utilisateur2, ...| PUBLIC
[WITH GRANT OPTION]

GRANT Create Session To Nom-user;


GRANT DBA To Nom-user; // ou lui donner certains privilèges seulement

1/2
Cette instruction accorde des privilèges d'accès « privilège i » ou tous les privilèges (ALL
PRIVILEGES) sur la table ou vue aux utilisateurs « utilisateur i » ou à tous les utilisateurs
(PUBLIC). La clause WITH GRANT OPTION permet aux utilisateurs ayant reçu les
privilèges de les transmettre à leur tour à d'autres utilisateurs.

Privilèges : exemples
SELECT : lecture, INSERT : insertion, UPDATE : mise à jour, DELETE : suppression
ALL : tous les privilèges, ALTER : destruction, INDEX : construction d’index

systeme-privileges: exemples
CREATE SESSION, CREATE TABLE, CREATE USER, CREATE VIEW

Remarque :

Un utilisateur ayant reçu des droits d'un utilisateur U sur une table T ne peut référencer celle-
ci que par la syntaxe U.T sauf si la table T a un synonyme public lequel peut être créé par
l'administrateur avec la commande

SQL>Create public synonym nom1 for table1;

Par exemple si on veut accorder à tous un droit de lecture sur une table T d'un utilisateur U, -
le propriétaire U accordera les droits nécessaires

SQL>Grant select to public on T;

- l'administrateur donnera un synonyme public à la table T de U

SQL>Create public synonym S for U.T;

- tout utilisateur a maintenant accès à la table S

SQL>Select * from S;

Exercice
Il vous est demandé de créer 3utilisateurs (choisissez les noms et les mots de passe) et de leurs
donnez les privilèges suivants :
- L’utilisateur nom_1 a tous les privilèges,
- L’utilisateur nom_2 a le privilège SELECT sur l’une de vos tables,
- L’utilisateur nom_3 a le privilège SELECT et INSERT sur l’une de vos tables,
- Testez les privilèges de chaque utilisateur en déconnectant l’utilisateur System et en se
reconnectant en étant l’utilisateur à tester.

Suppression de privilèges

SQL>REVOKE privilège ON table|vue FROM user|PUBLIC;

2/2

Vous aimerez peut-être aussi