Vous êtes sur la page 1sur 17

Universit Cadi AYYAD

Ecole Nationale des Sciences Appliques


Safi
Dpartement Gnie Informatique

AU : 2009 - 2010
Module : SGBD Oracle
Classe : 4me Anne Gnie Informatique

Atelier 1 : Composants de larchitecture Oracle


1

Parmi les affirmations suivantes, dterminez laquelle est vraie.

a. Un serveur Oracle est un ensemble de donnes compos de trois types de fichier.


b. Pour tablir une connexion avec la base de donnes, l'utilisateur doit dmarrer une
instance Oracle.
c. Une connexion est un chemin de communication entre le serveur Oracle et l'instance
Oracle.
d. Une session dmarre une fois que le serveur Oracle a authentifi l'utilisateur.
Parmi les zones mmoire suivantes, laquelle ne fait pas partie de la mmoire SGA ?

a. le cache de tampons de la base de donnes,


b. la mmoire PGA,
c. le tampon de journalisation,
d. la zone de mmoire partage.
Identifiez les deux affirmations correctes se rapportant la zone de mmoire partage.

a. La zone de mmoire partage est compose du cache "library", du cache du


dictionnaire de donnes, de la zone SQL partage, de la zone de mmoire Java et de
la zone de mmoire LARGE POOL.
b. La zone de mmoire partage permet de stocker les dernires instructions SQL
excutes.
c. La zone de mmoire partage est utilise pour un objet pouvant tre partag
globalement.
d. Le cache "library" est compos des zones SQL et PL/SQL partages.
Parmi les zones mmoire suivantes, laquelle permet de mettre en mmoire cache les
informations du dictionnaire de donnes ?
a. le cache de tampons de la base de donnes,
b. la mmoire PGA,
c. le tampon de journalisation,
d. la zone de mmoire partage.
La tche principale du tampon de journalisation consiste enregistrer toutes les
modifications apportes aux blocs de donnes de la base.
a. Vrai
b. Faux
La mmoire PGA est une rgion de la mmoire qui contient les donnes et les
informations de contrle de plusieurs processus serveur ou de plusieurs processus
d'arrire-plan.
a. Vrai
b. Faux
Parmi les processus suivants, lequel ou lesquels sont disponibles au dmarrage d'une
instance Oracle ?
1

a. le processus utilisateur,
b. le processus serveur,
c. les processus d'arrire-plan.
Indiquez ci-dessous cinq processus d'arrire-plan obligatoires.
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________

Affectez chaque processus la tche correspondante.


a. Database Writer
b. Log Writer
c. System Monitor
d. Process Monitor

10

E
C
D
B

permet l'criture dans les en-ttes des fichiers de donnes.


se charge de la rcupration de l'instance.
excute des oprations de nettoyage suite l'chec de processus.
enregistre les modifications de la base de donnes pour permettre la
rcupration.
e.Checkpoint
A crit les tampons "dirty" dans les fichiers de donnes.
La structure physique d'une base Oracle est compose de fichiers de contrle, de
fichiers de donnes et de fichiers de journalisation.
a. Vrai
b. Faux
11 Rtablissez la hirarchie des structures suivantes, en commenant par la base de
donnes.
a. Tablespaces
b. Extent
c. Segment
d. Base de donne
e. Bloc
12 Indiquez les composants d'un serveur Oracle.
________________________________________
________________________________________

13 Indiquez les composants d'une instance Oracle.


________________________________________
________________________________________
14 Indiquez trois types de fichier composant une base de donnes Oracle.
________________________________________
________________________________________
________________________________________

Atelier 2 : Initiation Oracle Serveur


Exercice dirig. Votre formateur vous fournira les comptes de connexion et vous aidera vous connecter votre
compte. Notez ci-dessous les informations fournies :
Nom d'hte : _________________________________
Nom SID : __________________________________
1

Connectez-vous SQL*Plus en tant que SYSDBA.


Indice :

- Suivez les instructions de votre formateur pour vous connecter.


- Dmarrez SQL*Plus.
- Connectez-vous en tant que SYS AS SYSDBA.
2
A l'aide de SQL*Plus, excutez l'interrogation suivante pour vrifier que la connexion la base de donnes a
t tablie.
3

Lancez Oracle Enterprise Manager en mode autonome.

- Slectionnez Start > Programs > Oracle-OraHome90 > Enterprise Manager Console
- Slectionnez l'option Launch standalone.
- Cliquez sur OK.
Lancez Oracle Enterprise Manager l'aide d'Oracle Management Service.
-

Dans le cadre d'un cours en salle Oracle uniquement :

