Académique Documents
Professionnel Documents
Culture Documents
(S3 :2018/19)
- Dictionnaire de données
- Gestion des utilisateurs, droit et rôles.
- Gestion des Profiles utilisateurs
Introduction : Ce TP est composé de trois parties à savoir : Le dictionnaire de données, la gestion des
utilisateurs et leurs rôles et privilèges et la gestion des profiles. LA première va nous permettre d’étudier
la structure centralisée (dictionnaire de données) sur laquelle repose Oracle. La compréhension du
fonctionnement du dictionnaire est essentielle à l’administration des bases de données. Dans la deuxième
on va administrer des utilisateurs par leurs créations et attribution des rôles et privilèges. Et enfin dans la
dernière partie on va étudier les profiles utilisateurs en changeant quelques paramètres et testant leurs
mode de fonctionnement a fin d’appréhender davantage le rôle de la gestion des profiles
I- Dictionnaire de données :
Le dictionnaire des données sous ORACLE contient des informations concernant les différentes tables
stockées dans la base, son utilité s’avère très importante dans les grandes bases de données, là on en peut
chercher une information complète si l’on détient juste un bout, Ainsi la table user_tables liste toutes les
tables dont vous (l’utilisateur connecté à la base) êtes propriétaire. La table all_tables liste elle toutes les
tables contenues dans la base. Et autres vues comme dbs_tab_privs , dba_role_privs et dba_sys_privs
sont utiles pour l’administration des compte et droits. Ces tables récapitulatives ont de nombreux attributs,
Pour connaître ces attributs on utilise l’opérateur DESC (ou DESCRIBE)
1- A fin de visualiser les vues de Dictionnaire soit on se connecte par le compte sysdba ou par le compte
sys, pour se connecter par ce dernier il va falloir réinitialiser son mot de passe par la commande :
C :>\users\hp> set oracle_sid=ORCL ( pour les gens ui ont la bse de données ORCL)
Après avoir réinitialisé le compte de l’utilisateur sys se connecter via l’outil SQLdeveloper et réaliser
la suite de cette partie
!!!Attention : Pour certaines versions SQLdeveloper il faut changer le rôle en SYSDBA comme
illustrée dans l’image ci-dessous (partie encerclée en rouge)
2- La table DICTIONARY ayant le synonyme DICT contient de dictionnaire de données de la base de
données, Quelles sont les champs que contient cette table ? décrivez-les ?
3- Utiliser la table ALL_COL_COMMENTS (ou bien USER_COL_COMMENTS) de dictionnaire puis
visualiser le commentaire sur la colonne start_date de la table JOB_HISTORY
4- Examiner la table USER_TRIGGERS de dictionnaire, qui stocke les informations sur tout les triggers
dans votre schema. Ci-dessous quelque colonne de cette table
TRIGGER_NAME ,TRIGGER_TYPE ,TRIGGERING_EVENT, TABLE_OWNER
TABLE_NAME , COLUMN_NAME , WHEN_CLAUSE ,STATUS , ACTION_TYPE
TRIGGER_BODY.
Question : Prenez un trigger de votre choix et extraire le contenue de ces champs.
5- Examiner la table User_source, all_source pour visualiser les codes source des triggers et des
procédures et fonction que vous avez réalisés
6- On veut savoir les noms des la tables qui contient la colonne JOB_id, réaliser le en dérivant les
étapes à suivre
7- Recenser les contraintes appliquées sur le champ emplyee_id dans chaque table.
8- Chercher l’ensemble des tables ayant un même propriétaire (owner).
9- Liste des rôles, privilèges system et privilèges Object dans le dictionnaire :
- Exécuter les requêtes ci-dessous en remplaçant lors de l’exécution ‘&user’ par les utilisateurs hr ,
scott et sys , décrivez ce que donne chaque requêtes
---- Liste des rôles attribués :
SELECT granted_role FROM dba_role_privs where grantee = upper('&user')
NB : La gestion des utilisateurs, rôle et profile va être faite par le compte : sysdba en se
connectant via l’invite de commande cmd
1- Créer les utilisateurs devuser1, et devuser4 par la commande suivante :
create user devuser1 identified by 1234
create user devuser4 identified by 1234 password expire
2- Attribuer les privilèges y compris les rôles connect et resource de l'utilisateur hr
(extraits des 2 premières requêtes la question 9 ci-dessus « 1ere requête ») aux
utilisateurs devuser1 et devuser4
3- Plusieurs développeurs sont amenés à travailler sur le schéma hr. Ils devront
tous avoir les mêmes droits que hr. Pour cela vous aller créer le rôle
developer_user qui contiendra tous les droits, puis affecter ce rôle aux
utilisateurs.
a) Créer le rôle developer_user
b) Attribuer les privilèges de l'utilisateur hr au rôle developer_user
c) Créer les utilisateurs devuser2 et devuser3 leurs attribuer le rôle
developer_user.
4- Modifier les utilisateurs devuser1 et devuser4 par :
a) Attribuer le rôle developer_user aux utilisateurs devuser1 et devuser4
b) Exécuter les 2 premières requêtes de l’exercice précédant question 9 pour
l’utilisateur ’devuser1’, puis Révoquer les privilèges attribués directement
(dans la question 2) ne laisser que les privilèges attribués via le rôle
developer_user
c) À partir de l’invite cmd, se connecter par devuser4,
- Un message apparait, à quoi ça correspond ?
- Faites le nécessaire pour que devuser4 puisse se connecter.
- Une fois fait créer la table client (id, nom, adresse)
5- On souhaite maintenant créer un utilisateur correspondant à
l ’ administrateur de la base de données. Cet utilisateur doit posséder tous les
droits sur la base de données.
a. Créer un utilisateur adm_user
b. Donner le privilège ALL PRIVILEGESà l'utilisateur adm_user.
c. Est-ce que adm_user peut créer des tables ?
d. Est-ce que adm_user peut créer ou modifier des utilisateurs ?
e. Est-ce que adm_user peut lire toutes les tables du dictionnaire des données ?
pour répondre a cette question il faut :
i. Dans un premier temps, vérifier par un select d’une des vue de dictionnaire