Académique Documents
Professionnel Documents
Culture Documents
Objectifs de l'atelier :
A la fin de cet atelier, l’étudiant doit être capable de :
Enoncé :
1. Créez un utilisateur appelé "Ali" avec le mot de passe "Tunisie". Attribuez-lui DATA01
comme tablespace permanent et TEMP comme tablespace temporaire. Assurez-vous
également que Ali peut se connecter et créer, dans les tablespaces DATA01 et INDX01,
des objets dont la taille peut atteindre un mégaoctet.
SQL> create user ali
identified by tunisie
quota 1M on data01
quota 1M on indx01;
identified by aicha
Utilisateur créé.
Page 1|7
Atelier Administration Bases de Données
3. Copiez la table commandes à partir du schéma SYSTEM dans le compte Salah : (Salah
requiert un quota sur son tablespace par défaut avant de pouvoir créer des objets dans
son schéma, attribuez-lui le quota UNLIMITED sur le tablespace DATA01) :
4. A partir du dictionnaire de données, affichez les informations sur Ali et Salah (Affichez
les colonnes username, default_tablespace et temporary_tablespace de la vue
DBA_USERS) :
SQL> col username for a8
from dba_ts_quotas
where username='ALI';
ERREUR à la ligne 1 :
Ali n'est pas un administrateur (DBA), la seule chose qu'il peut modifier c'est son mot
de passe.
7. En tant qu’utilisateur Ali, changez son mot de passe en « Tennis ».
SQL> alter user ali identified by tennis;
8. En tant qu’utilisateur System, supprimez le quota de Ali sur son tablespace par défaut.
SQL> connect system/votre_mot_de_passe
Page 2|7
Atelier Administration Bases de Données
11. En tant que system, créez l’utilisateur Salah et donnez-lui la possibilité de se connecter
à la base de données et de créer des objets dans son schéma.
SQL> create user salah
identified by abcd
quota 1M on data01;
12. Connectez-vous en tant que Salah et créez des tables en utilisant le script ulcase1.sql, afin
de créer les tables emp et dept.
SQL> connect salah/abcd
SQL>start c:\dba\ulcase1.sql
14. En tant que system accordez à Ali le droit de sélectionner les données de la table emp de
salah. Testez ce droit (En tant que Ali, essayer d'afficher les données de table emp de Salah)
15. Reconnectez-vous en tant que Salah et accordez à Ali la possibilité d’interroger des
données de la table emp de salah. Activez également la capacité pour Ali d’accorder aux
autres utilisateurs la possibilité de sélection. Examinez la vue DBA_TAB_PRIVS pour
visualiser les privilèges) :
SQL> connect Salah/abcd
Page 3|7
Atelier Administration Bases de Données
from dba_tab_privs
where grantee='ALI';
17. En tant que Ali, activez l’accès à Nadhem à la table emp de Salah :
SQL> connect ali/mot_de_passe_de_ali
18. En tant que Salah, supprimez le privilège de lecture de Ali sur la table emp :
SQL> connect salah/abcd
19. En tant que Nadhem, Consultez la table emp de salah. Que se passe-t-il ? Pourquoi ?
SQL> connect nadhem/abcde
ERREUR à la ligne 1 :
Explication :
La suppression de privilèges produisant un effet de cascade, Nadhem qui avait reçu le privilège
de Ali, a perdu son privilège SELECT sur la table emp de Salah lorsque le privilège de Ali a
été supprimé à la question précédente.
20. En tant que SYS, Attribuez à Salah le privilège SYSOPER qui permet le démarrage et
l’arrêt de la base de données sans la possibilité d’en créer une nouvelle. Vérifiez le résultat
:
SQL> connect sys/votre_mot_de_passe as sysdba
Page 4|7
Atelier Administration Bases de Données
Page 5|7
Atelier Administration Bases de Données
22. Créez un rôle appelé DEV, permettant de créer une table, de créer une vue et de sélectionner
des données de la table emp de Salah :
SQL> create role dev;
23. Attribuez les rôles RESOURCE, CONNECT et dev à Ali, mais déterminez l’activation
automatique du rôle RESOURCE quand Ali se connecte.(utilisez la commande ALTER
USER pour spécifier le rôle par défaut)
SQL> connect system/votre_mot_de_passe
24. Accordez à Ali la possibilité de lire toutes les informations du dictionnaire de données.
(Attribuez à Ali le rôle SELECT_CATALOG_ROLE permettant de consulter les vue
commençant par DBA) :
SQL> grant select_catalog_role to ali;
25. Rendez le rôle CONNECT le rôle par défaut de Ali pour que ce dernier puisse ce connecter
:
SQL> alter user ali default role connect;
26. Connectez-vous en tant que Ali et énumérez les utilisateurs de la base de données
(consulter la vue DBA_USERS). Que se passe-t-il ? Pourquoi ? :
SQL> connect ali/ali
ERREUR à la ligne 2 :
Page 6|7
Atelier Administration Bases de Données
27. En tant que Ali, activez tous les rôles accordés à Ali puis tentez de créer une vue emp_view
sur la table emp de Salah. Que se passe-t-il ?
ERREUR à la ligne 2 :
ALI peut lire la table emp de Salah en utilisant le privilège SELECT_CATALOG_ROLE acquis par
le rôle DEV, mais un privilège obtenu via un rôle ne peut pas être utilisé pour créer des vues.
Pour que ALI puisse créer la vue emp_view il faut que Salah lui donne explicitement le droit Select
sur sa table emp comme suit :
Vue créée.
Page 7|7