Si vous suivez un cours en salle Oracle, vous devez excuter les quatre tapes suivantes, qui sont
propres la configuration de ce type de cours :
1. Cliquez sur l'icne de mise jour de fichier omsconfig sur le bureau.
Entrez le nom du serveur Unix utilis dans votre cours, qui vous sera fourni par votre
formateur. Veillez l'entrer tel qu'il vous a t communiqu, en respectant la distinction entre les majuscules et les
minuscules.
2.

Ouvrez une fentre MSDOS.

3.
A l'invite de commande, entrez oemctl start oms. Attendez que le message suivant
s'affiche : "The Oracleoracle901_homeManagementServer service was started successfully."
4.

Fermez la fentre MSDOS.

Dmarrez la console OEM et slectionnez l'option Login to the Oracle Management Server.
Connectez-vous comme suit :
Administrator: sysman Remarque : Respectez la casse.
Password: oem_temp Remarque : Respectez la casse.
Lorsque vous y tes invit, remplacez le mot de passe par oracle.
Remarque : Respectez la casse. Management Server : (information fournie par votre formateur).
- Une fois que la console OEM est ouverte, accdez au menu principal et procdez comme suit :
Slectionnez Navigator > Discover Nodes. La bote de dialogue Discovery Wizard s'ouvre.
3

- Slectionnez Next pour poursuivre.


