Académique Documents
Professionnel Documents
Culture Documents
TD3 Solution
TD3 Solution
TD3
Exercice1
1) Créez des tablespaces permanents associés aux noms et aux paramètres de stockage
suivants :
a) SAP.
Type de tablespace : permanent.
Fichier : sap01.dbf avec une taille initiale 10M.
Gestion des extents par dictionnaire.
La taille de bloc est 16ko.
CREATE TABLESPACE SAP
DATAFILE ‘sap01.dbf’ SIZE 10M
EXTENT MANAGEMENT DICTIONARY
BLOCKSIZE 16 K;
b) LOKJ
Type de tablespace : permanent.
Fichier : un seul fichier avec une taille initiale 10M.
Il y aura une extension automatique du fichier par tranche de 20M avec une limite de
100M lorsque la taille du fichier devient insuffisante.
Gestion des extents est locale et automatique.
Statu est offline.
CREATE TABLESPACE LOKJ
DATAFILE ‘lokj01.dbf’ SIZE 10M
AUTOEXTEND ON NEXT 20M MAXSIZE 100M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
OFFLINE;
2) Ajouter un troisième fichier de données d’une taille de 100M au tablespace créé LOKJ. Le
fichier doit pouvoir être agrandi jusqu’à la taille de 1GB avec des extensions d’une taille de
100MB.
ALTER TABLESPACE LOKJ
ADD DATAFILE ‘lokj02.dbf’ SIZE 100M
AUTOEXTEND ON NAXT 100M MAXSIZE 1G;
3) Augmentez la taille du premier fichier du tablespace précédent LOKJ à la taille de 600M.
ALTER DATABASE
DATAFILE ‘lokj01.dbf’ RESIZE 600M;
1) Créer les deux utilisateurs spécifiés dans le tableau ci-après en respectant les informations
suivantes :
Nom Tablespace par Quota Tablespace temporaire par Quota
utilisateur défaut défaut
Le mot de passe de Kmon1 est Kmon1, l'utilisateur Kmon2 est authentifié par le système
d'exploitation.
CREATE USER Kmon1 IDENTIFIED BY Kmon1
DEFAULT TABLESPACE tab
DEFAULT TEMPORARY tmp
QUOTO 5M ON tab
QUOTA 10M ON tmp;
CREATE USER Kmon2 IDENTIFIED EXTERNALLY
DEFAULT TABLESPACE oph
DEFAULT TEMPORARY TABLESPACE tmpo
QUOTA 10M ON oph
QUOTA 10 M ON tmpo;
2) Accordez à l’utilisateur Kmon1 les privilèges nécessaires pour pouvoir se connecter à la base et de
créer des tables avec la possibilité de transférer ces privilèges à d’autres utilisateurs.
GRANT CONNECT, CREATE TABLE TO Kmon1 WITH ADMIN OPTION;
3) Créer une table (exemple ’’tbctrl’’ un seul champ suffit) dans le schéma de Kmon1. Insérez ensuite
une à deux lignes dans cette table puis visualisez le contenu de la table.
CONNECT Kmon1/ Kmon1
CREATE TABLE tbctrl (id int);
INSERT INTO tbctrl VALUES(1); INSERT INTO tbctrl VALUES(2);
4) Créer un rôle ROLE5 permettant à un utilisateur de se connecter à la base et interroger toutes les
tables.
CREATE ROLE ROLE5;
GRANT CONNECT, SELECT ANY TABLE TO ROLE5;
5) Affectez ce rôle à l’utilisateur Kmon2.
GRANT ROLE5 TO Kmon2 ;
6) Connectez-vous avec le compte de l’utilisateur Kmon2 et d’interroger la table tbctrl de l’utilisateur
Kmon1. Est-ce que l’utilisateur Kmon2 au droit d’interroger la table tbctrl ?
CONNECT Kmon2 ;
SELECT * FROM Kmon1.tbctrl;
L'utilisateur Kmon2 a le droit d'interroger la table tbctrl de l'utilisateur Kmon1, car il a le
privilège SELECT ANY TABLE ;
7) Créer un rôle ROLE6 permettant à un utilisateur de se connecter à une session en mode restreint,
création d’index, la suppression des tables et la création des tablespace.
CREATE ROLE ROLE6;
GRANT RESTRICTED SESSION, CREATE TABLE TO ROLE6;
8) Accordez à l’utilisateur Kmon2 les privilèges nécessaires pour modifier et suprimer les ligunes de
la table tbctrl.
GRANT UPDATE, DELETE ON Kmon1. Tbctrl TO Kmon2;
Exercice 3