Nothing Special   »   [go: up one dir, main page]

TP1 Abd

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 5

Administration Des Bases de Données

TP1 : Gestion des utilisateurs

Outil : Oracle Express Edition 11g R2

Objectif : Apprendre à gérer les utilisateurs d’une base de données Oracle (création des utilisateurs,
gestion des rôles et des privilèges …)

Motivation : Un SGBD oracle est un système multi-utilisateur complexe. Il doit alors protéger les
données de l’utilisateur. En contrepartie, Il doit permettre un partage contrôlé des données
utilisateurs. La solution alors est de créer des utilisateurs avec des droits (des privilèges) spécifiques.

NB : ce TP peut être réalisé soit en mode graphique ou bien en utilisant l’invite Sql/plus d’oracle.

A. Administration graphique de la base de données Oracle

1- Accéder à Oracle Database Express Edition qui


est accessible à partir du raccourci créé sur le
bureau.

2- Dans l’interface d’accueil, cliquer sur le bouton « Application Express »

Page 1 / 5
TP1 – Administration des bases de données LGLSI 2

3- Connectez vous en utilisant un compte ayant le rôle DBA (utilisez par exemple le user System ou
Sys ayant comme mot de passe celui créé lors de la création de la base de données).

Les utilisateurs Sys et System sont des utilisateurs prédéfinis (créés lors de
l’installation d’oracle).
Sys : un utilisateur ayant le rôle DBA (jouant alors le rôle d’un administrateur et
pouvant ainsi créer des tables, des utilisateurs, insérer des données … ) et possédant
le privilège SYSDBA (permettant de démarrer et d’arrêter la base de données)
System : joue le rôle d’un DBA mais ne possède pas le privilège SYSDBA

4- Créer maintenant un nouvel utilisateur « student » de la base de données

2
1

Définir le mot de passe student

5- Connectez- vous au compte créé :

Page 2 / 5
TP1 – Administration des bases de données LGLSI 2

6- Dans le menu affiché, le bouton « SQL Workshop » permet de gérer la BD créée automatiquement
avec Oracle XE.

7- Dans le menu SQL Workshop -> SQL Commands, utiliser la syntaxe ci-dessous afin de créer une table
de test. Une fois créée, il sera possible d’explorer graphiquement la structure, les données, les
contraintes ainsi que diverses propriétés de la table de test dans le menu SQL Workshop -> Objects
Browser :

8- Dans le menu SQL Workshop -> SQL Commands, utiliser la syntaxe ci-dessous afin de créer un nouveau
utilisateur « user_test » :

Vous remarquerez qu’il n’est pas possible de créer un utilisateur. En effet, l’utilisateur « Student » utilisé
pour exécuter la commande « CREATE USER » est celui créé pour l’environnement de travail ; bien qu’il a
le privilège de créer des tables, il ne dispose pas du privilège qui lui permet de créer des utilisateur.

Afin de lui attribuer ce privilège, on devra utiliser un super utilisateur Oracle (sys, system, ou tout autre
utilisateur qui a le privilège d’attribuer des privilèges à des utilisateurs).

Page 3 / 5
TP1 – Administration des bases de données LGLSI 2
B. SQL*plus pour l’administration de la base de données Oracle
1- A partir du menu de démarrage, lancer SQL*plus :

2- Connecter vous avec la commande suivante (en utilisant un utilisateur ayant le rôle DBA) et
pas besoin d’utiliser un mot de passe
SQL> connect sys as sysdba
Enter password:
Connected.

3- Pour attribuer le privilège de création des utilisateurs à l’utilisateur « student »


grant create user to student;
4- Connectez-vous à l’espace de l’utilisateur « student » en fournissant le mot de passe créé
précédemment comme suit :
connect student/student

5- Essayer maintenant de créer l’utilisateur user_test


SQL> create user user_test identified by user_pwd;
User created.

C. Exercice
Dans une société, on dispose de deux services : service DRH et service DAF. Les données du service
DRH sont stockées dans une table « Employe », alors que celles du service DAF sont stockées dans
une table « Facture ».
Le service DRH manipule ses données à travers un utilisateur « user_drh », alors que le service DAF
a un autre utilisateur nommé « user_daf ».
Les utilisateurs du DRH n’ont pas le droit de faire des opérations sur les factures, et vice-versa.

Page 4 / 5
TP1 – Administration des bases de données LGLSI 2

Le schéma ci-dessous explique le modèle demandé :

Exécuter l’ensemble des requêtes SQL qui permettent de réaliser les étapes ci-dessous. Vous pouvez
utiliser l’interface d’Oracle XE ou bien les lignes de commande :

a) Créer les deux utilisateurs « user_drh » et « user_daf » et attribuer à chacun un mot de passe.
b) Créer deux rôles « role_drh » et « role_daf » et attribuer à chacun les privilèges de création
de session (CREATE SESSION) et de création de table (CREATE TABLE)
c) Attribuer respectivement les rôles « role_drh » et « role_daf » aux utilisateurs « user_drh »
et « user_daf ».
d) Se connecter avec l’utilisateur « user_drh » et créer la table « Employe ».

Employe (identifiant, nom, prenom, salaire)


Quelle est la cause de l’erreur affichée ?

e) Se connecter avec le super utilisateur et attribuer le tablespace « USERS » comme tablespace


par défaut aux deux utilisateurs avec un quota de 20 M. Refaire la question (d)
f) Faire le nécessaire pour créer la table « Facture » avec l’utilisateur « user_daf ».

Facture (numero, date, montant)

g) Insérer 2 lignes dans chacune des tables créées.


h) Est-ce que l’utilisateur « user_drh » peut insérer des lignes dans la table « Facture » ?
pourquoi ?
i) Donner les instructions nécessaires pour permettre à « user_drh » d’insérer et de sélectionner
les lignes de la table « Facture », et à « user_daf » de mettre à jour les lignes de la table «
Employe »

Page 5 / 5

Vous aimerez peut-être aussi