- Entrez le nom du noeud que vous souhaitez grer, c'est--dire le nom d'hte du serveur de bases de
donnes dsign (information fournie par votre formateur).
- Slectionnez Next.
- Une fois le reprage termin, slectionnez OK. Remarque : Si le reprage n'aboutit pas, informez-en
votre formateur.
- Dveloppez le dossier Database dans l'arborescence de navigation.
- Cliquez deux fois sur votre base de donnes (qui vous a t indique par votre formateur).
Lancez Oracle Enterprise Manager l'aide d'Oracle Management Service (suite
- Fournissez les informations de connexion suivantes :
Utilisateur : (information fournie par votre formateur)
Mot de passe : (information fournie par votre formateur)
En tant que : SYSDBA
- Fournissez ensuite les informations d'identification et de connexion au noeud pour les travaux en cours
d'excution.
- Dans le menu principal, slectionnez Configuration > Preferences.
- Slectionnez la page Preferred Credentials.
- Accdez au bas de la page et slectionnez l'entre correspondant votre base de donnes.
- Indiquez les informations suivantes :
Username: (information fournie par votre formateur)
Password: (information fournie par votre formateur)
Confirm Password:
Role: SYSDBA
- Cliquez sur OK.
5

Dmarrez SQL*Plus Worksheet.


Procdez comme suit pour dmarrer SQL*Plus Worksheet depuis la console Oracle Enterprise Manager :

- Slectionnez Tools > Database Applications > SQL*Plus Worksheet.


Vous pouvez galement dmarrer SQL*Plus Worksheet depuis le menu Windows NT :
- Slectionnez Start > Programs > Oracle-OraHome90 > Integrated Management Tools > SQLPlus Worksheet.

Connectez-vous directement la base de donnes dfinie par votre formateur.

Entrez les informations suivantes : Username, Password et Service.

Connectez-vous en tant que : SYSDBA.


4

Cliquez sur OK.

Remarque : A chaque fois que vous vous connectez sous un nom diffrent (dans SQL*Plus Worksheet), vous devez
intgrer le nom de service la chane de connexion.

Atelier 3 : Grer une instance Oracle


1

Connectez-vous la base de donnes en tant qu' utilisateur SYS, puis arrtez la base.

Une fois la base de donnes arrte, crez un fichier SPFILE partir d'un fichier
PFILE.
Placez le fichier SPFILE dans le rpertoire $HOME/ADMIN/PFILE en lui affectant
un nom au format spfileSID.ora (o SID correspond au nom de votre instance).
Crez le fichier SPFILE partir du fichier PFILE qui se trouve dans le rpertoire
$HOME/ADMIN/PFILE.

Affichez le fichier SPFILE depuis le systme d'exploitation.

Connectez-vous en tant qu'utilisateur SYS, puis dmarrez la base de donnes l'aide du


fichier SPFILE.

a. Arrtez la base de donnes, puis ouvrez-la en mode lecture seule.


b. Connectez-vous en tant qu'utilisateur HR avec le mot de passe HR, puis insrez une
ligne dans la table REGIONS en utilisant la syntaxe suivante :INSERT INTO
regions VALUES (5, Mars);
Que se passe-t-il ?
c. Raffectez la base de donnes le mode lecture-criture.

a. Connectez-vous en tant qu'utilisateur HR avec le mot de passe HR, puis insrez la


ligne suivante dans la table REGIONS. Ne validez pas et ne quittez pas la session.
INSERT INTO regions VALUES ( 5, Mars );
b. Dmarrez SQL*Plus dans une nouvelle session Telnet. Connectez-vous en tant
qu'utilisateur SYS AS SYSDBA, puis procdez un arrt en mode Transactional.
c

Annulez l'insertion dans la session de HR, puis quittez. Que se passe-t-il dans la
session de HR ? Que se passe-t-il dans celle de SYS ?

a. Connectez-vous en tant qu'utilisateur SYS, puis dmarrez la base de donnes.


b. Dmarrez une autre session en tant qu'utilisateur HR.
Remarque : Conservez les sessions SQL*Plus de SYS et de HR ouvertes.
c. Sous l'ID utilisateur SYS, activez la session en mode restreint.

d. Sous l'ID utilisateur HR, effectuez une slection (SELECT) dans la table REGIONS.
L'opration aboutit-elle ? Quittez la session, puis reconnectez-vous sous l'ID
utilisateur HR. Que se passe-t-il ?
e. Sous l'ID utilisateur SYS, dsactivez la session en mode restreint.

Atelier 4 : Utiliser les vues du dictionnaire de donnes et les vues dynamiques


des performances
1

Dans la liste suivante, identifiez les affirmations correctes concernant le dictionnaire de


donnes :
a. Le dictionnaire de donnes dcrit la base de donnes et ses objets.
b. Le dictionnaire de donnes comprend deux types d'objet : des tables de base et
des vues.
c. Le dictionnaire de donnes est un ensemble de tables.
d. Le dictionnaire de donnes enregistre et vrifie les informations relatives la base
de donnes qui lui est associe.

Le script catalog.sql permet de crer les tables de base.


a. Vrai
b. Faux

Dans la liste suivante, identifiez les trois affirmations correctes concernant l'utilisation
du dictionnaire de donnes :
a. Le serveur Oracle le modifie lorsqu'une instruction LMD est excute.
b. Il permet de rechercher des informations sur les utilisateurs, les objets de schma et
les structures de stockage.
c. Les utilisateurs et les administrateurs de base de donnes s'en servent comme
rfrence.
d. Il est indispensable au bon fonctionnement de la base de donnes.

Les vues du dictionnaire de donnes sont statiques.


a. Vrai
b. Faux

Les informations d'une vue dynamique des performances sont extraites partir
du fichier de contrle.
a. Vrai
b. Faux

Dans la liste suivante, identifiez les questions auxquelles une vue dynamique
des performances peut rpondre :
a. L'objet est-il en ligne et disponible ?
b. Quels verrous externes sont appliqus ?
c. Qui est le propritaire de l'objet ?
d. De quels privilges les utilisateurs disposent-ils ?
e. La session est-elle active ?

Recherchez la liste des vues du dictionnaire de donnes.

Identifiez le nom de la base de donnes, le nom de l'instance et la taille des blocs de


la base de donnes.
Indice : Interrogez les vues dynamiques des performances V$DATABASE, V$THREAD
et V$PARAMETER.

Affichez la liste des noms des fichiers de donnes.


Indice : Interrogez la vue dynamique des performances V$DATAFILE.

10

Identifiez le fichier de donnes qui constitue le tablespace SYSTEM.


Indice : Interrogez la vue du dictionnaire de donnes DBA_DATA_FILES pour
identifier le fichier de donnes qui constituent le tablespace SYSTEM.

11

Quel est le volume d'espace libre disponible et le volume d'espace utilis dans la base de
donnes ?
Indices
- Interrogez la vue DBA_FREE_SPACE du dictionnaire de donnes pour afficher
la quantit d'espace disponible dans la base de donnes.
- Interrogez la vue DBA_SEGMENTS du dictionnaire de donnes pour afficher la
quantit d'espace utilis.

12

Rpertoriez le nom et la date de cration des utilisateurs de la base de donnes.


Indice : Interrogez la vue DBA_USERS du dictionnaire de base de donnes pour obtenir
la liste des noms et des dates de cration des utilisateurs de la base de donnes.

Atelier 5 : Grer le fichier de contrle


Remarque : Vous pouvez raliser cet exercice avec SQL*Plus ou avec Oracle Enterprise Manager et SQL*Plus
Worksheet.
1

O se trouve le fichier de contrle existant et quel est son nom ?


Indice : Interrogez la vue dynamique des performances V$CONTROLFILE.
Remarque : Vous pouvez galement utiliser la vue V$PARAMETER ou excuter la
commande SHOW PARAMETER pour afficher le nom et l'emplacement du fichier de
contrle.

Tentez de dmarrer la base de donnes sans fichier de contrle. Pour simuler cette
opration, modifiez le nom du fichier de contrle dans le fichier de paramtres ou
renommez le fichier de contrle. Que se passe-t-il ?

Multiplexez le fichier de contrle existant en utilisant le rpertoire u02, puis nommez


le nouveau fichier ctrl02.ctl. Assurez-vous que le serveur Oracle a accs en
criture ce nouveau fichier en utilisant, par exemple, la commande chmod 660 sous
UNIX. Vrifiez que les deux fichiers de contrle sont utiliss.
Indices :
- Avant d'arrter la base de donnes, modifiez le fichier SPFILE
(SCOPE=SPILE) pour ajouter le nouveau fichier de contrle au fichier
d'initialisation.
- Arrtez la base de donnes, puis copiez le fichier de contrle existant dans un
nouveau fichier nomm ctrl02.ctl que vous placerez dans le rpertoire
u02. Sous UNIX, utilisez la commande chmod 660. Normalement, les droits
sur le fichier restent inchangs ; cette situation n'est prsente que pour les
besoins du cours.
- Dmarrez la base de donnes.
- Interrogez la vue dynamique des performances V$CONTROLFILE ou
V$PARAMETER, ou utilisez la commande SHOW PARAMETER pour confirmer
que les deux fichiers de contrle sont utiliss.

Quelle est la taille initiale de la section relative aux fichiers de donnes dans le fichier
de contrle ?
Indice : Interrogez la vue dynamique des performances
V$CONTROLFILE_RECORD_SECTION.

Atelier 6 : Grer les fichiers de journalisation


Remarque : Vous pouvez raliser cet exercice avec SQL*Plus ou avec Oracle Enterprise Manager et SQL*Plus
Worksheet.
1

Rpertoriez le nombre et l'emplacement des fichiers journaux existants et affichez le


nombre de groupes de fichiers de journalisation et de membres que contient votre base
de donnes.
8

Indices :
- Interrogez la vue dynamique V$LOGFILE.
- Utilisez la vue dynamique V$LOG.
2

Dans quel mode la base de donnes est-elle configure ? L'archivage est-il activ ?
Indices :
- Interrogez la vue dynamique des performances V$DATABASE.
- Interrogez la vue dynamique des performances V$INSTANCE.

En respectant les conventions d'appellation suivantes, ajoutez un membre chaque


groupe de fichiers de journalisation de la base de donnes stocke sur u04 :
Ajoutez un membre au groupe 1 : log01b.rdo
Ajoutez un membre au groupe 2 : log02b.rdo
Vrifiez le rsultat obtenu.
Indices :
- Excutez la commande ALTER DATABASE ADD LOGFILE MEMBER pour
ajouter un membre chaque groupe de fichiers de journalisation.
- Interrogez la vue dynamique des performances V$LOGFILE pour vrifier le
rsultat.

En respectant les conventions d'appellation suivantes, ajoutez un groupe de fichiers de


journalisation votre base de donnes et placez deux membres sur u03 et u04.
Ajoutez le groupe 3 : log03a.rdo et log03b.rdo
Vrifiez le rsultat obtenu.
Indices :
- Excutez la commande ALTER DATABASE ADD LOGFILE pour crer un
groupe.
- Interrogez la vue dynamique des performances V$LOGFILE pour afficher le
nom des nouveaux membres du nouveau groupe.
- Interrogez la vue dynamique des performances V$LOG pour afficher le nombre
de groupes de fichiers de journalisation et de membres.

Supprimez le groupe de fichiers de journalisation cr l'tape 4.


Indices :
- Excutez la commande ALTER DATABASE DROP LOGFILE GROUP pour
supprimer le groupe de fichiers de journalisation.
- Interrogez la vue dynamique V$LOG pour vrifier le rsultat.
- Supprimez du groupe les fichiers du systme d'exploitation.
9

Redimensionnez tous les fichiers de journalisation en ligne en leur attribuant la taille


1024 Ko. (Les fichiers journaux ne pouvant pas tre redimensionns, vous devez ajouter
de nouveaux journaux et supprimer les anciens.)
Indices :
- Excutez la commande ALTER DATABASE ADD LOGFILE GROUP pour
ajouter deux nouveaux groupes d'une taille de 1024 Ko.
- Interrogez la vue dynamique V$LOG pour vrifier le groupe actif.
- Excutez la commande ALTER SYSTEM SWITCH LOGFILE pour forcer les
changements de fichier de journalisation et attribuer au groupe le statut inactif.
Le nombre de changements de fichier requis varie.
- Excutez la commande ALTER DATABASE DROP LOGFILE pour supprimer
les groupes inactifs.
- Interrogez la vue dynamique V$LOG pour vrifier le rsultat.

Atelier 7 : Grer les tablespaces et les fichiers de donnes


Remarque : Vous pouvez raliser cet exercice avec SQL*Plus ou avec Oracle Enterprise Manager et SQL*Plus
Worksheet.
1

Crez des tablespaces permanents associs aux noms et aux paramtres de stockage
suivants :
a. DATA01, gr au moyen du dictionnaire.
b. DATA02, gr localement avec des extents de taille uniforme (assurez-vous que les
tailles des extents utiliss dans le tablespace sont des multiples de 100 Ko).
c. INDX01, gr localement avec des extents d'une taille uniforme de 4 Ko (activez
l'extension automatique de 500 Ko lorsque des extents supplmentaires d'une taille
maximale de 2 Mo sont requis).
d. RONLY pour les tables en lecture seule avec le stockage par dfaut. NE METTEZ
PAS le tablespace en lecture seule ce stade.
e. Affichez les informations partir du dictionnaire de donnes.
Indice : Pour obtenir des informations sur les tablespaces, utilisez l'une des
interrogations suivantes :
- DBA_TABLESPACES
- V$TABLESPACE
- V$DATAFILE

Allouez 500 Ko d'espace disque supplmentaire au tablespace DATA02 et vrifiez le


rsultat.

10

Dplacez le tablespace INDEX01 vers le sous-rpertoire u06. Vrifiez l'emplacement


et le statut de INDEX01.
Indices :
- Mettez le tablespace INDEX01 hors ligne.
- Utilisez V$DATAFILE pour vrifier le statut.
- Utilisez la commande approprie du systme d'exploitation pour dplacer le
tablespace vers u06.
- Utilisez la commande ALTER TABLESPACE pour redplacer le tablespace.
- Mettez le tablespace INDEX01 en ligne.
- Utilisez V$DATAFILE pour vrifier le statut.

a. Crez une table dans le tablespace RONLY. Mettez le tablespace RONLY en lecture
seule et vrifiez-le en excutant une interrogation approprie.
b. Essayez de crer une autre table TABLE2. Supprimez la premire table cre,
TABLE1. Que se passe-t-il ?

Supprimez le tablespace RONLY et le fichier de donnes associ, puis vrifiez le


rsultat.

Affectez la valeur $HOME/ORADATA/u05 au paramtre DB_CREATE_FILE_DEST


uniquement dans la mmoire. Crez un tablespace DATA03 de 5 Mo. Ne dfinissez pas
d'emplacement de fichier. Vrifiez la cration du fichier de donnes.

Atelier 8 : Structure de stockage et relations


Remarque : Vous pouvez raliser cet exercice avec SQL*Plus ou avec Oracle Enterprise Manager et SQL*Plus
Worksheet.
1

Connectez-vous sous l'ID utilisateur SYSTEM, puis excutez le script lab09_01.sql


pour crer des tables et des index.

Identifiez les diffrents types de segment de la base de donnes.

Ecrivez une interrogation permettant de vrifier les segments associs une valeur
infrieure de cinq extents au nombre maximal d'extents. Ne tenez pas compte du
segment de bootstrap. Cette interrogation est utile pour identifier les segments
susceptibles de gnrer des erreurs lors de futurs chargements de donnes.

Quels fichiers disposent d'un espace allou pour la table EMP ?

Excutez le script lab09_05.sql.

Rpertoriez l'espace libre disponible par tablespace. L'interrogation doit afficher le


nombre de fragments, l'espace libre total et le plus grand extent libre de chaque
tablespace.

11

Rpertoriez les segments qui gnreront des erreurs lors de la tentative d'allocation d'un
extent supplmentaire, en raison d'un espace insuffisant.

Atelier 9 : Grer les donnes dannulations


Remarque : Vous pouvez raliser cet exercice avec SQL*Plus ou avec Oracle Enterprise Manager et SQL*Plus
Worksheet.
1

Connectez-vous en tant que SYSTEM/MANAGER et rpertoriez les segments


d'annulation du tablespace UNDOTBS.

Crez le tablespace d'annulation UNDO2 d'une taille de 15 Mo et placez-le dans le


rpertoire $HOME/oradata/u03. Rpertoriez les segments d'annulation d'UNDO2.

Dans une nouvelle session Telnet, dmarrez SQL*Plus et connectez-vous sous l'ID
utilisateur HR. Excutez le script lab10_03.sql pour insrer une ligne dans la table
DEPARTMENTS. Vous ne devez ni valider, ni annuler, ni quitter la session.

Dans la session que vous avez ouverte sous l'ID SYS, passez du tablespace d'annulation
UNDOTBS UNDO2 l'aide de la commande ALTER SYSTEM.

Sous l'ID utilisateur SYS, supprimez le tablespace UNDOTBS. Que se passe-t-il ?

Rpertoriez les segments d'annulation du tablespace UNDOTBS et leur statut. Comparez


cette liste celle tablie l'tape 1.

Dans la session que vous avez ouverte sous l'ID utilisateur HR, annulez la transaction et
quittez cette session.

Dans la session que vous avez ouverte sous l'ID utilisateur SYS, supprimez le
tablespace UNDOTBS. Que se passe-t-il ?

Sous l'ID utilisateur SYS, excutez la commande suivante :


ALTER SYSTEM SET undo_retention=0 SCOPE=memory;
A prsent, supprimez le tablespace UNDOTBS. Que se passe-t-il ?

Remarque : La suppression du tablespace peut prendre du temps.

Atelier 10 : Grer les tables


Remarque : Vous pouvez raliser cet exercice avec SQL*Plus ou avec Oracle Enterprise Manager et SQL*Plus
Worksheet.
1

En tant qu'utilisateur SYSTEM, crez les tables et les colonnes suivantes pour
l'application de gestion des commandes que vous implmentez.
Remarque : Si vous utilisez OEM, veillez affecter des valeurs NULL la colonne
DATE_OF_DELY.

12

Vous savez que des lignes seront insres dans la table ORDERS sans valeur pour
DATE_OF_DELY et que la table sera mise jour une fois la commande effectue.
Utilisez le tablespace USERS et conservez, si vous le souhaitez, les paramtres de
stockage par dfaut.
2

Excutez le script lab11_02.sql pour insrer des lignes dans les tables.

Identifiez les fichiers et les blocs qui contiennent les lignes destines la table
ORDERS.
Indice : Interrogez la vue DBA_EXTENTS du dictionnaire de donnes.

Vrifiez le nombre d'extents utiliss par la table ORDERS.

Allouez manuellement la table ORDERS un extent possdant la taille par dfaut, puis
vrifiez que l'opration a abouti.

Crez une autre table, ORDERS2, partir de la table ORDERS, mais avec le paramtre
MINEXTENTS=10. Vrifiez que la table a bien t cre avec le nombre d'extents
indiqu.

Videz la table ORDERS sans librer d'espace, puis contrlez le nombre d'extents afin de
vrifier quils nont pas t librs.

Videz la table ORDERS2 en librant de l'espace. Combien d'extents la table comporte-telle prsent ?

Excutez le script lab11_09.sql pour insrer des lignes dans la table ORDERS2.

10

Affichez les colonnes de la table ORDERS2. Marquez la colonne DATE_OF_DELY


comme UNUSED. Affichez nouveau les colonnes de cette table. Que se passe-t-il ?

11

Supprimez la colonne non utilise DATE_OF_DELY.

12

Supprimez la table ORDERS2.

Atelier 11 : Grer les index


Remarque : Vous pouvez raliser cet exercice avec SQL*Plus ou avec Oracle Enterprise Manager et SQL*Plus
Worksheet.
1

Vous envisagez de crer des index sur les colonnes NAME et REGION de la table
CUSTOMERS. Quels sont les types d'index appropris pour ces deux colonnes ? Crez
ces index (nommez-les respectivement CUST_NAME_IDX et CUST_REGION_IDX),
puis placez-les dans le tablespace INDX01.
Indice : Les index B-Tree sont adapts aux colonnes qui contiennent de nombreuses
valeurs distinctes tandis que les index bitmap conviennent plutt aux colonnes qui
contiennent peu de valeurs distinctes. La table CUSTOMERS se trouve dans le schma
SYSTEM.

Transfrez l'index CUST_REGION_IDX vers un autre tablespace.


13

Indice : Vous pouvez reconstruire l'index en indiquant un autre tablespace.


3

Notez les fichiers et les blocs utiliss par les extents dans l'index CUST_REGION_IDX.
Indice : Accdez ces informations par la vue DBA_EXTENTS.

Recrez l'index CUST_REGION_IDX sans le supprimer au pralable et conservez-le


dans le mme tablespace. Le nouvel index rutilise-t-il les mmes blocs qu'auparavant ?
Indice : Reconstruisez l'index.
Remarque : Le nouvel index ne rutilise pas le mme espace aprs reconstruction. En
effet, le serveur Oracle construit un index temporaire, supprime l'ancien, puis renomme
l'index temporaire.

a. Sous l'ID utilisateur SYSTEM, excutez le script lab12_05a.sql pour crer la


table NUMBERS et l'alimenter.
b. Interrogez la table NUMBERS pour dterminer le nombre de valeurs distinctes dans
les deux colonnes de la table.
c. En utilisant des tailles d'extent uniformes de 4 Ko, crez les index B-Tree
NUMB_OE_IDX et NUMB_NO_IDX, respectivement sur les colonnes ODD_EVEN et
NO de la table NUMBERS. Placez ces index dans le tablespace INDX01. Vrifiez la
taille totale des index et crivez ci-dessous le nombre de blocs.
Indice : Utilisez une valeur PCTINCREASE gale zro pour crer des extents de
taille identique. Vrifiez dans DBA_SEGMENTS le nombre total de blocs allous
aux extents.

Atelier 12 : Grer lintgrit des donnes


Remarque : Vous pouvez raliser cet exercice avec SQL*Plus ou avec Oracle Enterprise Manager et SQL*Plus
Worksheet.
1

Examinez le script lab13_01.sql. Excutez-le pour crer les contraintes.

Interrogez le dictionnaire de donnes pour effectuer les oprations suivantes :


a. Vrifier la prsence de contraintes et dterminer leur statut et si elles peuvent tre
diffres.
Indice : Utilisez la vue DBA_CONSTRAINTS pour obtenir ces informations.
b. Vrifier le nom et le type des index crs pour valider les contraintes.
Indice : Les index ne sont crs que pour les contraintes UNIQUE et de cl primaire. Ils
portent le mme nom que ces contraintes.

Sous l'ID utilisateur SYSTEM, excutez le script lab13_03.sql afin d'insrer deux
enregistrements dans la table PRODUCTS.

Activez la contrainte UNIQUE dans la table PRODUCT. L'opration a-t-elle russi ?

14

a. Assurez-vous que les nouvelles lignes qui ont t ajoutes la table ne violent pas la
contrainte portant sur la table PRODUCT.
Indice : Activez la contrainte NOVALIDATE.
b. Interrogez le dictionnaire de donnes afin de vrifier l'impact de cette modification.
c. Pour vrifier que la contrainte rejette les insertions en infraction, ajoutez une ligne
contenant les valeurs suivantes :

Effectuez les oprations requises pour identifier les cas de violation de contrainte dtects
dans la table PRODUCTS, modifiez les codes produit en consquence, puis assurez-vous que
toutes les donnes, nouvelles ou existantes, sont conformes la contrainte (considrez que
la table comporte plusieurs milliers de lignes et qu'il est bien trop long de vrifier chacune
d'elles manuellement).
Indice : Procdez comme suit :
a. Crez la table EXCEPTIONS.
b. Excutez la commande pour activer la contrainte et intercepter les exceptions.
c. Utilisez les ROWID dans la table EXCEPTIONS pour afficher les lignes de la table
PRODUCTS qui violent la contrainte (ne demandez pas l'affichage des colonnes LOB).
d. Corrigez les erreurs.
e. Activez la contrainte.

Excutez le script lab13_07.sql pour insrer des lignes dans la table. Les insertions ontelles abouti ? Annulez (rollback) les modifications.

Atelier 13 : Grer la scurit des mots de passe et de ressources


Remarque : Vous pouvez raliser cet exercice avec SQL*Plus ou avec Oracle Enterprise Manager et SQL*Plus
Worksheet.
1

Excutez le script lab14_01.sql pour crer l'utilisateur Jeff, puis le script


@$ORACLE_HOME/rdbms/admin/utlpwdmg.sql pour activer la gestion des
mots de passe.

Tentez de remplacer le mot de passe de l'utilisateur Jeff par Jeff. Que se passe-t-il ?

Essayez de remplacer le mot de passe par Jeff pour qu'il respecte le format de gestion
des mots de passe.
Indice : Le mot de passe doit contenir au moins un chiffre, un caractre et un signe de
ponctuation.

Modifiez le profil DEFAULT pour que les paramtres suivants s'appliquent aux
utilisateurs possdant ce profil :
- le compte doit tre verrouill aprs deux tentatives de connexion,
- le mot de passe doit expirer aprs un dlai de 30 jours,
15

- le mme mot de passe ne doit pas tre rutilis pendant au moins une minute,
- le compte doit bnficier d'une priode de grce de cinq jours pour la
modification d'un mot de passe qui a expir.
- Assurez-vous que ces exigences sont satisfaites.
Indices :
Modifiez les limites du profil par dfaut l'aide de la commande ALTER PROFILE.
Interrogez la vue DBA_PROFILES du dictionnaire de donnes pour vrifier les
rsultats.
5

Connectez-vous sous l'ID de l'utilisateur Jeff en entrant un mot de passe non valide.
Aprs deux tentatives, connectez-vous avec le mot de passe correct. Que se passe-t-il ?

Vrifiez l'aide de la vue DBA_USERS du dictionnaire de donnes que le compte de


Jeff est verrouill. Dverrouillez-le, puis connectez-vous sous l'ID de Jeff.
Indice : Dverrouillez le compte l'aide de la commande ALTER USER.

Dsactivez les vrifications de mots de passe pour le profil DEFAULT.


Indice : Utilisez la commande ALTER PROFILE.

Connectez-vous sous l'ID de l'utilisateur Jeff en entrant un mot de passe non valide.
Aprs deux tentatives, connectez-vous avec le mot de passe correct. Que se passe-t-il ?

Atelier 14 : Grer les utilisateurs


Remarque : Vous pouvez raliser cet exercice avec SQL*Plus ou avec Oracle Enterprise Manager et SQL*Plus
Worksheet.
1
Crez l'utilisateur Bob associ au mot de passe CRUSADER. Assurez-vous que les objets et les segments
temporaires crs par Bob ne sont pas ajouts au tablespace SYSTEM. Assurez-vous galement que Bob peut se
connecter et crer dans les tablespaces USERS et INDX des objets dont la taille peut atteindre un mgaoctet.
Utilisez le script lab15_01.sql pour accorder Bob le droit de crer des sessions.
Indice : Affectez Bob le tablespace par dfaut USERS et le tablespace temporaire
TEMP.
2

Crez l'utilisateur Emi associ au mot de passe MARY. Assurez-vous que les objets et
les segments de tri crs par Emi ne sont pas ajouts au tablespace SYSTEM.

Affichez les informations sur Bob et Emi partir du dictionnaire de donnes.


Indice : Vous pouvez interroger la vue DBA_USERS.

A partir du dictionnaire de donnes, affichez les informations sur la quantit d'espace


que Bob peut utiliser dans les tablespaces.
Indice : Vous pouvez interroger la vue DBA_TS_QUOTAS.

16

a. Sous l'ID utilisateur Bob, modifiez le tablespace temporaire de Bob.


Que se passe-t-il ?
b. Sous l'ID utilisateur Bob, remplacez le mot de passe de Bob par SAM.

Sous l'ID utilisateur SYSTEM, supprimez le quota de Bob sur son tablespace par
dfaut.

Supprimez le compte d'Emi de la base de donnes.

Bob a oubli son mot de passe. Affectez-lui le mot de passe OLINK en vous assurant
qu'il recevra une demande de modification de ce mot de passe lors de sa prochaine
connexion.

Atelier 15 : Grer les rles


Remarque : Vous pouvez raliser cet exercice avec SQL*Plus ou avec Oracle Enterprise Manager et SQL*Plus
Worksheet.
1

Examinez la vue du dictionnaire de donnes et rpertoriez les privilges systme du rle


RESOURCE.

Crez le rle DEV qui permettra un utilisateur de crer une table ou une vue et de
slectionner des donnes dans la table CUSTOMERS1 d'Emi.

3
a. Affectez les rles RESOURCE et DEV Bob, en prcisant que seul le rle RESOURCE
doit tre automatiquement activ la connexion.
b. Donnez Bob la possibilit de lire toutes les informations du dictionnaire de donnes.
4
Bob doit vrifier les segments d'annulation actuellement utiliss par l'instance. Connectezvous sous l'ID utilisateur Bob et rpertoriez les segments d'annulation utiliss.
Indice : Utilisez SET ROLE SELECT_CATALOG_ROLE.
5
Sous l'ID utilisateur SYSTEM, tentez de crer la vue CUST_VIEW dans la table CUSTOMERS
d'Emi. Que se passe-t-il ?
6
Sous l'ID utilisateur Emi, accordez SYSTEM le privilge SELECT sur CUSTOMERS1. En
tant que SYSTEM, tentez ensuite de crer la vue CUST_VIEW dans la table CUSTOMERS1
d'Emi. Que se passe-t-il ?

17