Vous êtes sur la page 1sur 227

Administration des bases de donnes

Khaled Jouini
j.khaled@gmail.com
Institut Suprieur d'Informatique et des Technologies de Communication

2012-2013

c (IsitCom)
1 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

1 / 149

Syllabus du cours
Pr-requis
Modle relationnel (structure, contraintes, SQL)
Architecture d'un SGBDR, connaissances utiles, mais pas
indispensables

Objectifs
Connatre les tches d'un Administrateur de bases de donnes
Connatre les concepts et les points cls de l'architecture d'Oracle
Savoir eectuer les principales tches d'administration sous Oracle

c (IsitCom)
2 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

2 / 149

Syllabus du cours
SQL la maison
Oracle Database 11g Personal Edition ou ( dfaut) Oracle Database
11g Express Edition.
http://www.oracle.com/technetwork/indexes/downloads/index.html

Pour en savoir plus...


Documentation Oracle :
http://www.oracle.com/technetwork/documentation/.
En anglais, 2000 pages sur l'administration
Oracle 11g Administration,

O. Heurtel, eni Editions, Nov. 2008

OCA : Oracle 10g Administration I Study Guide (1Z0-042),

Dawes, B. Bryla, J.C. Johnson, M. Weishan. Sybex, 2005.

c (IsitCom)
3 / 149 Khaled Jouini

Administration des bases de donnes

Ch.

2012-2013

3 / 149

Introduction gnrale

Chapitre 1 - Introduction gnrale


Prsentation d'Oracle
Serveur de BD Oracle
Rles du DBA
Principaux outils d'administration
Plan du cours

c (IsitCom)
4 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

4 / 149

Introduction gnrale

Prsentation d'Oracle

Chapitre 1 - Introduction gnrale


Prsentation d'Oracle
Serveur de BD Oracle
Rles du DBA
Principaux outils d'administration
Plan du cours

c (IsitCom)
4 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

4 / 149

Introduction gnrale

Prsentation d'Oracle

Prsentation d'Oracle
Oracle : leader mondial des SGBDRs, avec une part de march de
48,6% (Gartner Group)
Commercialise dirents produits : Oracle DataBase, Oracle
Developer Suite, Oracle Application Server, etc.
Oracle DataBase : Serveur de base de donnes produit principal
d'Oracle pass de la version 1 (1977) la version 11g (2010).

c (IsitCom)
4 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

4 / 149

Introduction gnrale

Serveur de BD Oracle

Chapitre 1 - Introduction gnrale


Prsentation d'Oracle
Serveur de BD Oracle
Rles du DBA
Principaux outils d'administration
Plan du cours

c (IsitCom)
5 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

5 / 149

Introduction gnrale

Serveur de BD Oracle

Oracle DataBase
Commercialisation selon trois gammes : personnelle, standard et entreprise.
Edition Personnelle (Personal Edition)
Monolicence
Destine aux dveloppeurs

Edition Standard (Standard Edition)


Comporte toutes les fonctionnalits de base pour mettre en oeuvre une
architecture client/serveur
Destine des serveurs avec une capacit maximale de 4 processeurs (2
pour l'dition standard One)

c (IsitCom)
5 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

5 / 149

Introduction gnrale

Serveur de BD Oracle

Oracle DataBase
Edition Entreprise (Entreprise Edition)
Fonctionnalits supplmentaires pour l'amlioration de la disponibilit,
scurit, administration, etc.
Real Application Clusters (RAC): serveurs en cluster (BDs rparties)
Oracle Partitioning : partitionnement des tables et des index
Advanced Security Option : cryptage (essentiellement)
Oracle Tuning Pack : outil d'aide l'optimisation des performances
Oracle Olap and datamining : outils d'aide la mise en place de
systmes dcisionnels
etc.

c (IsitCom)
6 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

6 / 149

Introduction gnrale

Serveur de BD Oracle

Architecture d'un serveur de BD Oracle


Principales composantes d'un serveur de BD Oracle
1

La base de donnes

Ensemble de chiers contenant, entre autres, les donnes, les


informations sur les donnes (le dictionnaire de donnes) et les
journaux de modication sur les donnes (chiers log)

L'instance

Ensemble de processus et de zones en mmoire vive permettant la


gestion de la base de donnes. Une BD n'est disponible pour
utilisation que si elle est associ une instance

c (IsitCom)
7 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

7 / 149

Introduction gnrale

Serveur de BD Oracle

Architecture d'un serveur de BD Oracle

c (IsitCom)
8 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

8 / 149

Introduction gnrale

Serveur de BD Oracle

Catgories de BD
BDs transactionnelles (OLTP

: On Line Transaction Processing)

Forte activit de mises jour (insert/delete/update) sous forme de


transactions courtes
Nombre important d'utilisateurs concurrents
Exigence de temps de rponse court

BDs dcisionnelles (OLAP

: Online analytical processing)

Systme d'aide la dcision


Mises--jour oine par lot, priodique
Forte activit d'interrogation (select)

c (IsitCom)
9 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

9 / 149

Introduction gnrale

Rles du DBA

Chapitre 1 - Introduction gnrale


Prsentation d'Oracle
Serveur de BD Oracle
Rles du DBA
Principaux outils d'administration
Plan du cours

c (IsitCom)
10 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

10 / 149

Introduction gnrale

Rles du DBA

Rles du DBA
1 Installation et conguration du SGBD et des applications clientes (rle

technique)

2 Planication et cration des bases de donnes


3 Gestion de l'espace de stockage
4 Gestion des comptes des utilisateurs et des droits d'accs
5 Dploiement les procdures de sauvegarde et de rcupration pour

protger la base de donnes

6 Optimisation des performances d'accs aux donnes.


7 Gestion des aspects rseau

c (IsitCom)
10 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

10 / 149

Introduction gnrale

Principaux outils d'administration

Chapitre 1 - Introduction gnrale


Prsentation d'Oracle
Serveur de BD Oracle
Rles du DBA
Principaux outils d'administration
Plan du cours

c (IsitCom)
11 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

11 / 149

Introduction gnrale

Principaux outils d'administration

Principaux outils d'administration


Oracle Universal Installer :

outils Oracle

interface graphique pour l'installation des

Oracle DataBase Conguration Assistant :

assistant pour la cration


et la conguration d'une base de donnes partir d'un modle par dfaut
(OLTP, OLAP ou mixte)

DataBase Upgrade Assistant :

version une autre

Net Conguration Assistant :


en rseau

assistant pour migration du serveur d'une


assistant pour la conguration des accs

Oracle Entreprise Manager :

interface graphique permettant d'eectuer


les tches d'administration et de maintenance

SQL*Plus :

application cliente du serveur de BD. Il s'agit d'un


interprteur de commandes SQL
c (IsitCom)
11 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

11 / 149

Introduction gnrale

Plan du cours

Chapitre 1 - Introduction gnrale


Prsentation d'Oracle
Serveur de BD Oracle
Rles du DBA
Principaux outils d'administration
Plan du cours

c (IsitCom)
12 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

12 / 149

Introduction gnrale

Plan du cours

Introduction gnrale

Concepts de base sur le stockage de donnes

Serveur de base de donnes Oracle

Gestion des utilisateurs

Cration manuelle d'une BD et conguration du rseau

c (IsitCom)
12 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

12 / 149

Concepts de base sur le stockage de donnes

Chapitre 2 - Concepts de base sur le stockage de


donnes
Introduction
I. Structures physiques de stockage
1. Fonctionnement d'un disque
2. Optimisation
3. Fichiers et enregistrements

II. Structures logiques de stockage sous Oracle


1.
2.
3.
4.
5.

Bloc Oracle
Extension
Segment
Tablespace
Gestion des tablespaces

c (IsitCom)
13 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

13 / 149

Concepts de base sur le stockage de donnes

Introduction

Chapitre 2 - Concepts de base sur le stockage de


donnes
Introduction
I. Structures physiques de stockage
1. Fonctionnement d'un disque
2. Optimisation
3. Fichiers et enregistrements

II. Structures logiques de stockage sous Oracle


1.
2.
3.
4.
5.

Bloc Oracle
Extension
Segment
Tablespace
Gestion des tablespaces

c (IsitCom)
13 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

13 / 149

Concepts de base sur le stockage de donnes

Introduction

Hirarchie des mmoires

Figure: Hirarchie des mmoires


c (IsitCom)
13 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

13 / 149

Concepts de base sur le stockage de donnes

Introduction

Hirarchie des mmoires


Mmoire vive
Espace de travail du processeur : toute donne ou tout programme doit
tre charg en mmoire vive avant d'tre trait par le processeur
Mmoire volatile : perd son contenu lorsque la machine est teinte

Disque dur
Mmoire persistante : ne perd pas son contenu lorsque la machine est
teinte
Grande capacit de stockage par rapport la mmoire vive
Lent : 1 accs au disque dur 1 million d'accs la mmoire vive

c (IsitCom)
14 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

14 / 149

Concepts de base sur le stockage de donnes

Introduction

Objectifs d'un SGBD


Base de donnes :

ensemble de chiers stocks sur disque(s) dur(s)


Raisons du stockage sur disque
1 Souvent : taille de la base > taille mmoire vive
2 Persistance

Lenteur du disque Problmes potentiels de performance

SGBD

Organiser les donnes de manire minimiser le temps d'accs aux


donnes
Orir les outils de paramtrage et de contrle pour exploiter au mieux
les ressources matrielles

Ce chapitre...

1 Structures physiques de stockage


2 Structures logiques de stockage sous Oracle

c (IsitCom)
15 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

15 / 149

Concepts de base sur le stockage de donnes

Introduction

Objectifs d'un SGBD


Base de donnes :

ensemble de chiers stocks sur disque(s) dur(s)


Raisons du stockage sur disque
1 Souvent : taille de la base > taille mmoire vive
2 Persistance

Lenteur du disque Problmes potentiels de performance

SGBD

Organiser les donnes de manire minimiser le temps d'accs aux


donnes
Orir les outils de paramtrage et de contrle pour exploiter au mieux
les ressources matrielles

Ce chapitre...

1 Structures physiques de stockage


2 Structures logiques de stockage sous Oracle

c (IsitCom)
15 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

15 / 149

Concepts de base sur le stockage de donnes

Introduction

Objectifs d'un SGBD


Base de donnes :

ensemble de chiers stocks sur disque(s) dur(s)


Raisons du stockage sur disque
1 Souvent : taille de la base > taille mmoire vive
2 Persistance

Lenteur du disque Problmes potentiels de performance

SGBD

Organiser les donnes de manire minimiser le temps d'accs aux


donnes
Orir les outils de paramtrage et de contrle pour exploiter au mieux
les ressources matrielles

Ce chapitre...

1 Structures physiques de stockage


2 Structures logiques de stockage sous Oracle

c (IsitCom)
15 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

15 / 149

Concepts de base sur le stockage de donnes

Introduction

Objectifs d'un SGBD


Base de donnes :

ensemble de chiers stocks sur disque(s) dur(s)


Raisons du stockage sur disque
1 Souvent : taille de la base > taille mmoire vive
2 Persistance

Lenteur du disque Problmes potentiels de performance

SGBD

Organiser les donnes de manire minimiser le temps d'accs aux


donnes
Orir les outils de paramtrage et de contrle pour exploiter au mieux
les ressources matrielles

Ce chapitre...

1 Structures physiques de stockage


2 Structures logiques de stockage sous Oracle

c (IsitCom)
15 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

15 / 149

Concepts de base sur le stockage de donnes

Introduction

Objectifs d'un SGBD


Base de donnes :

ensemble de chiers stocks sur disque(s) dur(s)


Raisons du stockage sur disque
1 Souvent : taille de la base > taille mmoire vive
2 Persistance

Lenteur du disque Problmes potentiels de performance

SGBD

Organiser les donnes de manire minimiser le temps d'accs aux


donnes
Orir les outils de paramtrage et de contrle pour exploiter au mieux
les ressources matrielles

Ce chapitre...

1 Structures physiques de stockage


2 Structures logiques de stockage sous Oracle

c (IsitCom)
15 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

15 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

Chapitre 2 - Concepts de base sur le stockage de


donnes
Introduction
I. Structures physiques de stockage
1. Fonctionnement d'un disque
2. Optimisation
3. Fichiers et enregistrements

II. Structures logiques de stockage sous Oracle


1.
2.
3.
4.
5.

Bloc Oracle
Extension
Segment
Tablespace
Gestion des tablespaces

c (IsitCom)
16 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

16 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

1. Fonctionnement d'un disque - a. Dispositif


Disque dur

Ensemble de plateaux
tournant vitesse constante
autour d'un axe

+
ttes de L/E se dplaant

perpendiculairement l'axe
Plateau : compos de pistes
concentriques
Piste : divise en blocs
contenant les donnes

Contrleur : reoit les

demandes de L/E et les


transforme en mouvements
appropris des ttes de lecture

c (IsitCom)
16 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

16 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

1. Fonctionnement d'un disque - b. Bloc


Bloc
Unit d'change entre la mmoire vive et le disque
Taille typique : 512 octets

Accs un bloc
Par son adresse :

numro du plateau + numro de la piste + numro


du bloc sur la piste

Temps de lecture
1

Dlai de positionnement : positionnement de la tte de lecture sur la

piste contenant le bloc


2 Temps de latence : rotation du disque pour attendre que le bloc
passe sous la tte de lecture
3 Temps de transfert (ngligeable) : transfert du bloc vers la mmoire
vive
c (IsitCom)
17 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

17 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - a. Proximit
Dnition (Proximit)
Mettre dans un nombre minimal de blocs les donnes qui sont
frquemment utilises en mme temps
Ex. les clients d'une mme ville
Permet de rduire le

c (IsitCom)
18 / 149 Khaled Jouini

nombre de blocs transfrs en mmoire vive

Administration des bases de donnes

2012-2013

18 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - a. Proximit
Dnition (Proximit)
Mettre dans un nombre minimal de blocs les donnes qui sont
frquemment utilises en mme temps
Ex. les clients d'une mme ville
Permet de rduire le

c (IsitCom)
18 / 149 Khaled Jouini

nombre de blocs transfrs en mmoire vive

Administration des bases de donnes

2012-2013

18 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - b. Regroupement
Dnition (Regroupement)
Mettre dans des blocs conscutifs les donnes qui ont de grandes chances
d'tre utilises en mme temps
Ex. les tuples d'une mme relation
Permet de rduire le dlai
le temps de latence
Proximit et regroupement

c (IsitCom)
19 / 149 Khaled Jouini

de positionnement de la tte de lecture et


principe de localit spatiale

Administration des bases de donnes

2012-2013

19 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - b. Regroupement
Dnition (Regroupement)
Mettre dans des blocs conscutifs les donnes qui ont de grandes chances
d'tre utilises en mme temps
Ex. les tuples d'une mme relation
Permet de rduire le dlai
le temps de latence
Proximit et regroupement

c (IsitCom)
19 / 149 Khaled Jouini

de positionnement de la tte de lecture et


principe de localit spatiale

Administration des bases de donnes

2012-2013

19 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - b. Regroupement
Dnition (Regroupement)
Mettre dans des blocs conscutifs les donnes qui ont de grandes chances
d'tre utilises en mme temps
Ex. les tuples d'une mme relation
Permet de rduire le dlai
le temps de latence
Proximit et regroupement

c (IsitCom)
19 / 149 Khaled Jouini

de positionnement de la tte de lecture et


principe de localit spatiale

Administration des bases de donnes

2012-2013

19 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

Exercice
Un SGBD doit lire 5 chanes de caractres de 1000 octets chacune.
Caractristiques du disque : Taille de bloc : 4096 octets, Dlai de
positionnement : 6 ms, Temps de latence moyen : 3 ms, Temps de transfert
: 1 ms
Temps ncessaire pour lire les chanes en supposant tour tour que :

a Les chanes se trouvent dans des blocs dirents rpartis alatoirement sur le
disque

b les chanes se trouvent dans des blocs dirents se trouvant les uns cot
des autres sur une mme piste

c les chanes se trouvent cot les unes des autres dans des blocs conscutifs.

c (IsitCom)
20 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

20 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - c. Tampon mmoire (Buer)


Dnition (Tampon mmoire)
Zone en mmoire vive destine garder des copies d'une partie des blocs se
trouvant sur le disque
Chaque fois qu'un bloc est lu, une copie en est garde dans le tampon
pour que l'on puisse l'utiliser ultrieurement
Accs un bloc : vrier d'abord s'il ne se trouve pas dj en mmoire
vive avant de le lire depuis le disque
principe de localit temporelle
Taille du tampon : paramtrable dans la plupart des SGBD

c (IsitCom)
21 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

21 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - c. Tampon mmoire (Buer)


Dnition (Tampon mmoire)
Zone en mmoire vive destine garder des copies d'une partie des blocs se
trouvant sur le disque
Chaque fois qu'un bloc est lu, une copie en est garde dans le tampon
pour que l'on puisse l'utiliser ultrieurement
Accs un bloc : vrier d'abord s'il ne se trouve pas dj en mmoire
vive avant de le lire depuis le disque
principe de localit temporelle
Taille du tampon : paramtrable dans la plupart des SGBD

c (IsitCom)
21 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

21 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - c. Tampon mmoire (Buer)


Dnition (Tampon mmoire)
Zone en mmoire vive destine garder des copies d'une partie des blocs se
trouvant sur le disque
Chaque fois qu'un bloc est lu, une copie en est garde dans le tampon
pour que l'on puisse l'utiliser ultrieurement
Accs un bloc : vrier d'abord s'il ne se trouve pas dj en mmoire
vive avant de le lire depuis le disque
principe de localit temporelle
Taille du tampon : paramtrable dans la plupart des SGBD

c (IsitCom)
21 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

21 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - c. Tampon mmoire (Buer)


Tampon satur : plusieurs stratgies

LRU (Least Recently Used ) :

le moins rcemment lu

le bloc le plus rcemment lu, remplace

Touch Count : le bloc le plus rcemment lu remplace celui qui


totalise le moins d'utilisations
Exemple
Taille tampon : 3 blocs
Utilisation des blocs : t1 Ba , t2 Bb , t3 Bb , t4 Bc , t5 Ba
et t6 Bd
Quel bloc est remplac t6 ?
Selon LRU : Bb
Selon Touch Count :

c (IsitCom)
22 / 149 Khaled Jouini

Bc

Administration des bases de donnes

2012-2013

22 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - c. Tampon mmoire (Buer)


Tampon satur : plusieurs stratgies

LRU (Least Recently Used ) :

le moins rcemment lu

le bloc le plus rcemment lu, remplace

Touch Count : le bloc le plus rcemment lu remplace celui qui


totalise le moins d'utilisations
Exemple
Taille tampon : 3 blocs
Utilisation des blocs : t1 Ba , t2 Bb , t3 Bb , t4 Bc , t5 Ba
et t6 Bd
Quel bloc est remplac t6 ?
Selon LRU : Bb
Selon Touch Count :

c (IsitCom)
22 / 149 Khaled Jouini

Bc

Administration des bases de donnes

2012-2013

22 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - c. Tampon mmoire (Buer)


Tampon satur : plusieurs stratgies

LRU (Least Recently Used ) :

le moins rcemment lu

le bloc le plus rcemment lu, remplace

Touch Count : le bloc le plus rcemment lu remplace celui qui


totalise le moins d'utilisations
Exemple
Taille tampon : 3 blocs
Utilisation des blocs : t1 Ba , t2 Bb , t3 Bb , t4 Bc , t5 Ba
et t6 Bd
Quel bloc est remplac t6 ?
Selon LRU : Bb
Selon Touch Count :

c (IsitCom)
22 / 149 Khaled Jouini

Bc

Administration des bases de donnes

2012-2013

22 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - c. Tampon mmoire (Buer)


Tampon satur : plusieurs stratgies

LRU (Least Recently Used ) :

le moins rcemment lu

le bloc le plus rcemment lu, remplace

Touch Count : le bloc le plus rcemment lu remplace celui qui


totalise le moins d'utilisations
Exemple
Taille tampon : 3 blocs
Utilisation des blocs : t1 Ba , t2 Bb , t3 Bb , t4 Bc , t5 Ba
et t6 Bd
Quel bloc est remplac t6 ?
Selon LRU : Bb
Selon Touch Count :

c (IsitCom)
22 / 149 Khaled Jouini

Bc

Administration des bases de donnes

2012-2013

22 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

3. Fichiers et enregistrements
Le stockage des donnes sur disque : organis au moyen de

chiers

Fichier
Occupe un ou plusieurs blocs pouvant tre disperss sur le disque
Compos d'un ensemble d'enregistrements (records)

Enregistrement : stocke physiquement un objet du SGBD


Exemples :
Fichier de donnes : un enregistrement stocke la valeur d'un tuple
Fichier log : un enregistrement stocke une action fate sur un tuple

c (IsitCom)
23 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

23 / 149

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

3. Fichiers et enregistrements
Le stockage des donnes sur disque : organis au moyen de

chiers

Fichier
Occupe un ou plusieurs blocs pouvant tre disperss sur le disque
Compos d'un ensemble d'enregistrements (records)

Enregistrement : stocke physiquement un objet du SGBD


Exemples :
Fichier de donnes : un enregistrement stocke la valeur d'un tuple
Fichier log : un enregistrement stocke une action fate sur un tuple

c (IsitCom)
23 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

23 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

Chapitre 2 - Concepts de base sur le stockage de


donnes
Introduction
I. Structures physiques de stockage
1. Fonctionnement d'un disque
2. Optimisation
3. Fichiers et enregistrements

II. Structures logiques de stockage sous Oracle


1.
2.
3.
4.
5.

Bloc Oracle
Extension
Segment
Tablespace
Gestion des tablespaces

c (IsitCom)
24 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

24 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - a. Dnition


Bloc Oracle (Block)
Plus petite unit de stockage et de transfert de donnes utilise par
Oracle
De taille paramtrable : correspond un multiple de blocs disque

Intrt : Rduire le nombre d'accs aux disque(s) en transmettant


plus d'informations la fois chaque accs

Cependant, une taille de bloc "trop" grande : risque de saturer


rapidement le tampon mmoire avec des donnes inutiles
La "bonne" taille dpend de l'application

Paramtre DB_BLOCK_SIZE
Pour consulter la taille d'un bloc Oracle partir de SQL*PLUS :
SQL> show parameter DB_BLOCK_SIZE
c (IsitCom)
24 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

24 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - a. Dnition


Bloc Oracle (Block)
Plus petite unit de stockage et de transfert de donnes utilise par
Oracle
De taille paramtrable : correspond un multiple de blocs disque

Intrt : Rduire le nombre d'accs aux disque(s) en transmettant


plus d'informations la fois chaque accs

Cependant, une taille de bloc "trop" grande : risque de saturer


rapidement le tampon mmoire avec des donnes inutiles
La "bonne" taille dpend de l'application

Paramtre DB_BLOCK_SIZE
Pour consulter la taille d'un bloc Oracle partir de SQL*PLUS :
SQL> show parameter DB_BLOCK_SIZE
c (IsitCom)
24 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

24 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - a. Dnition


Bloc Oracle (Block)
Plus petite unit de stockage et de transfert de donnes utilise par
Oracle
De taille paramtrable : correspond un multiple de blocs disque

Intrt : Rduire le nombre d'accs aux disque(s) en transmettant


plus d'informations la fois chaque accs

Cependant, une taille de bloc "trop" grande : risque de saturer


rapidement le tampon mmoire avec des donnes inutiles
La "bonne" taille dpend de l'application

Paramtre DB_BLOCK_SIZE
Pour consulter la taille d'un bloc Oracle partir de SQL*PLUS :
SQL> show parameter DB_BLOCK_SIZE
c (IsitCom)
24 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

24 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - a. Dnition


Bloc Oracle (Block)
Plus petite unit de stockage et de transfert de donnes utilise par
Oracle
De taille paramtrable : correspond un multiple de blocs disque

Intrt : Rduire le nombre d'accs aux disque(s) en transmettant


plus d'informations la fois chaque accs

Cependant, une taille de bloc "trop" grande : risque de saturer


rapidement le tampon mmoire avec des donnes inutiles
La "bonne" taille dpend de l'application

Paramtre DB_BLOCK_SIZE
Pour consulter la taille d'un bloc Oracle partir de SQL*PLUS :
SQL> show parameter DB_BLOCK_SIZE
c (IsitCom)
24 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

24 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - b. Structure


Structure d'un bloc Oracle, essentiellement :
1 Entte : contient l'adresse du bloc
2 Rpertoire des tables : liste des tables des donnes stockes
3 Rpertoire des enregistrements : adresse des enregistrements stocks
4 Espace libre
5 Espace des donnes : contient les enregistrements

c (IsitCom)
25 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

25 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Problme :

Mise--jour (UPDATE) augmentant la taille d'un tuple dans


un bloc satur
1 Conduit au dplacement d'une partie ou de tout un enregistrement

dans un autre bloc

Chanage

2 Chanage : opration coteuse en terme de temps d'excution, surtout

si rpte pour chaque m--j + dgradation du temps ncessaire pour


lire les tuples chans

Solution :

rserver un espace dans un bloc pour permettre l'augmentation


de la taille des enregistrements due aux m--j

c (IsitCom)
26 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

26 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Problme :

Mise--jour (UPDATE) augmentant la taille d'un tuple dans


un bloc satur
1 Conduit au dplacement d'une partie ou de tout un enregistrement

dans un autre bloc

Chanage

2 Chanage : opration coteuse en terme de temps d'excution, surtout

si rpte pour chaque m--j + dgradation du temps ncessaire pour


lire les tuples chans

Solution :

rserver un espace dans un bloc pour permettre l'augmentation


de la taille des enregistrements due aux m--j

c (IsitCom)
26 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

26 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Problme :

Mise--jour (UPDATE) augmentant la taille d'un tuple dans


un bloc satur
1 Conduit au dplacement d'une partie ou de tout un enregistrement

dans un autre bloc

Chanage

2 Chanage : opration coteuse en terme de temps d'excution, surtout

si rpte pour chaque m--j + dgradation du temps ncessaire pour


lire les tuples chans

Solution :

rserver un espace dans un bloc pour permettre l'augmentation


de la taille des enregistrements due aux m--j

c (IsitCom)
26 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

26 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Problme :

Mise--jour (UPDATE) augmentant la taille d'un tuple dans


un bloc satur
1 Conduit au dplacement d'une partie ou de tout un enregistrement

dans un autre bloc

Chanage

2 Chanage : opration coteuse en terme de temps d'excution, surtout

si rpte pour chaque m--j + dgradation du temps ncessaire pour


lire les tuples chans

Solution :

rserver un espace dans un bloc pour permettre l'augmentation


de la taille des enregistrements due aux m--j

c (IsitCom)
26 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

26 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Deux paramtres PCTFREE et PCTUSED spcis lors de la cration d'une
table

PCTFREE (PerCenT FREE)


Pourcentage minimum d'espace libre rserv pour permettre
l'accroissement de la taille des enregistrements d aux mises jour
Si taux de remplissage >= 100-PCTFREE bloc plein : mises--jour
et suppressions autorises, insertions interdites

PCTFREE=

Taille moyenne d 0 un tuple Taille initiale d 0 un tuple


100
Taille moyenne d 0 un tuple

Par dfaut 10%


c (IsitCom)
27 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

27 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Deux paramtres PCTFREE et PCTUSED spcis lors de la cration d'une
table

PCTFREE (PerCenT FREE)


Pourcentage minimum d'espace libre rserv pour permettre
l'accroissement de la taille des enregistrements d aux mises jour
Si taux de remplissage >= 100-PCTFREE bloc plein : mises--jour
et suppressions autorises, insertions interdites

PCTFREE=

Taille moyenne d 0 un tuple Taille initiale d 0 un tuple


100
Taille moyenne d 0 un tuple

Par dfaut 10%


c (IsitCom)
27 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

27 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


PCTUSED (PerCenT USED)
Pourcentage minimum d'espace devant tre occup par les
enregistrements
Si taux de remplissage <= PCTUSED bloc disponible : les insertions
peuvent y reprendre
Par dfaut 40%

? Quel intrt considrer PCTUSED et non 100-PCTFREE, pour reprendre


les insertions

La gestion des blocs disponibles/indisponibles est moins intensive

c (IsitCom)
28 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

28 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


PCTUSED (PerCenT USED)
Pourcentage minimum d'espace devant tre occup par les
enregistrements
Si taux de remplissage <= PCTUSED bloc disponible : les insertions
peuvent y reprendre
Par dfaut 40%

? Quel intrt considrer PCTUSED et non 100-PCTFREE, pour reprendre


les insertions

La gestion des blocs disponibles/indisponibles est moins intensive

c (IsitCom)
28 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

28 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


PCTUSED (PerCenT USED)
Pourcentage minimum d'espace devant tre occup par les
enregistrements
Si taux de remplissage <= PCTUSED bloc disponible : les insertions
peuvent y reprendre
Par dfaut 40%

? Quel intrt considrer PCTUSED et non 100-PCTFREE, pour reprendre


les insertions

La gestion des blocs disponibles/indisponibles est moins intensive

c (IsitCom)
28 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

28 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Exemple 1
CREATE TABLE Produit (pnom VARCHAR(20), prix INTEGER) PCTFREE 30,
PCTUSED 40;
1 Les insertions sont autorises jusqu' ce que le bloc soit plein 70%
2 Lorsque le bloc est plein 70

1 Les insertions sont interdites dans le bloc ;


2 Suppressions et modications sont autorises ;
3 Les insertions sont nouveau autorises si le taux de remplissage

devient infrieur 40%

Au pire, quel pourcentage du bloc reste inutilis? 60% (=100-PCTUSED)

c (IsitCom)
29 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

29 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Exemple 1
CREATE TABLE Produit (pnom VARCHAR(20), prix INTEGER) PCTFREE 30,
PCTUSED 40;
1 Les insertions sont autorises jusqu' ce que le bloc soit plein 70%
2 Lorsque le bloc est plein 70

1 Les insertions sont interdites dans le bloc ;


2 Suppressions et modications sont autorises ;
3 Les insertions sont nouveau autorises si le taux de remplissage

devient infrieur 40%

Au pire, quel pourcentage du bloc reste inutilis? 60% (=100-PCTUSED)

c (IsitCom)
29 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

29 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Exemple 1
CREATE TABLE Produit (pnom VARCHAR(20), prix INTEGER) PCTFREE 30,
PCTUSED 40;
1 Les insertions sont autorises jusqu' ce que le bloc soit plein 70%
2 Lorsque le bloc est plein 70

1 Les insertions sont interdites dans le bloc ;


2 Suppressions et modications sont autorises ;
3 Les insertions sont nouveau autorises si le taux de remplissage

devient infrieur 40%

Au pire, quel pourcentage du bloc reste inutilis? 60% (=100-PCTUSED)

c (IsitCom)
29 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

29 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Exemple 1
CREATE TABLE Produit (pnom VARCHAR(20), prix INTEGER) PCTFREE 30,
PCTUSED 40;
1 Les insertions sont autorises jusqu' ce que le bloc soit plein 70%
2 Lorsque le bloc est plein 70

1 Les insertions sont interdites dans le bloc ;


2 Suppressions et modications sont autorises ;
3 Les insertions sont nouveau autorises si le taux de remplissage

devient infrieur 40%

Au pire, quel pourcentage du bloc reste inutilis? 60% (=100-PCTUSED)

c (IsitCom)
29 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

29 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Exemple 1
CREATE TABLE Produit (pnom VARCHAR(20), prix INTEGER) PCTFREE 30,
PCTUSED 40;
1 Les insertions sont autorises jusqu' ce que le bloc soit plein 70%
2 Lorsque le bloc est plein 70

1 Les insertions sont interdites dans le bloc ;


2 Suppressions et modications sont autorises ;
3 Les insertions sont nouveau autorises si le taux de remplissage

devient infrieur 40%

Au pire, quel pourcentage du bloc reste inutilis? 60% (=100-PCTUSED)

c (IsitCom)
29 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

29 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Exemple 1
CREATE TABLE Produit (pnom VARCHAR(20), prix INTEGER) PCTFREE 30,
PCTUSED 40;
1 Les insertions sont autorises jusqu' ce que le bloc soit plein 70%
2 Lorsque le bloc est plein 70

1 Les insertions sont interdites dans le bloc ;


2 Suppressions et modications sont autorises ;
3 Les insertions sont nouveau autorises si le taux de remplissage

devient infrieur 40%

Au pire, quel pourcentage du bloc reste inutilis? 60% (=100-PCTUSED)

c (IsitCom)
29 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

29 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Exemple 1
CREATE TABLE Produit (pnom VARCHAR(20), prix INTEGER) PCTFREE 30,
PCTUSED 40;
1 Les insertions sont autorises jusqu' ce que le bloc soit plein 70%
2 Lorsque le bloc est plein 70

1 Les insertions sont interdites dans le bloc ;


2 Suppressions et modications sont autorises ;
3 Les insertions sont nouveau autorises si le taux de remplissage

devient infrieur 40%

Au pire, quel pourcentage du bloc reste inutilis? 60% (=100-PCTUSED)

c (IsitCom)
29 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

29 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Exemple 1
CREATE TABLE Produit (pnom VARCHAR(20), prix INTEGER) PCTFREE 30,
PCTUSED 40;
1 Les insertions sont autorises jusqu' ce que le bloc soit plein 70%
2 Lorsque le bloc est plein 70

1 Les insertions sont interdites dans le bloc ;


2 Suppressions et modications sont autorises ;
3 Les insertions sont nouveau autorises si le taux de remplissage

devient infrieur 40%

Au pire, quel pourcentage du bloc reste inutilis? 60% (=100-PCTUSED)

c (IsitCom)
29 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

29 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Exemple 2
Considrons une table o :
1 Les insertions (INSERT), les suppressions (DELETE) et les m--j

(UPDATE) sont frquentes;

2 Les mises jour n'augmentent pas la taille des tuples

signicativement;

3 La table est volumineuse et conomiser l'espace de stockage est

primordial

Quelles valeurs choisir pour PCTFREE et PCTUSED?


Pas besoin de rserver beaucoup d'espace pour les m--j : petite
valeur pour PCTFREE (Ex. 5)

Rcuprer rapidement les espaces librs par les DELETE : grande


valeur pour PCTUSED (Ex. 60)
c (IsitCom)
30 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

30 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Exemple 2
Considrons une table o :
1 Les insertions (INSERT), les suppressions (DELETE) et les m--j

(UPDATE) sont frquentes;

2 Les mises jour n'augmentent pas la taille des tuples

signicativement;

3 La table est volumineuse et conomiser l'espace de stockage est

primordial

Quelles valeurs choisir pour PCTFREE et PCTUSED?


Pas besoin de rserver beaucoup d'espace pour les m--j : petite
valeur pour PCTFREE (Ex. 5)

Rcuprer rapidement les espaces librs par les DELETE : grande


valeur pour PCTUSED (Ex. 60)
c (IsitCom)
30 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

30 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Modication de PCTFREE et de PCTUSED
ALTER TABLE

table _name

PCTFREE

int ;

ALTER TABLE PRODUIT PCTFREE 20;

ALTER TABLE

table _name

PCTUSED

int ;

ALTER TABLE PRODUIT PCTUSED 50;

c (IsitCom)
31 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

31 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

2. Extension
Extension (Extent)
Ensemble de blocs Oracle
donnes

contigus stockant un mme type de

Ex. des tuples d'une mme relation

Objectif : amliorer le regroupement et donc rduire le temps de


ncessaire pour lire des donnes d'un mme type

c (IsitCom)
32 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

32 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

2. Extension
Extension (Extent)
Ensemble de blocs Oracle
donnes

contigus stockant un mme type de

Ex. des tuples d'une mme relation

Objectif : amliorer le regroupement et donc rduire le temps de


ncessaire pour lire des donnes d'un mme type

c (IsitCom)
32 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

32 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

3. Segment - a. Dnition
Segment (Segment)
Ensemble de toutes les extensions stockant les donnes d'un mme
type
Il existe quatre types de segment

Segment de table : espace occup par les tuples d'une table


Segment d'index : espace occup par un index
Segment d'annulation : espace occup par les images des donnes
avant que celles-ci ne soient modies

Segment temporaire : espace temporaire o sont stockes les

donnes temporaires utilises lors d'un tri, d'une jointure, etc.

Les segments sont groups dans des


c (IsitCom)
33 / 149 Khaled Jouini

tablespaces

Administration des bases de donnes

2012-2013

33 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

3. Segment - b. Segment d'annulation


Problme :

Ncessit d'annuler des actions sur les donnes, suite une


panne ou autre

Exemple :

virement bancaire de 100DT d'un compte A un compte B

2 actions : dbiter A de 100 et crditer B de 100


A est dbit, mais une panne empche B d'tre crdit

la mise--jour de A doit tre annule!!


il est ncessaire de garder une

image de A avant sa mise--jour

il est ncessaire de savoir avec quelles autres actions la mise--jour de


A forme une squence d'oprations indivisible (=transaction)

c (IsitCom)
34 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

34 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

3. Segment - b. Segment d'annulation


Problme :

Ncessit d'annuler des actions sur les donnes, suite une


panne ou autre

Exemple :

virement bancaire de 100DT d'un compte A un compte B

2 actions : dbiter A de 100 et crditer B de 100


A est dbit, mais une panne empche B d'tre crdit

la mise--jour de A doit tre annule!!


il est ncessaire de garder une

image de A avant sa mise--jour

il est ncessaire de savoir avec quelles autres actions la mise--jour de


A forme une squence d'oprations indivisible (=transaction)

c (IsitCom)
34 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

34 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

3. Segment - b. Segment d'annulation


Problme :

Ncessit d'annuler des actions sur les donnes, suite une


panne ou autre

Exemple :

virement bancaire de 100DT d'un compte A un compte B

2 actions : dbiter A de 100 et crditer B de 100


A est dbit, mais une panne empche B d'tre crdit

la mise--jour de A doit tre annule!!


il est ncessaire de garder une

image de A avant sa mise--jour

il est ncessaire de savoir avec quelles autres actions la mise--jour de


A forme une squence d'oprations indivisible (=transaction)

c (IsitCom)
34 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

34 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

3. Segment - b. Segment d'annulation


Transaction
Action ou squence d'actions d'un utilisateur ou d'une application qui
doivent tre excutes, soit toutes, soit aucune
Commence par un BEGIN TRANSACTION et se termine par un COMMIT
(validation) ou un ROLLBACK (annulation)
Enchanement type
1 Transaction lance (BEGIN

TRANSACTION)

2 Les nouvelles images des donnes modies sont stockes dans le

segment de table et les anciennes dans le segment d'annulation

ROLLBACK, l'ancienne image remplace la nouvelle dans le


segment de table

3 En cas de

Vue V$TRANSACTION : les transactions utilisant le segment d'annulation


c (IsitCom)
35 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

35 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

3. Segment - b. Segment d'annulation


Transaction
Action ou squence d'actions d'un utilisateur ou d'une application qui
doivent tre excutes, soit toutes, soit aucune
Commence par un BEGIN TRANSACTION et se termine par un COMMIT
(validation) ou un ROLLBACK (annulation)
Enchanement type
1 Transaction lance (BEGIN

TRANSACTION)

2 Les nouvelles images des donnes modies sont stockes dans le

segment de table et les anciennes dans le segment d'annulation

ROLLBACK, l'ancienne image remplace la nouvelle dans le


segment de table

3 En cas de

Vue V$TRANSACTION : les transactions utilisant le segment d'annulation


c (IsitCom)
35 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

35 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

3. Segment - b. Segment d'annulation


Transaction
Action ou squence d'actions d'un utilisateur ou d'une application qui
doivent tre excutes, soit toutes, soit aucune
Commence par un BEGIN TRANSACTION et se termine par un COMMIT
(validation) ou un ROLLBACK (annulation)
Enchanement type
1 Transaction lance (BEGIN

TRANSACTION)

2 Les nouvelles images des donnes modies sont stockes dans le

segment de table et les anciennes dans le segment d'annulation

ROLLBACK, l'ancienne image remplace la nouvelle dans le


segment de table

3 En cas de

Vue V$TRANSACTION : les transactions utilisant le segment d'annulation


c (IsitCom)
35 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

35 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

4. Tablespace
Tablespace
Espace logique permettant d'organiser "logiquement" une base de
donnes, par exemple un tablespace par thme
Contient un ou plusieurs segments (un segment appartient un et un
seul tablespace)
Stock physiquement dans un (au moins) ou plusieurs chiers
Exemple : la BD d'une entreprise gre la facturation et les RH
1 Tablespace Facturation :
Contient les tables (segments) facture, produit, client, ligne_fact, etc.
Stock dans les chiers fact01.dbf et fact02.dbf
2 Tablespace RH :
Contient les tables (segments) Employ, Paie, Absence, etc.
Stock dans les chiers rh01.dbf et rh02.dbf
c (IsitCom)
36 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

36 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

4. Tablespace
Tablespace
Espace logique permettant d'organiser "logiquement" une base de
donnes, par exemple un tablespace par thme
Contient un ou plusieurs segments (un segment appartient un et un
seul tablespace)
Stock physiquement dans un (au moins) ou plusieurs chiers
Exemple : la BD d'une entreprise gre la facturation et les RH
1 Tablespace Facturation :
Contient les tables (segments) facture, produit, client, ligne_fact, etc.
Stock dans les chiers fact01.dbf et fact02.dbf
2 Tablespace RH :
Contient les tables (segments) Employ, Paie, Absence, etc.
Stock dans les chiers rh01.dbf et rh02.dbf
c (IsitCom)
36 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

36 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

4. Tablespace
Tablespace

c (IsitCom)
37 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

37 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

4. Tablespace
Une BD Oracle contient au minimum deux tablespaces crs en mme
temps que la BD : SYSTEM et SYSAUX (depuis la version 10)
Tablespace SYSAUX : contient les objets crs par les produits Oracle
Tablespace SYSTEM :
Contient le dictionnaire de donnes, y compris les programmes stocks
Contient le segment d'annulation SYSTEM
Ne doit pas contenir les donnes des utilisateurs (bien que a soit
possible)

Ncessit de crer d'autres tablespaces

c (IsitCom)
38 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

38 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

4. Tablespace
En pratique, il est fortement recommand de crer :
Un tablespace UNDO (pour les segments d'annulation) :
CREATE UNDO TABLESPACE...
Un tablespace temporaire (pour les segments temporaires) :
CREATE TEMPORARY TABLESPACE...
Au moins un tablespace permanent (de donnes) pour viter de
mettre les donnes utilisateurs dans SYSTEM :
CREATE TABLESPACE...

En gnral, sparer les segments


1 Selon leur type : annulation, temporaire, d'index ou de table
2 Segments de table (de donnes) : selon les besoins de sauvegarde et de

maintenance

c (IsitCom)
39 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

39 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

En rsum...
Un tablespace ne peut
appartenir qu' une seule base
de donnes la fois.
Un segment ne peut pas tre
rparti sur plusieurs tablespaces,
mais peut s'tendre plusieurs
chiers de donnes d'un mme
tablespace.
Un extent ne peut appartenir
qu' un seul chier.

Figure:
stockage [

Structures logiques et physiques de

Oracle r Concepts.

11g Release 2 (11.2).

E10713-05 Fv. 2010]

c (IsitCom)
40 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

40 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - a. Cration


> Spcication du type du (des) chier(s) stockant le tablespace
CREATE [SMALLFILE|BIGFILE] TABLESPACE nom_tablespace
> Spcication des chiers stockant le tablespace
DATAFILE fich1 [REUSE] SIZE int [K|M|G|T] [AUTOEXTEND [ON|OFF][NEXT int
[K|M|G|T] [MAXSIZE UNLIMITED|int [K|M|G|T]]]]
[,fich2 [REUSE] SIZE int [K|M|G|T] [AUTOEXTEND [ON|OFF][NEXT int [K|M|G|T]
[MAXSIZE UNLIMITED|int [K|M|G|T]]]]

> Mode de gestion des extensions


[EXTENT MANAGEMENT LOCAL [AUTOALLOCATE | UNIFORM[SIZE int]]]
> Mode de gestion des segments
[SEGMENT SPACE MANAGEMENT [AUTO|MANUAL]]
> Journalisation des oprations
[LOGGING|NOLOGGING]
> Taille des blocs du tablespace
[BLOCKSIZE int ]
> Accessibilit immdiate ou non du tablespace aprs la cration
[ONLINE|OFFLINE]

c (IsitCom)
41 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

41 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - a. Cration


> Spcication du type du (des) chier(s) stockant le tablespace
CREATE [SMALLFILE|BIGFILE] TABLESPACE nom_tablespace

SMALLFILE : valeur par dfaut


Le tablespace peut contenir plusieurs (6 1022) "petits" chiers (taille
6 4 millions de blocs Oracle)

Avantages : striping et redimensionnement possible par ajout de


nouveaux chiers

BIGFILE ( partir de la version 10)


Un seul "gros" chier (taille 6 4 milliards de blocs Oracle)
Possible uniquement pour les tablespaces grs localement
Utile si le gestionnaire de volumes logiques utilise le striping
Simplie la gestion
c (IsitCom)
42 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

42 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - a. Cration


> Spcication des chiers stockant le tablespace
DATAFILE fich1 SIZE int [K|M] [AUTOEXTEND [ON|OFF][NEXT int [K|M]
[MAXSIZE UNLIMITED|int [K|M]]]]
[,fich2 SIZE int [K|M] [AUTOEXTEND [ON|OFF][NEXT int [K|M] [MAXSIZE
UNLIMITED|int [K|M]]]]]

AUTOEXTEND : augmentation automatique de la taille d'un chier


NEXT : taille de l'espace supplmentaire allou au chier chaque fois
que sa taille est augment
MAXSIZE : taille maximale du chier

c (IsitCom)
43 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

43 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - a. Cration


> Spcication des chiers stockant le tablespace

Exemples
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M;
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
AUTOEXTEND ON NEXT 5M;
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED;
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M, 'f_2.dbf' SIZE 40M
AUTOEXTEND ON;

c (IsitCom)
44 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

44 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - a. Cration


> Spcication des chiers stockant le tablespace

Exemples
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M;
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
AUTOEXTEND ON NEXT 5M;
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED;
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M, 'f_2.dbf' SIZE 40M
AUTOEXTEND ON;

c (IsitCom)
44 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

44 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - a. Cration


> Spcication des chiers stockant le tablespace

Exemples
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M;
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
AUTOEXTEND ON NEXT 5M;
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED;
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M, 'f_2.dbf' SIZE 40M
AUTOEXTEND ON;

c (IsitCom)
44 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

44 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - a. Cration


> Spcication des chiers stockant le tablespace

Exemples
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M;
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
AUTOEXTEND ON NEXT 5M;
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED;
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M, 'f_2.dbf' SIZE 40M
AUTOEXTEND ON;

c (IsitCom)
44 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

44 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - a. Cration


> Mode de gestion des extensions

[EXTENT MANAGEMENT LOCAL [AUTOALLOCATE | UNIFORM[SIZE int ]]]

AUTOALLOCATE : dtermination par Oracle de la taille optimale pour


les extensions
UNIFORM : toutes les extensions de tous les segments du tablespace
ont la mme taille (par dfaut 1Mo)

Exemple
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2 M;

c (IsitCom)
45 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

45 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - a. Cration


> Mode de gestion des segments

[SEGMENT SPACE MANAGEMENT [AUTO|MANUAL]]

AUTO : gestion des blocs disponibles pour l'insertion via des Bitmaps
MANUAL : gestion des blocs disponibles pour l'insertion via des FREE
LISTS

Exemple
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20 M
SEGMENT SPACE MANAGEMENT MANUAL;

c (IsitCom)
46 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

46 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - b. Modication


Modication de la taille d'un chier

ALTER DATABASE DATAFILE 'nomFichier' RESIZE int M;

Ajout d'un chier un tablespace


ALTER TABLESPACE nomTablespace ADD DATAFILE 'nomFichier ' SIZE int

[K|M] [AUTOEXTEND [ON|OFF][NEXT int [K|M] [MAXSIZE UNLIMITED|int


[K|M]]]];

Mettre un tablespace hors ligne (inaccessible)


ALTER TABLESPACE nomTablespace OFFLINE;
Mettre un tablespace en ligne (accessible)
ALTER TABLESPACE nomTablespace ONLINE;
Rendre un tablespace accessible en lecture uniquement
ALTER TABLESPACE nomTablespace READ ONLY;
Dsactivation de la journalisation
ALTER TABLESPACE nomTablespace NOLOGGING;
Suppression d'un tablespace et de son contenu
DROP TABLESPACE nomTablespace INCLUDING CONTENTS AND DATAFILES;
c (IsitCom)
47 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

47 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - c. Aectation d'un


segment de table un tablespace
1 Au moment de la cration de la table

Exemple
CREATE TABLE Produit (...)
PCTFREE 10,
PCTUSED 40,
TABLESPACE TS1;
2 Ultrieurement :

ALTER TABLE
Exemple

nomTable

MOVE TABLESPACE

nomTablespace ;

ALTER TABLE Produit MOVE TABLESPACE TS 1;

c (IsitCom)
48 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

48 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - d. Autres types de


tablespaces
Undo Tablespace (Tablespace d'annulation)
A partir de la version 9i : contient tous les segments d'annulation
Intrt :

1 Un seul tablespace UNDO au lieu de plusieurs segments Rollback

disperss sur dirents tablespace.

2 Il peut en exister plusieurs, mais un instant donn un seul est utilis par

le systme

Cration

CREATE UNDO TABLESPACE undoTbs_01


DATAFILE 'undof.dbf' SIZE 2 M AUTOEXTEND ON;
Modication
ALTER SYSTEM SET UNDO_RETENTION = 100; (par dfaut 900
49 / 149

secondes)
c SYSTEM
KhaledALTER
Jouini
(IsitCom) SET
Administration
des bases de donnes
2012-2013
UNDO_TABLESPACE
= undotbs_02;

49 / 149

Concepts de base sur le stockage de donnes

II. Structures logiques de stockage sous Oracle

5. Gestion des tablespaces - d. Autres types de


tablespaces
Temporary Tablespace (Tablespace temporaire)
Compos uniquement par des segments temporaires
Depuis la version 9i il est possible d'utiliser un Tablespace temporaire
pour chaque utilisateur
Cration

CREATE TEMPORARY TABLESPACE temp_01


TEMPFILE 'temp.dbf' SIZE 20 M AUTOEXTEND ON;
Aectation d'un tablespace temporaire aux activits d'un utilisateur

ALTER USER isitcom TEMPORARY TABLESPACE temp_01;


c (IsitCom)
50 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

50 / 149

Serveur de base de donnes Oracle

Chapitre 3 - Serveur de base de donnes Oracle


Vue d'ensemble
I. La base de donnes
1.
2.
3.
4.
5.

Structure de la base
Fichiers de donnes
Fichiers de journalisation
Fichiers de Contrle
Fichier de paramtres

II. Instance
1.
2.
3.
4.
5.

Vue d'ensemble
La SGA
La PGA
Processus d'arrire plan
Processus Serveur

III. Traitement d'un ordre SQL

1. Traitement d'un SELECT


2. Traitement d'un ordre DML (UPDATE/INSERT/DELETE)

IV. Dictionnaire de donnes


1. Rappel
2. Vues statiques
3. Vues dynamiques

V. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage
2. Arrt
c (IsitCom)
51 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

51 / 149

Serveur de base de donnes Oracle

Vue d'ensemble

Chapitre 3 - Serveur de base de donnes Oracle


Vue d'ensemble
I. La base de donnes
1.
2.
3.
4.
5.

Structure de la base
Fichiers de donnes
Fichiers de journalisation
Fichiers de Contrle
Fichier de paramtres

II. Instance
1.
2.
3.
4.
5.

Vue d'ensemble
La SGA
La PGA
Processus d'arrire plan
Processus Serveur

III. Traitement d'un ordre SQL

1. Traitement d'un SELECT


2. Traitement d'un ordre DML (UPDATE/INSERT/DELETE)

IV. Dictionnaire de donnes


1. Rappel
2. Vues statiques
3. Vues dynamiques

V. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage
2. Arrt
c (IsitCom)
51 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

51 / 149

Serveur de base de donnes Oracle

Vue d'ensemble

BD fournie par dfaut


Comptes d'administration (possdent le privilge SYSDBA) :
SYS/change_on_install et SYSTEM/manager
Tablespaces : SYSTEM (et SYSAUX partir de la version 10g),
UNDO et TEMP
Tablespace SYSTEM : tablespace par dfaut pour les utilisateurs
privilgi SYS et SYSTEM
Tablespace UNDO : tablespace d'annulation par dfaut
Tablespace TEMP : tablespace temporaire par dfaut

c (IsitCom)
51 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

51 / 149

Serveur de base de donnes Oracle

Vue d'ensemble

Architecture d'un serveur de BD Oracle


Principales composantes d'un serveur de BD Oracle
1

La base de donnes

Ensemble de chiers contenant, entre autres, les donnes, les


informations sur les donnes (le dictionnaire de donnes) et les
journaux de modication sur les donnes (chiers log)

L'instance

Ensemble de processus et de zones en mmoire vive permettant la


gestion de la base de donnes. Une BD n'est disponible pour
utilisation que si elle est associ une instance

Ce chapitre...

1 Base de donnes
2 Instance
3 Dictionnaire de donnes
4 Dmarrage et arrt d'un serveur de BD Oracle

c (IsitCom)
52 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

52 / 149

Serveur de base de donnes Oracle

I. La base de donnes

Chapitre 3 - Serveur de base de donnes Oracle


Vue d'ensemble
I. La base de donnes
1.
2.
3.
4.
5.

Structure de la base
Fichiers de donnes
Fichiers de journalisation
Fichiers de Contrle
Fichier de paramtres

II. Instance
1.
2.
3.
4.
5.

Vue d'ensemble
La SGA
La PGA
Processus d'arrire plan
Processus Serveur

III. Traitement d'un ordre SQL

1. Traitement d'un SELECT


2. Traitement d'un ordre DML (UPDATE/INSERT/DELETE)

IV. Dictionnaire de donnes


1. Rappel
2. Vues statiques
3. Vues dynamiques

V. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage
2. Arrt
c (IsitCom)
53 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

53 / 149

Serveur de base de donnes Oracle

I. La base de donnes

1. Structure de la base
BD : ensemble de chiers stocks sur les disques durs du serveur
hbergeant la base.
Il existe dirents types de chiers : de donnes, de jounralisation, etc.
Les chiers de paramtres, de contrle, des archives des chiers de
journalisation et celui des mots de passe ne font pas partie de la base

c (IsitCom)
53 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

53 / 149

Serveur de base de donnes Oracle

I. La base de donnes

2. Fichiers de donnes (Data Files)


Contiennent les tables et les index crs par les utilisateurs, ainsi que
les donnes d'annulation et le dictionnaire de donnes
Les chiers de donnes sont logiquement groups par tablespaces
Un chier de donnes appartient un et un seul tablespace, un
tablespace peut contenir un ou plusieurs chiers de donnes
Informations relatives aux tablespaces et aux chiers de donnes : les
vues DBA_TABLESPACES et DBA_DATA_FILES du dictionnaire.

c (IsitCom)
54 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

54 / 149

Serveur de base de donnes Oracle

I. La base de donnes

3. Fichiers de journalisation (Redo Log Files)


Contiennent un historique de toutes les oprations de modication
faites sur les donnes (depuis une certaine priode)
Utiliss par le systme pour reconstituer les chiers de donnes en cas
d'altration de ceux-ci ou de crash systme
Informations sur les chiers journaux : vues V$LOGFILES et V$LOG du
dictionnaire de donnes

c (IsitCom)
55 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

55 / 149

Serveur de base de donnes Oracle

I. La base de donnes

3. Fichiers de journalisation (Redo Log Files)


criture dans les chiers log

Multiplexe
Maintien de plusieurs copies synchrones d'un mme chier log
Groupe : ensemble de chiers multiplexs (identiques).
Membre : un chier appartenant un groupe synchrone est dit
membre de ce groupe (vue V$LOGFILE)
Il existe au minimum deux groupes par BD (vue V$LOG).

Cyclique
Chaque fois que les chiers d'un groupe sont saturs, le systme crit
dans les chiers du groupe suivant
Si le contenu des chiers n'est pas archiv, il est dnitivement perdu
Pour activer l'archivage, la BD doit tre en mode ARCHIVLOG

c (IsitCom)
56 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

56 / 149

Serveur de base de donnes Oracle

I. La base de donnes

3. Fichiers de journalisation (Redo Log Files)

Ajout d'un chier membre un group (multiplexage)


ALTER DATABASE ADD LOGFILE MEMBER 'nomFichier .LOG ' TO GROUP

numGroupe

Passage forc d'un groupe un autre


ALTER SYSTEM SWITCH LOGFILE
c (IsitCom)
57 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

57 / 149

Serveur de base de donnes Oracle

I. La base de donnes

4. Fichier de contrle (Control File)


Consult par l'instance lors de l'ouverture d'une base de donnes
Contient des

informations sur la structure physique de la BD :

Nom et date de cration de la BD


Emplacement des chiers de donns et de journalisation
Position courante dans les log

Localisation partir de SQL*PLUS :


"SQL> show parameters control_files"
La vue V$CONTROLFILE du dictionnaire renseigne sur le chier de
contrle
La vue V$DATABASE du dictionnaire donne des informations sur la base
partir de son chier de contrle
c (IsitCom)
58 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

58 / 149

Serveur de base de donnes Oracle

I. La base de donnes

5. Fichier de paramtres
Consult par l'instance son dmarrage. Ne fait pas partie de la BD
Contient l'ensemble des

paramtres d'initialisation de l'instance

Paramtres d'emplacement : DB_CREATE_FILE_DEST,


CONTROL_FILES, etc.
Paramtres de limites et d'allocation mmoire : DB_BLOCK_SIZE,
DB_CACHE_SIZE, SGA_MAX_SIZE, etc.

Pour consulter la valeur courante d'un paramtre


1 A partir de SQL*PLUS: "SQL>show parameter

nomParametre

nomParametre "

2 SQL : "SELECT name, value FROM V$PARAMETER WHERE name =

nomParametre "

Il existe deux types de chiers de paramtres : le PFILE (historique) et


le SPFILE (depuis la version 9i)
c (IsitCom)
59 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

59 / 149

Serveur de base de donnes Oracle

I. La base de donnes

5. Fichier de paramtres
PFILE (Parameter File)
Fichier texte
Modiable via un diteur texte
Disponible sur chaque machine pou-

` vant dmarrer l'instance (problme de


synchronisation)
Nomm init%.ora
Modication froid

SPFILE (Server Parameter File)


Fichier binaire
Modiable uniquement via SQL
Centralis : un seul chier sur la machine hte de la BD

Nomm sple%.ora
Modiable chaud (pour certains
paramtres)

Possibilit de crer un PFILE partir d'un SPFILE et inversement :

CREATE PFILE/SPFILE [nomFichier 1] FROM SPFILE/PFILE


[nomFichier 2]
c (IsitCom)
60 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

60 / 149

Serveur de base de donnes Oracle

I. La base de donnes

5. Fichier de paramtres
Instruction SQL pour modier les paramtres dans SPFILE

ALTER SYSTEM SET nomParam = nouvelleValeur [SCOPE =


[BOTH|MEMORY|SPFILE|DEFERRED]]
SCOPE = SPFILE : si le paramtre est statique (modiable
uniquement froid), ou bien s'il est souhait que les changements ne
prennent eet qu'au prochain redmarrage de la BD.
SCOPE = MEMORY : si le paramtre est dynamique (modiable
chaud). Les changements aectent uniquement l'instance en cours.
SCOPE = BOTH : si le paramtre est dynamique et les modications
concernent aussi bien l'instance en cours que les prochaines
SCOPE = DEFERRED : si le paramtre est dynamique et les
modications ne concernent que les prochaines sessions
c (IsitCom)
61 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

61 / 149

Serveur de base de donnes Oracle

II. Instance

Chapitre 3 - Serveur de base de donnes Oracle


Vue d'ensemble
I. La base de donnes
1.
2.
3.
4.
5.

Structure de la base
Fichiers de donnes
Fichiers de journalisation
Fichiers de Contrle
Fichier de paramtres

II. Instance
1.
2.
3.
4.
5.

Vue d'ensemble
La SGA
La PGA
Processus d'arrire plan
Processus Serveur

III. Traitement d'un ordre SQL

1. Traitement d'un SELECT


2. Traitement d'un ordre DML (UPDATE/INSERT/DELETE)

IV. Dictionnaire de donnes


1. Rappel
2. Vues statiques
3. Vues dynamiques

V. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage
2. Arrt
c (IsitCom)
62 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

62 / 149

Serveur de base de donnes Oracle

II. Instance

1. Vue d'ensemble
Instance : ouvre une seule BD la fois
Se compose de :
1 Zones en mmoire vive utilises par l'instance :

(SGA) et Program Global Area (PGA)


2 Processus d'arrire plan

c (IsitCom)
62 / 149 Khaled Jouini

Administration des bases de donnes

System Global Area

2012-2013

62 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA
System Global Area
Ensemble de tampons mmoire partags par les processus de l'instance
Alloue au dmarrage de la BD et libre sa fermeture
3 zones obligatoires et 3 zones optionnelles
Taille maximale : paramtre SGA_MAX_SIZE

c (IsitCom)
63 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

63 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - a. Le pool partag (shared pool)


Rle : essentiellement, acclrer l'excution des requtes
Compos de deux tampons : le

Buer
Library Buer

Library Buer et le Dictionary

Tampon stockant des informations sur les requtes SQL les plus
rcemment excutes
Informations : texte, version compile et plan d'excution
Remplacement : LRU

Dictionary Buer

Tampon stockant les donnes du dictionnaire les plus rcemment


utilises
Remplacement : LRU

Taille du pool partag : paramtre SHARED_POOL_SIZE


c (IsitCom)
64 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

64 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - a. Le pool partag (shared pool)


Rle : essentiellement, acclrer l'excution des requtes
Compos de deux tampons : le

Buer
Library Buer

Library Buer et le Dictionary

Tampon stockant des informations sur les requtes SQL les plus
rcemment excutes
Informations : texte, version compile et plan d'excution
Remplacement : LRU

Dictionary Buer

Tampon stockant les donnes du dictionnaire les plus rcemment


utilises
Remplacement : LRU

Taille du pool partag : paramtre SHARED_POOL_SIZE


c (IsitCom)
64 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

64 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - a. Le pool partag (shared pool)


Rle : essentiellement, acclrer l'excution des requtes
Compos de deux tampons : le

Buer
Library Buer

Library Buer et le Dictionary

Tampon stockant des informations sur les requtes SQL les plus
rcemment excutes
Informations : texte, version compile et plan d'excution
Remplacement : LRU

Dictionary Buer

Tampon stockant les donnes du dictionnaire les plus rcemment


utilises
Remplacement : LRU

Taille du pool partag : paramtre SHARED_POOL_SIZE


c (IsitCom)
64 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

64 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - b. Le tampon de la BD (DataBase Buer)


Tampon mmoire rserv au stockage des blocs de donnes Oracle
(blocs contenant les tuples)
Rle : acclrer l'accs aux donnes (lecture des donnes partir du
tampon si elles s'y trouvent au lieu d'une lecture partir du disque)
Remplacement
Gr selon la stratgie LRU, applique en premier aux blocs dont le
contenu a t modi (Dirty Blocks)
Raison : en cas de crash systme le contenu du tampon est perdu.
Les blocs modis sont crits en premier sur le disque pour
minimiser l'information perdue et le temps de sa restauration

c (IsitCom)
65 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

65 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - b. Le tampon de la BD (DataBase Buer)


Tampon mmoire rserv au stockage des blocs de donnes Oracle
(blocs contenant les tuples)
Rle : acclrer l'accs aux donnes (lecture des donnes partir du
tampon si elles s'y trouvent au lieu d'une lecture partir du disque)
Remplacement
Gr selon la stratgie LRU, applique en premier aux blocs dont le
contenu a t modi (Dirty Blocks)
Raison : en cas de crash systme le contenu du tampon est perdu.
Les blocs modis sont crits en premier sur le disque pour
minimiser l'information perdue et le temps de sa restauration

c (IsitCom)
65 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

65 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - b. Le tampon de la BD (DataBase Buer)


Tampon mmoire rserv au stockage des blocs de donnes Oracle
(blocs contenant les tuples)
Rle : acclrer l'accs aux donnes (lecture des donnes partir du
tampon si elles s'y trouvent au lieu d'une lecture partir du disque)
Remplacement
Gr selon la stratgie LRU, applique en premier aux blocs dont le
contenu a t modi (Dirty Blocks)
Raison : en cas de crash systme le contenu du tampon est perdu.
Les blocs modis sont crits en premier sur le disque pour
minimiser l'information perdue et le temps de sa restauration

c (IsitCom)
65 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

65 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - b. Le tampon de la BD (DataBase Buer)


Tampon mmoire rserv au stockage des blocs de donnes Oracle
(blocs contenant les tuples)
Rle : acclrer l'accs aux donnes (lecture des donnes partir du
tampon si elles s'y trouvent au lieu d'une lecture partir du disque)
Remplacement
Gr selon la stratgie LRU, applique en premier aux blocs dont le
contenu a t modi (Dirty Blocks)
Raison : en cas de crash systme le contenu du tampon est perdu.
Les blocs modis sont crits en premier sur le disque pour
minimiser l'information perdue et le temps de sa restauration

c (IsitCom)
65 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

65 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - b. Le tampon de la BD (DataBase Buer)


DB_CACHE_SIZE
Paramtre contrlant la taille du DataBase Buer

doit tre un multiple de DB_BLOCK_SIZE.


DB _CACHE _SIZE
Nombre maximal de blocs dans le tampon = DB
_BLOCK _SIZE

N.B. si un tablespace tbs

utilise une taille de bloc 6= DB_BLOCK_SIZE

Ncessit d'initialiser au pralable un tampon supplmentaire dont la


taille est un multiple de la taille du bloc de tbs

Paramtre (selon la taille de bloc utilise dans tbs ) :


DB_nk_CACHE_SIZE , avec n {2, 4, 8, 16, 32}
ALTER SYSTEM SET DB_2K_CACHE_SIZE=16M

c (IsitCom)
66 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

66 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - b. Le tampon de la BD (DataBase Buer)


DB_CACHE_SIZE
Paramtre contrlant la taille du DataBase Buer

doit tre un multiple de DB_BLOCK_SIZE.


DB _CACHE _SIZE
Nombre maximal de blocs dans le tampon = DB
_BLOCK _SIZE

N.B. si un tablespace tbs

utilise une taille de bloc 6= DB_BLOCK_SIZE

Ncessit d'initialiser au pralable un tampon supplmentaire dont la


taille est un multiple de la taille du bloc de tbs

Paramtre (selon la taille de bloc utilise dans tbs ) :


DB_nk_CACHE_SIZE , avec n {2, 4, 8, 16, 32}
ALTER SYSTEM SET DB_2K_CACHE_SIZE=16M

c (IsitCom)
66 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

66 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - b. Le tampon de la BD (DataBase Buer)


DB_CACHE_SIZE
Paramtre contrlant la taille du DataBase Buer

doit tre un multiple de DB_BLOCK_SIZE.


DB _CACHE _SIZE
Nombre maximal de blocs dans le tampon = DB
_BLOCK _SIZE

N.B. si un tablespace tbs

utilise une taille de bloc 6= DB_BLOCK_SIZE

Ncessit d'initialiser au pralable un tampon supplmentaire dont la


taille est un multiple de la taille du bloc de tbs

Paramtre (selon la taille de bloc utilise dans tbs ) :


DB_nk_CACHE_SIZE , avec n {2, 4, 8, 16, 32}
ALTER SYSTEM SET DB_2K_CACHE_SIZE=16M

c (IsitCom)
66 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

66 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - c. Le tampon de journalisation (Redo


Log Buer)

Tampon mmoire rserv au stockage de l'historique des oprations de


modication faites sur les donnes
Priodiquement le contenu du tampon est crit dans les chiers de
journalisation (par exemple, suite un commit)
Taille dnie par le paramtre LOG_BUFFER
Rle : criture par lot (batch) des entres log au lieu d'une criture
par entre (i.e. par opration de modication)

c (IsitCom)
67 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

67 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - c. Le tampon de journalisation (Redo


Log Buer)

Tampon mmoire rserv au stockage de l'historique des oprations de


modication faites sur les donnes
Priodiquement le contenu du tampon est crit dans les chiers de
journalisation (par exemple, suite un commit)
Taille dnie par le paramtre LOG_BUFFER
Rle : criture par lot (batch) des entres log au lieu d'une criture
par entre (i.e. par opration de modication)

c (IsitCom)
67 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

67 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - d. Autres zones mmoires


Java Pool :

Plusieurs routines internes d'Oracle utilise du code Java


Ex. import/export de donnes
Pool gardant les ressources (programmes/classes, etc.) Java
rcemment utilises. Paramtre JAVA_POOL_SIZE

Large Pool :

stocke essentiellement, les donnes sur les sessions des


utilisateurs. Paramtre LARGE_POOL_SIZE

Streams Pool :

stocke les donnes relatives la queue de messages


utiliss par Oracle. Paramtre STREAMS_POOL_SIZE

SGA Fixe :

verrous, etc.

inclut les informations sur l'tat de la base, l'instance, les

c (IsitCom)
68 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

68 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - e. Gestion automatique


Tailles des direntes zones mmoires : grables manuellement (par le
DBA) ou automatiquement (par Oracle)

Gestion manuelle :

donner une taille chacune des zones. La


somme des tailles doit tre <= SGA_MAX_SIZE

Gestion automatique

Active si le paramtre SGA_TARGET 6= 0.


La valeur choisie pour SGA_TARGET doit tre <= SGA_MAX_SIZE.
Paramtre dynamique : ALTER SYSTEM SET SGA_TARGET = 300 M

c (IsitCom)
69 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

69 / 149

Serveur de base de donnes Oracle

II. Instance

2. La SGA - En rsum...

c (IsitCom)
70 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

70 / 149

Serveur de base de donnes Oracle

II. Instance

3. PGA (Program Global Area)


Zone mmoire ddie l'excution des processus serveur (une PGA
par processus)
PGA agrge : PGA totale alloue tous les processus
Paramtre PGA_AGGREGATE_TARGET : taille de la PGA agrge (Oracle
se charge de la rpartition entre le dirents processus)

c (IsitCom)
71 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

71 / 149

Serveur de base de donnes Oracle

II. Instance

4. Processus d'arrire plan - a. Rle et


prsentation
Rle :
1 Gestion de la SGA et de la lecture/criture entre la SGA et les chiers

(donnes ou Redo log)

2 Assurer le bon fonctionnement de l'instance, mme en cas de crash

Dclenchement :
Au dmarrage de l'instance pour certains
Ultrieurement suite des vnements particuliers (ex. Tampon
satur) pour d'autres

c (IsitCom)
72 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

72 / 149

Serveur de base de donnes Oracle

II. Instance

4. Processus d'arrire plan - b. Processus DBW


(DataBase Writer)

Rle : criture dans les chiers de donnes (sur disque) des blocs
devant sortir du tampon de la base de donnes
Il peut en exister plusieurs (jusqu' 20) numrots comme suit :
DBW0, DBW1,..., DBW9, DBWa,..., DBWj
Paramtre DB_WRITER_PROCESSES : dtermine le nombre de processus
DBW

c (IsitCom)
73 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

73 / 149

Serveur de base de donnes Oracle

II. Instance

4. Processus d'arrire plan - c. Processus LGWR


(LoG WRiter)

Rle : criture squentielle par lot dans les chiers de journalisation


(Redo log) des entres log devant sortir du tampon Redo Log
Dclenchement
1 Suite une validation (COMMIT);
2 Toute les trois secondes;
3 Quand 31 du tampon Redo Log est plein :

les 23 restant sont rservs l'accueil des nouvelles entres lors de


l'criture des anciennes sur le disque
4 Avant que DBWR n'crive sur disque les blocs modis (Dirty) non
valids : pour viter les modications non journalises en cas de crash
systme.

c (IsitCom)
74 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

74 / 149

Serveur de base de donnes Oracle

II. Instance

4. Processus d'arrire plan - c. Processus LGWR


(LoG WRiter)

Rle : criture squentielle par lot dans les chiers de journalisation


(Redo log) des entres log devant sortir du tampon Redo Log
Dclenchement
1 Suite une validation (COMMIT);
2 Toute les trois secondes;
3 Quand 31 du tampon Redo Log est plein :

les 23 restant sont rservs l'accueil des nouvelles entres lors de


l'criture des anciennes sur le disque
4 Avant que DBWR n'crive sur disque les blocs modis (Dirty) non
valids : pour viter les modications non journalises en cas de crash
systme.

c (IsitCom)
74 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

74 / 149

Serveur de base de donnes Oracle

II. Instance

4. Processus d'arrire plan - c. Processus LGWR


(LoG WRiter)

Rle : criture squentielle par lot dans les chiers de journalisation


(Redo log) des entres log devant sortir du tampon Redo Log
Dclenchement
1 Suite une validation (COMMIT);
2 Toute les trois secondes;
3 Quand 31 du tampon Redo Log est plein :

les 23 restant sont rservs l'accueil des nouvelles entres lors de


l'criture des anciennes sur le disque
4 Avant que DBWR n'crive sur disque les blocs modis (Dirty) non
valids : pour viter les modications non journalises en cas de crash
systme.

c (IsitCom)
74 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

74 / 149

Serveur de base de donnes Oracle

II. Instance

4. Processus d'arrire plan - d. Processus CKPT


(ChecKPoinT)

Forcer l'criture de tous les blocs modis (Dirty) et donc du contenu


du tampon Redo log sur disque
Intrt : recouvrement plus rapide en cas de crash systme
Dclenchement :
A la demande : ALTER SYSTEM CHECKPOINT
A la fermeture d'une BD (except SHUTDOWN ABORT)
Lors de la mise hors ligne d'un tablespace
Lorsque LGWR bascule d'un groupe un autre : viter d'craser les
entres log avant d'crire sur disque les modications correspondantes

c (IsitCom)
75 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

75 / 149

Serveur de base de donnes Oracle

II. Instance

4. Processus d'arrire plan - e. Processus ARC


(ARChive)

Rle : archivage des chiers de journalisation


Dclenchement : basculement d'un groupe de chiers un autre
Suite la saturation du groupe
Suite ALTER SYSTEM SWITCH LOGFILE

La BD doit tre en mode ARCHIVELOG (pour mettre la BD en mode


archivage : ALTER DATABASE ARCHIVELOG)
Il peut en exister plusieurs : ARCn

c (IsitCom)
76 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

76 / 149

Serveur de base de donnes Oracle

II. Instance

4. Processus d'arrire plan - f. Les processus


SMON (System MONitor) et PMON (Process MONitor)
SMON, essentiellement
Rparation de l'instance au dmarrage en cas d'arrt brutal :
recouvrement des donnes et des processus suspendus suite un crash
Libration des segments temporaires

PMON, essentiellement
Dtection et rparation des crash des processus utilisateurs
Exemple :
1 Un PU lance une requte UPDATE
2 Les donnes concernes sont verrouilles
3 Le PU plante!!

Annulation de la transaction libration des verrous


PMON dtecte le blocage, annule la transaction et libre les verrous
c (IsitCom)
77 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

77 / 149

Serveur de base de donnes Oracle

II. Instance

5. Processus serveur
Processus Utilisateur (PU ou User Process) :
Programme demandant une interaction avec le Serveur de BD (Ex.
SQL*PLUS)
Ne fait pas partie du serveur de BD et n'interagit avec celui-ci qu'au
travers d'un processus serveur

Processus Serveur (PS ouServer Process) :


Prend en charge les appels gnrs par un ou plusieurs processus
utilisateurs et leur renvoie les rsultats
Notamment : chargement des donnes dans le tampon de BD et
criture dans le tampon Redo Log
Deux modes : serveur ddi et serveur partag (spci au moment de
la cration de la BD)

Ddi : un processus serveur pour chaque processus client


Partag : un processus serveur pour plusieurs processus client

c (IsitCom)
78 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

78 / 149

Serveur de base de donnes Oracle

III. Traitement d'un ordre SQL

Chapitre 3 - Serveur de base de donnes Oracle


Vue d'ensemble
I. La base de donnes
1.
2.
3.
4.
5.

Structure de la base
Fichiers de donnes
Fichiers de journalisation
Fichiers de Contrle
Fichier de paramtres

II. Instance
1.
2.
3.
4.
5.

Vue d'ensemble
La SGA
La PGA
Processus d'arrire plan
Processus Serveur

III. Traitement d'un ordre SQL

1. Traitement d'un SELECT


2. Traitement d'un ordre DML (UPDATE/INSERT/DELETE)

IV. Dictionnaire de donnes


1. Rappel
2. Vues statiques
3. Vues dynamiques

V. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage
2. Arrt
c (IsitCom)
79 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

79 / 149

Serveur de base de donnes Oracle

III. Traitement d'un ordre SQL

1. Traitement d'un SELECT


1

Analyse (Parse)

1 Le PU envoie la requte au PS
2 Si la requte n'a pas dj t analyse prcdemment (consultation du

Library Buer), le PS l'analyse

3 Le PS doit vrier si les objets interrogs par la requte existent et si

l'utilisateur a le droit de les consulter. Si ces informations ne sont pas


prsentes dans le Dictionary Buer, le PS les charge

4 Gnration et enregistrement du plan d'excution (si non prsent dans

le Library Buer)

Excution :

excution du plan de la requte. Si les blocs des donnes


interroges ne sont pas dans le tampon de la BD, le PS les charge
dans le tampon partir,
1 du chier de donnes si les donnes n'ont pas t modies par une

transaction non encore valide

2 du tablespace d'annulation (undo), sinon


c (IsitCom)
79 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

79 / 149

Serveur de base de donnes Oracle

III. Traitement d'un ordre SQL

2. Traitement d'un ordre DML


(UPDATE/INSERT/DELETE)
1

Analyse (Parse)

Idem. que pour une slection

Excution
1 Les informations sur la modication sont consignes dans le tampon de

journalisation

2 Si les blocs de donnes et les blocs d'annulation ne se trouvent pas

dj dans le tampon de la BD, le PS les charge.

3 Le PS place des verrous sur les tuples modier


4 Le PS place l'image avant des donnes dans le bloc d'annulation.
5 Les modications sont enregistres dans les blocs de donnes qui sont

alors marqus comme "Dirty"

c (IsitCom)
80 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

80 / 149

Serveur de base de donnes Oracle

IV. Dictionnaire de donnes

Chapitre 3 - Serveur de base de donnes Oracle


Vue d'ensemble
I. La base de donnes
1.
2.
3.
4.
5.

Structure de la base
Fichiers de donnes
Fichiers de journalisation
Fichiers de Contrle
Fichier de paramtres

II. Instance
1.
2.
3.
4.
5.

Vue d'ensemble
La SGA
La PGA
Processus d'arrire plan
Processus Serveur

III. Traitement d'un ordre SQL

1. Traitement d'un SELECT


2. Traitement d'un ordre DML (UPDATE/INSERT/DELETE)

IV. Dictionnaire de donnes


1. Rappel
2. Vues statiques
3. Vues dynamiques

V. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage
2. Arrt
c (IsitCom)
81 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

81 / 149

Serveur de base de donnes Oracle

IV. Dictionnaire de donnes

1. Rappel
Dictionnaire de donnes
1 Ensemble de vues et de tables contenant les informations sur toutes

les composantes logiques et physiques de la BD et de l'instance

2 Cr et mis jour par le systme lorsque des ordres DDL sont

excutes (CREATE/ALTER/DROP)

3 Proprit de l'utilisateur SYS

stock dans le tablespace SYSTEM.

4 Les donnes des tables sont codes et modiables uniquement par le

systme. Accessibles uniquement via des vues

5 Deux types de vues :

Vues statiques : bases sur les "vraies" tables du dictionnaire


Vues dynamiques : bases sur de l'information se trouvant en
mmoire vive (Ex. SGA) ou extraite du chier de contrle

c (IsitCom)
81 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

81 / 149

Serveur de base de donnes Oracle

IV. Dictionnaire de donnes

2. Vues statiques
Trois types :
Vues prxes par USER_

Donnent accs aux informations sur les objets possds (crs) par
l'utilisateur
Exemple : USER_TABLES : tables cres par l'utilisateur

Vues prxes par ALL_


Donnent accs aux informations sur les objets (tables, index, vues,
triggers, etc.) accessibles par l'utilisateur
Exemple : ALL_TABLES : toutes les tables que l'utilisateur peut voir

Vues prxes par DBA_

Interrogeables uniquement par les administrateurs


Donnent accs aux informations sur tous les objets de la BD
Exemple : DBA_TABLES : toutes les tables de la BD

c (IsitCom)
82 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

82 / 149

Serveur de base de donnes Oracle

IV. Dictionnaire de donnes

3. Vues dynamiques
Contiennent l'information sur l'activit

l'instance

en cours de la BD et de

Prxes par V$

V$FIXED_TABLE : contient la liste des vues dynamiques. Quelques


vues dynamiques :
Nom
V$DATABASE
V$INSTANCE
V$SGA
V$PARAMETER
V$SQL

c (IsitCom)
83 / 149 Khaled Jouini

Description
Informations
Informations
Informations
Informations
Informations

sur la BD
sur l'instance
rsumes sur la SGA
sur les paramtres d'initialisation
sur les requtes SQL excutes

Administration des bases de donnes

2012-2013

83 / 149

Serveur de base de donnes Oracle

V. Dmarrage et arrt d'un serveur de BD Oracle

Chapitre 3 - Serveur de base de donnes Oracle


Vue d'ensemble
I. La base de donnes
1.
2.
3.
4.
5.

Structure de la base
Fichiers de donnes
Fichiers de journalisation
Fichiers de Contrle
Fichier de paramtres

II. Instance
1.
2.
3.
4.
5.

Vue d'ensemble
La SGA
La PGA
Processus d'arrire plan
Processus Serveur

III. Traitement d'un ordre SQL

1. Traitement d'un SELECT


2. Traitement d'un ordre DML (UPDATE/INSERT/DELETE)

IV. Dictionnaire de donnes


1. Rappel
2. Vues statiques
3. Vues dynamiques

V. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage
2. Arrt
c (IsitCom)
84 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

84 / 149

Serveur de base de donnes Oracle

V. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage - a. Syntaxe
Dmarrage - Syntaxe (non exhaustive)
STARTUP [PFILE=nomPFILE]
[OPEN | MOUNT | NOMOUNT]

c Database Concepts 11g Release 2


Figure: Phases de dmarrage [Oracle
(11.2)E10713-05,2010]

c (IsitCom)
84 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

84 / 149

Serveur de base de donnes Oracle

1. Dmarrage - b.

V. Dmarrage et arrt d'un serveur de BD Oracle

STARTUP NOMOUNT

STARTUP NOMOUNT
1 Un SPFILE (sple%.ora) est cherch. Si non trouv un ple

(init%.ora) est cherch et utilis la place

2 La SGA est alloue selon les paramtres d'initialisation


3 Les processus d'arrire plan sont lancs

La BD n'est ni monte ni ouverte


les vues dynamiques relatives l'instance (V$INSATNCE, V$SGA, etc.)
sont interrogeables, mais pas celles relatives la BD (V$DATABASE)
Pour monter (resp. ouvrir) la BD ultrieurement :
ALTER DATABASE MOUNT (resp. ALTER DATABASE OPEN)

c (IsitCom)
85 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

85 / 149

Serveur de base de donnes Oracle

1. Dmarrage - c.

V. Dmarrage et arrt d'un serveur de BD Oracle

STARTUP MOUNT

STARTUP MOUNT
1 Ouverture du chier de contrle de la BD (localisation partir du
paramtre d'initialisation CONTROL_FILES)
2 Si le chier de contrle est multiplex et que les copies ne sont pas

identiques, l'instance reste l'tat NOMOUNT

3 Depuis le chier de contrle, extraction des noms, des emplacements

et des tats des chiers de donnes et de journalisation. Ces chiers


ne sont ce stade ni ouverts ni vris

Connexion la BD possible uniquement pour les administrateurs. Ils


peuvent y faire certaines tches d'administration

Ex. Renommage/dplacement de chiers, activation de la journalisation,


etc. (Pourquoi ne sont elles pas possibles en mode NOMOUNT?)

La BD est dite associe l'instance, les vues dynamiques relatives la


BD sont consultables (V$DATABASE), mais pas les vues statiques
c (IsitCom)
86 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

86 / 149

Serveur de base de donnes Oracle

1. Dmarrage - d.

V. Dmarrage et arrt d'un serveur de BD Oracle

STARTUP OPEN

STARTUP ou STARTUP OPEN


1 Ouverture des chiers de journalisation et de donnes
2 SMON est lanc.

Aprs l'ouverture, la BD est disponible une utilisation "normale"


pour tous les utilisateurs

c (IsitCom)
87 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

87 / 149

Serveur de base de donnes Oracle

V. Dmarrage et arrt d'un serveur de BD Oracle

2. Arrt - a. Syntaxe
Syntaxe (non exhaustive)
SHUTDOWN [NORMAL | TRANSACTIONAL | IMMIDIATE | ABORT]

c Database Concepts 11g Release 2 (11.2)E10713-05,2010]


Figure: Phases d'arrt [Oracle

c (IsitCom)
88 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

88 / 149

Serveur de base de donnes Oracle

V. Dmarrage et arrt d'un serveur de BD Oracle

2. Arrt - b. Options d'arrt


SHUTDOWN ou SHUTDOWN NORMAL
Attend la dconnexion de tous les utilisateurs et l'arrt de toutes les
transactions en cours
Eectue un checkpoint avant l'arrt

SHUTDOWN TRANSACTIONAL
Attend l'arrt de toutes les transactions (mais pas la dconnexion de
tous les utilisateurs)
Eectue un checkpoint avant l'arrt

c (IsitCom)
89 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

89 / 149

Serveur de base de donnes Oracle

V. Dmarrage et arrt d'un serveur de BD Oracle

2. Arrt - b. Options d'arrt


SHUTDOWN IMMEDIATE
Fermeture instantane sans attendre les sessions/transactions en
cours.
Eectue un rollback des transactions non valides, puis un checkpoint
avant l'arrt

SHUTDOWN ABORT
Fermeture instantane sans attendre les sessions/transactions en
cours.
Pas de checkpoint avant l'arrt recouvrement au dmarrage
utiliser uniquement si blocage des autres types d'arrt
c (IsitCom)
90 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

90 / 149

Serveur de base de donnes Oracle

V. Dmarrage et arrt d'un serveur de BD Oracle

2. Arrt - b. Options d'arrt


En rsum...

c Database Concepts 11g Release 2 (11.2)E10713-05,2010]


Figure: Options d'arrt [Oracle

c (IsitCom)
91 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

91 / 149

Gestion des utilisateurs

Chapitre 4 - Gestion des utilisateurs


Introduction
I. Gestion basique des comptes des utilisateurs
1. Notions de schma et d'utilisateur
2. Cration d'un nouvel utilisateur
3. Modication et suppression

II. Gestion des privilges


1.
2.
3.
4.

Privilges systme vs. privilges objet


Privilges systme
Privilges objet
Gestion des rles

III. Gestion des prols


1. Vue d'ensemble
2. Oprations de base

c (IsitCom)
92 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

92 / 149

Gestion des utilisateurs

Introduction

Chapitre 4 - Gestion des utilisateurs


Introduction
I. Gestion basique des comptes des utilisateurs
1. Notions de schma et d'utilisateur
2. Cration d'un nouvel utilisateur
3. Modication et suppression

II. Gestion des privilges


1.
2.
3.
4.

Privilges systme vs. privilges objet


Privilges systme
Privilges objet
Gestion des rles

III. Gestion des prols


1. Vue d'ensemble
2. Oprations de base

c (IsitCom)
92 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

92 / 149

Gestion des utilisateurs

Introduction

Introduction
Rle de l'administrateur de scurit et des ressources
1 Dnir une politique de scurit
2 Grer les

comptes des utilisateurs

3 Assurer l'attribution et la rvocation des droits (privilges et

rles)

4 Grer les ressources systme (prols)


5 Eectuer des

audits

Ce chapitre...
1 Gestion basique des comptes des utilisateurs
2 Gestion des privilges et des rles
3 Gestion des prols
c (IsitCom)
92 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

92 / 149

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

Chapitre 4 - Gestion des utilisateurs


Introduction
I. Gestion basique des comptes des utilisateurs
1. Notions de schma et d'utilisateur
2. Cration d'un nouvel utilisateur
3. Modication et suppression

II. Gestion des privilges


1.
2.
3.
4.

Privilges systme vs. privilges objet


Privilges systme
Privilges objet
Gestion des rles

III. Gestion des prols


1. Vue d'ensemble
2. Oprations de base

c (IsitCom)
93 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

93 / 149

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

1. Notions de schma et d'utilisateur


Utilisateur de BD Oracle (User) :
Identi par un login avec lequel il se connecte au systme
Possde un ensemble de droits ou privilges associs son login.
Dispose d'un espace de stockage par dfaut (tablespace) dans lequel
sont stocks les objets qu'il cr

Schma (Schema Objects)


collection de tous les objets (tables, vues, index, etc.) crs par un
utilisateur prcis (N.B. n'inclut pas les chiers et les tablespaces)

Oracle assimile un schma son utilisateur


Chaque utilisateur possde un seul schma et rciproquement
Le login sert identier la fois un utilisateur et son schma
La cration d'un utilisateur entrane celle de son schma
Accs un objet : login.nomObjet (Ex. sys.dba_tablespaces)
c (IsitCom)
93 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

93 / 149

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

2. Cration d'un nouvel utilisateur - a.


Enchanement typique
1 Choisir un nom d'utilisateur et un mcanisme d'authentication,
2 Dcider des tablespaces dans lesquels l'utilisateur peut stocker certains

de ses objets

3 Aecter un tablespace par dfaut et un tablespace temporaire


4 Dcider des quotas pour chaque tablespace,
5 Crer un utilisateur
6 Accorder des privilges et des rles a l'utilisateur

c (IsitCom)
94 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

94 / 149

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

2. Cration d'un nouvel utilisateur - b. Ordre SQL


CREATE USER login
> Mode d'identication, Oracle ou SE ou LDAP
IDENTIFIED [by motDePasse |EXTERNALLY|GLOBALLY AS nomExterne ]
> Tablespace par dfaut o seront stocks les objets crs par l'utilisateur
[DEFAULT TABLESPACE nomTablespace ]
> Tablespace temporaire des requtes excutes par l'utilisateur
[TEMPORARY TABLESPACE nomTablespaceTemporaire ]
> Espace maximal que l'utilisateur peut utiliser dans les tablespaces
[QUOTA [int [K|M] | UNLIMITED ] ON nomTablespace ]
[QUOTA [int [K|M] | UNLIMITED] ON nomTablespace 2]]
> Indique si l'utilisateur doit changer son mot de passe la premire connexion
[PASSWORD EXPIRE]
> Verrouillage du compte
[ACCOUNT[LOCK|UNLOCK]]
> Prol
[PROFILE nomProl ]
c (IsitCom)
95 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

95 / 149

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

2. Cration d'un nouvel utilisateur - c. Exemples


1

CREATE USER isitcom IDENTIFIED BY i$itc0m

CREATE USER isitcom IDENTIFIED BY i$itc0m


DEFAULT TABLESPACE tbs_users
PASSWORD EXPIRE
ACCOUNT LOCK

CREATE USER isitcom IDENTIFIED BY i$itc0m


DEFAULT TABLESPACE tbs_users
QUOTA 10M ON tbs_users
TEMPORARY TABLESPACE tmp_users
QUOTA 5M ON tbs_hr
PASSWORD EXPIRE

c (IsitCom)
96 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

96 / 149

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

3. Modication (ALTER USER) et suppression (DROP USER)


Modication du mot de passe

ALTER USER isitcom IDENTIFIED BY c0mi$it REPLACE i$itc0m

Modication des quotas

ALTER USER isitcom QUOTA 15M ON tbs_users QUOTA 0M ON tbs_hr

Modication des tablespaces par dfaut

ALTER USER isitcom DEFAULT TABLESPACE tbs2 TEMPORARY TABLESPACE


tmp2;

Verrouillage

ALTER USER isitcom ACCOUNT LOCK

Dverrouillage

ALTER USER isitcom ACCOUNT UNLOCK

Suppression d'un utilisateur (et de son schma)


DROP USER isitcom CASCADE

Les vues DBA_USERS et DBA_TS_QUOTAS contiennent les informations sur les


utilisateurs
c (IsitCom)
97 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

97 / 149

Gestion des utilisateurs

II. Gestion des privilges

Chapitre 4 - Gestion des utilisateurs


Introduction
I. Gestion basique des comptes des utilisateurs
1. Notions de schma et d'utilisateur
2. Cration d'un nouvel utilisateur
3. Modication et suppression

II. Gestion des privilges


1.
2.
3.
4.

Privilges systme vs. privilges objet


Privilges systme
Privilges objet
Gestion des rles

III. Gestion des prols


1. Vue d'ensemble
2. Oprations de base

c (IsitCom)
98 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

98 / 149

Gestion des utilisateurs

II. Gestion des privilges

1. Privilges systme vs. privilges objet


Privilges accords un utilisateur :
Dterminent quelles actions l'utilisateur est autoris eectuer sur la
base
Accords par l'instruction GRANT et retirs par l'instruction REVOKE
Peuvent tre groups dans des rles
Deux types : privilges au niveau du systme et privilges au niveau des
objets

Privilge au niveau du systme

Droit d'excuter une action sur n'importe quel objet d'un type
particulier (prs de 160).
Ex. CREATE/DROP/ALTER TABLESPACE, USER, SESSION, TABLE,
VIEW, etc.

Privilge au niveau objet

Droit d'excuter une action sur un objet spcique


Ex. SELECT, UPDATE, INSERT, etc.

c (IsitCom)
98 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

98 / 149

Gestion des utilisateurs

II. Gestion des privilges

2. Privilges systme - a. Exemples


Catgorie
TABLE

INDEX
SESSION
TABLESPACE

Exemple
CREATE [ANY] TABLE
ALTER [ANY] TABLE
DROP [ANY] TABLE
SELECT [ANY] TABLE
UPDATE [ANY] TABLE
DELETE [ANY] TABLE
CREATE [ANY] INDEX
ALTER [ANY] INDEX
DROP [ANY] INDEX
CREATE SESSION
ALTER SESSION
RESTRICTED SESSION
CREATE TABLESPACE
ALTER TABLESPACE
DROP TABLESPACE

Mot rserv ANY : droit d'excuter un ordre dans n'importe quel


schma
c (IsitCom)
99 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

99 / 149

Gestion des utilisateurs

II. Gestion des privilges

2. Privilges systme - b. Privilges


d'administration
SYSOPER

SYSDBA

STARTUP
SHUTDOWN
ALTER DATABASE OPEN | MOUNT
RECOVER DATABASE
ALTER DATABASE BACKUP CONTROLFILE TO
ALTER DATABASE ARCHIVELOG
RESTRICTED SESSION
SYSOPER WITH ADMIN OPTION
CREATE DATABASE

Vue SYSTEM_PRIVILEGE_MAP : liste de tous les privilges systme


Vue DBA_SYS_PRIVS : privilges systme accords un utilisateur
N.B. Si un utilisateur disposant du privilge SYSDBA se connecte la
BD avec CONNECT..AS SYSDBA il est connect au schma sys
c (IsitCom)
100 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

100 / 149

Gestion des utilisateurs

II. Gestion des privilges

2. Privilges systme - c. Attribution


Syntaxe :
GRANT [nomPrivilege | ALL PRIVILEGES] TO
[nomUtilistaeur |nomRole |PUBLIC] [WITH ADMIN OPTION]
ALL PRIVILEGES : tous les privilges systme sont accords
l'utilisateur

PUBLIC : le privilge est attribu tous les utilisateurs


WITH ADMIN OPTION : donne l'utilisateur le droit d'attribuer et de
retirer le privilge reu

Exemples :
1 GRANT CREATE TABLE, SELECT ANY TABLE, CREATE TABLESPACE
TO isitcom
2 GRANT SYSDBA TO administrateur WITH ADMIN OPTION
3 GRANT CREATE SESSION TO PUBLIC
c (IsitCom)
101 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

101 / 149

Gestion des utilisateurs

II. Gestion des privilges

2. Privilges systme - d. Rvocation


Syntaxe :
REVOKE [nomPrivilege | ALL PRIVILEGES | nomRole 1] FROM
[nomUtilistaeur |nomRole 2|PUBLIC]
Tout utilisateur disposant d'un privilge systme avec l'option WITH
ADMIN OPTION peut rvoquer ce privilge de n'importe quel autre
utilisateur
Exemples de rvocation :
1 REVOKE ALTER TABLESPACE FROM isitcom
2 REVOKE CREATE SESSION FROM PUBLIC

c (IsitCom)
102 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

102 / 149

Gestion des utilisateurs

II. Gestion des privilges

2. Privilges systme - d. Rvocation


Rvocation des privilges systme : entrane un eet de cascade pour
les ordres DML (SELECT/DELETE/UPDATE/INSERT), mais pas pour les
autres
Exemple 1
1 user1 dispose du privilge CREATE TABLE WITH ADMIN OPTION
2 user1 transmet user2 le privilge CREATE TABLE
3 Le privilge CREATE TABLE est retir user1
user1 ne peut plus crer de nouvelles tables
user2 garde le droit de crer de nouvelles tables

Exemple 2

user1 dispose du privilge SELECT TABLE WITH ADMIN OPTION


user1 transmet user2 le privilge SELECT TABLE
3 Le privilge SELECT TABLE est retir user1
user1 ne peut plus faire des slections
user2 ?
1
2

c (IsitCom)
103 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

103 / 149

Gestion des utilisateurs

II. Gestion des privilges

2. Privilges systme - e. Accs aux donnes du


dictionnaire
Accs aux donnes du dictionnaire : protg par le paramtre
d'initialisation O7_DICTIONARY_ACCESSIBILITY

O7_DICTIONARY_ACCESSIBILITY=FALSE (valeur par dfaut) :


Les utilisateurs disposant du privilge SELECT ANY TABLE n'ont pas
accs au dictionnaire (schma SYS)
Pour qu'un utilisateur ait accs au dictionnaire il doit avoir le privilge
systme SELECT ANY DICTIONARY

Pour modier la valeur de O7_DICTIONARY_ACCESSIBILITY


(dconseill)
ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY=TRUE
SCOPE=SPFILE

c (IsitCom)
104 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

104 / 149

Gestion des utilisateurs

II. Gestion des privilges

3. Privilges objet - a. Exemples


Action
ALTER
DELETE
EXECUTE
INDEX
INSERT
SELECT
UPDATE

TABLE[.nomCol ]
X
X

VIEW[.nomCol ]
X
X

X
X
X
X

X
X
X
X

SEQUENCE
X

PROCEDURE
X
X

c (IsitCom)
105 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

105 / 149

Gestion des utilisateurs

II. Gestion des privilges

3. Privilges objet - b. Attribution


Attribution
Syntaxe (non exhaustive) :
GRANT [nomPrivilege | ALL PRIVILEGES] ON
login.nomTable [(nomColonne)] TO
[nomUtilistaeur |nomRole |PUBLIC][WITH GRANT OPTION]
WITH GRANT OPTION : donne l'utilisateur le droit d'attribuer et de
retirer le privilge reu

Exemples
1 GRANT ALL PRIVILEGES ON isitcom.etudiant TO scolarite
2 GRANT SELECT,UPDATE (nom,adresse) ON isitcom.etudiant TO

guichet

c (IsitCom)
106 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

106 / 149

Gestion des utilisateurs

II. Gestion des privilges

3. Privilges objet - c. Rvocation


Rvocation
Syntaxe :
REVOKE [nomPrivilege | ALL PRIVILEGES | nomRole 1] ON
login.nomTable [(nomColonne)] FROM [nomUtilistaeur |nomRole 2|PUBLIC]
Exemple :
REVOKE UPDATE (nom,adresse) ON isitcom.etudiant FROM guichet
Seul l'utilisateur ayant attribu un privilge objet peut le rvoquer
La rvocation d'un privilge objet entrane un eet de cascade.
Exemple
1 user1 dispose du privilge SELECT on Emp .sal WITH GRANT OPTION
2 user1 transmet user2 le privilge SELECT on Emp .sal
3 Le privilge SELECT on Emp .sal est retir user1
user1 comme user2 n'ont plus accs la colonne Emp .sal

c (IsitCom)
107 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

107 / 149

Gestion des utilisateurs

II. Gestion des privilges

4. Gestion des rles - a. Vue d'ensemble


Rle (role) :
Ensemble nomm de privilges
Peut tre aect soit un utilisateur soit un autre rle
Intrt : faciliter la gestion des privilges attribution et rvocation
par ensemble et non individuellement
Oracle fournit un ensemble de rles pr-dnis (CONNECT,
RESSOURCE, DBA, etc..)
La vue DBA_ROLES fournit l'ensemble des rles dnis

c (IsitCom)
108 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

108 / 149

Gestion des utilisateurs

II. Gestion des privilges

4. Gestion des rles - a. Vue d'ensemble


Rle (role) :
Ensemble nomm de privilges
Peut tre aect soit un utilisateur soit un autre rle
Intrt : faciliter la gestion des privilges attribution et rvocation
par ensemble et non individuellement
Oracle fournit un ensemble de rles pr-dnis (CONNECT,
RESSOURCE, DBA, etc..)
La vue DBA_ROLES fournit l'ensemble des rles dnis

c (IsitCom)
108 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

108 / 149

Gestion des utilisateurs

II. Gestion des privilges

4. Gestion des rles - a. Vue d'ensemble


Rle (role) :
Ensemble nomm de privilges
Peut tre aect soit un utilisateur soit un autre rle
Intrt : faciliter la gestion des privilges attribution et rvocation
par ensemble et non individuellement
Oracle fournit un ensemble de rles pr-dnis (CONNECT,
RESSOURCE, DBA, etc..)
La vue DBA_ROLES fournit l'ensemble des rles dnis

c (IsitCom)
108 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

108 / 149

Gestion des utilisateurs

II. Gestion des privilges

4. Gestion des rles - b. Oprations de base


Cration (non exhaustive)
CREATE ROLE nomRole [IDENTIFIED BY motDePasse ]
Attribution et rvocation de privilges un rle (mme syntaxe que pour un
utilisateur)
GRANT...
REVOKE...

Suppression

DROP ROLE nomRole

Attribution d'un rle un utilisateur


GRANT nomRole TO nomUser
Rvocation d'un rle
REVOKE nomRole FROM nomUser

c (IsitCom)
109 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

109 / 149

Gestion des utilisateurs

III. Gestion des prols

Chapitre 4 - Gestion des utilisateurs


Introduction
I. Gestion basique des comptes des utilisateurs
1. Notions de schma et d'utilisateur
2. Cration d'un nouvel utilisateur
3. Modication et suppression

II. Gestion des privilges


1.
2.
3.
4.

Privilges systme vs. privilges objet


Privilges systme
Privilges objet
Gestion des rles

III. Gestion des prols


1. Vue d'ensemble
2. Oprations de base

c (IsitCom)
110 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

110 / 149

Gestion des utilisateurs

III. Gestion des prols

1. Vue d'ensemble
Prol (prole) :
Ensemble nomm de limitations :
1 limitations sur les mots de passe

Ex. nombre maximal de tentatives de connexion, etc.


2 limitations sur les ressources systmes
Ex. nombre maximal de sessions qu'un mme utilisateur peut ouvrir,
temps CPU maximal accord une session, etc.

Intrt : contrle de l'utilisation des ressources et renforcement de la


scurit
Activation du contrle des limitations :
ALTER SYSTEM SET resource_limit = true
Prol DEFAULT : prol par dfaut aect un utilisateur
c (IsitCom)
110 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

110 / 149

Gestion des utilisateurs

III. Gestion des prols

1. Exemple de limitations
Limitations sur l'utilisation des ressources
idle_time
connect_time
cpu_per_session

sessions_per_user

Dure maximale en minutes d'inactivit d'une


session. Au del l'utilisateur ne peut que valider
ou annuler ses transactions
Dure maximale en minutes d'une session. Si
dpasse les transactions non valides sont annules et l'utilisateur est dconnect
Temps CPU maximal en centaines de secondes consomm durant une session. Au del
l'utilisateur ne peut qu'annuler ou valider ses
transactions
Nombre maximale de sessions simultanes qu'un
utilisateur peut ouvrir

c (IsitCom)
111 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

111 / 149

Gestion des utilisateurs

III. Gestion des prols

2. Oprations de base - a. Syntaxe


Cration (non exhaustive)
CREATE PROFILE nomProl LIMIT
nomLimitation1 [valeur | UNLIMITED | DEFAULT]
[nomLimitation2 [valeur | UNLIMITED | DEFAULT]]
[...]

Attribution d'un prol utilisateur


ALTER USER nomUser PROFILE nomProl
Modication d'un prol
ALTER nomProl LIMIT
nomLimitation [nouvelleValeur | UNLIMITED | DEFAULT]
Suppression

DROP PROFILE nomProl [CASCADE]

Informations sur les prols


vue DBA_PROFILES

c (IsitCom)
112 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

112 / 149

Gestion des utilisateurs

III. Gestion des prols

2. Oprations de base - b. Exemples


Cration

CREATE PROFILE pAgent LIMIT


sessions_per_user 2
idle_time 600
failed_login_attempts 3
password_lock_time 900
cpu_per_session 500

Attribution d'un prol utilisateur

ALTER USER agent PROFILE pAgent

Modication d'un prol

ALTER DEFAULT LIMIT sessions_per_user 5

Suppression

DROP PROFILE pAgent CASCADE

c (IsitCom)
113 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

113 / 149

Cration manuelle d'une BD et conguration du rseau

Chapitre 5 - Cration manuelle d'une BD et


conguration du rseau
Introduction
I. Cration d'une base de donnes
1. Notes sur l'architecture OFA
2. Cration manuelle
3. Cration l'aide de DBCA

III. Conguration du rseau (Oracle Net)


1.
2.
3.
4.
5.
6.

Prsentation d'Oracle Net


Identication d'un serveur de BD
Conguration ct client
Conguration ct serveur
Conguration avec l'assistant graphique
L'utilitaire LiSteNeR ConTroL lsnrtctl

c (IsitCom)
114 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

114 / 149

Cration manuelle d'une BD et conguration du rseau

Introduction

Chapitre 5 - Cration manuelle d'une BD et


conguration du rseau
Introduction
I. Cration d'une base de donnes
1. Notes sur l'architecture OFA
2. Cration manuelle
3. Cration l'aide de DBCA

III. Conguration du rseau (Oracle Net)


1.
2.
3.
4.
5.
6.

Prsentation d'Oracle Net


Identication d'un serveur de BD
Conguration ct client
Conguration ct serveur
Conguration avec l'assistant graphique
L'utilitaire LiSteNeR ConTroL lsnrtctl

c (IsitCom)
114 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

114 / 149

Cration manuelle d'une BD et conguration du rseau

Introduction

Introduction
Mise en place d'un BD Oracle
1 Installation d'Oracle ct serveur et ct client
2 Cration de la BD
3 Conguration du rseau ct serveur et ct client

Oracle : fournit un ensemble d'outils graphiques pour assister


l'administrateur

Ce chapitre...
1 Cration d'une base de donnes
2 Conguration du rseau (Oracle Net)

c (IsitCom)
114 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

114 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

Chapitre 5 - Cration manuelle d'une BD et


conguration du rseau
Introduction
I. Cration d'une base de donnes
1. Notes sur l'architecture OFA
2. Cration manuelle
3. Cration l'aide de DBCA

III. Conguration du rseau (Oracle Net)


1.
2.
3.
4.
5.
6.

Prsentation d'Oracle Net


Identication d'un serveur de BD
Conguration ct client
Conguration ct serveur
Conguration avec l'assistant graphique
L'utilitaire LiSteNeR ConTroL lsnrtctl

c (IsitCom)
115 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

115 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

1. Notes sur l'architecture OFA - a. Prsentation


Optimal File Architecture (OFA)
Ensemble de recommandations sur l'arborescence et le nommage des
chiers du serveur destines faciliter l'administration des produits
Oracle
Principe : sparer le produit Oracle, les chiers relatifs
l'administration et les chiers de la BD
Oracle Universal Installer

: respecte les recommandations OFA

Deux rpertoires importants :

c (IsitCom)
115 / 149 Khaled Jouini

Oracle_Base et Oracle_Home

Administration des bases de donnes

2012-2013

115 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

1. Notes sur l'architecture OFA - b. Oracle_Base


Oracle_Base
Racine de l'arborescence
Conventions d'emplacement et de nommage (Version 11g)
Windows : X:\app\compte, o X est un lecteur de disque et compte

le compte utilis pour l'installation


Ex. d:\app\foulen
Unix et Linux : /pm/ccc/compte, o pm est un point de montage, ccc
une chane quelconque et compte le compte utilis pour l'installation
Ex. /u01/app/foulen

c (IsitCom)
116 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

116 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

1. Notes sur l'architecture OFA - b. Oracle_Base


Oracle_Base

Contient, entre autres (version 11g)


oradata : chiers des direntes BDs (chiers de donnes, de

contrle, temporaires, d'annulation, de journalisation et d'audit)


admin : chiers d'administration des BDs (Ex. ple)
cfgtoollogs : chiers journaux des assistants de conguration
diag : pour le Rfrentiel de Diagnostic Automatique (ADR)
product : contient un ou plusieurs rpertoire Oracle _Home , un par
version d'un produit Oracle installe

oradata et admin :
Diviss chacun en des sous-rpertoires, un par BD
Chaque sous-rpertoire porte le nom de la BD correspondante
(paramtre DB_NAME)

c (IsitCom)
117 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

117 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

1. Notes sur l'architecture OFA - c.


Oracle_Home
Oracle_Home
Sous-rpertoire d'Oracle_Base\product
Contient les chiers du logiciel install (Ex. serveur de BD : utilitaires,
excutables, scripts, etc.)
Conventions d'emplacement et de nommage (Version 11g)
ORACLE_BASE\product\v.v.v\type_n

v .v .v : version du produit
type : type du produit. Ex. dbhome pour serveur de BD
_n : un numro d'ordre du type

Ex. d:\app\foulen\product\11.2.0\dbhome1

c (IsitCom)
118 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

118 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

2. Cration manuelle - a. tapes


1 Choisir un nom (SID) pour identier l'instance et la distinguer des autres

instances tournant sur la machine


Windows : set oracle_sid=dbisitcom
Unix : export oracle_sid=dbisitcom

2 Crer un chier de mots de passe avec l'utilitaire ORAPWD

ORAPWD FILE=PWDdbisitcom.ora

3 Crer un chier de paramtres PFILE initdbisitcom.ora : partir de

l'exemple Oracle disponible soit dans la documentation soit sous le


rpertoire ORACLE_HOME/dbs/

4 (Uniqu. sous Windows) Crer une instance sous forme d'un service Windows

avec l'utilitaire ORADIM


ORADIM -NEW -SID dbisitcom -STARTMODE MANUAL -PFILE
initdbisitcom.ora

5 Se connecter l'instance (dtermin par le SE selon la valeur de

oracle_sid)
SQLPLUS /nolog puis SQL> CONNECT / AS SYSDBA

c (IsitCom)
119 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

119 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

2. Cration manuelle - a. tapes


7 Crer un chier de paramtres serveur SPFILE

SQL> CREATE SPFILE FROM PFILE

8 Dmarrer l'instance (aucune vrication de cohrence ce niveau)

SQL> STARTUP NOMOUNT

9 Crer la base de donnes

SQL> CREATE DATABASE...

10 Crer des tablespaces additionnels


11 Crer les vues du dictionnaire de donnes et les synonymes avec le script

CATALOG.SQL :
SQL> @ {chemin}CATALOG.SQL

12 Crer les packages PL/SQL avec le script CATPROC.SQL : SQL> @

{chemin}CATPROC.SQL

13 (Windows uniq.) Mettre l'instance en mode dmarrage automatique

ORADIM -EDIT -SID DBISITCOM -STARTMODE AUTO -SRVCSTART


SYSTEM

14 Congurer le DB control (script Oracle_home\bin\emca)

c (IsitCom)
120 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

120 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

2. Cration manuelle - b. Exemple CREATE

DATABASE

CREATE DATABASE DBISITCOM


> Choix des mots de passe de SYS et SYSTEM
USER SYS IDENTIFIED BY i$1tc0m
USER SYSTEM IDENTIFIED BY 0radm1n
> 2 groupes de journalisation de taille 100M chacun
LOGFILE
GROUP 1 ('d:\app\jouini\oradata\DBISITCOM\redo11.log') SIZE 100M,
GROUP 2 ('d:\app\jouini\oradata\DBISITCOM\redo21.log') SIZE 100M
> Nombre max de groupes Redo log
MAXLOGFILES 5
> Nombre de chiers membre par groupe
MAXLOGMEMBERS 10
> Nombre max de chiers de donnes
MAXDATAFILES 100
> Nombre max d'instances pouvant tre associes la BD
MAXINSTANCES 1
c (IsitCom)
121 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

121 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

2. Cration manuelle - b. Exemple CREATE

DATABASE

> Encodage des caractres


CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
> Fichier stockant le tablespace SYSTEM
DATAFILE 'd:\app\jouini\oradata\DBISITCOM\system01.dbf' SIZE 500M
AUTOEXTEND ON MAXSIZE UNLIMITED
> Fichier stockant le tablespace SYSAUX
SYSAUX DATAFILE 'd:\app\jouini\oradata\DBISITCOM\sysaux01.dbf'
SIZE 500M AUTOEXTEND ON MAXSIZE UNLIMITED
> Tablespace temporaire
DEFAULT TEMPORARY TABLESPACE tempts1 TEMPFILE
'd:\app\jouini\oradata\DBISITCOM\temp01.dbf' SIZE 20M
> Tablespace d'annulation
UNDO TABLESPACE undotbs DATAFILE
'd:\app\jouini\oradata\DBISITCOM\undotbs01.dbf' SIZE 200M REUSE
AUTOEXTEND ON MAXSIZE UNLIMITED;

c (IsitCom)
122 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

122 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

3. Cration l'aide du DataBase Conguration Assistant

c (IsitCom)
123 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

123 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

3. Cration l'aide du DataBase Conguration Assistant

c (IsitCom)
124 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

124 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

3. Cration l'aide du DataBase Conguration Assistant

c (IsitCom)
125 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

125 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

3. Cration l'aide du DataBase Conguration Assistant

c (IsitCom)
126 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

126 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

3. Cration l'aide du DataBase Conguration Assistant

c (IsitCom)
127 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

127 / 149

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

3. Cration l'aide du DataBase Conguration Assistant

c (IsitCom)
128 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

128 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

Chapitre 5 - Cration manuelle d'une BD et


conguration du rseau
Introduction
I. Cration d'une base de donnes
1. Notes sur l'architecture OFA
2. Cration manuelle
3. Cration l'aide de DBCA

III. Conguration du rseau (Oracle Net)


1.
2.
3.
4.
5.
6.

Prsentation d'Oracle Net


Identication d'un serveur de BD
Conguration ct client
Conguration ct serveur
Conguration avec l'assistant graphique
L'utilitaire LiSteNeR ConTroL lsnrtctl

c (IsitCom)
129 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

129 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

1. Prsentation d'Oracle Net


Rle : permettre les accs distants d'applications clientes un serveur
de base de donnes Oracle
Installation et conguration : ct client et ct serveur
Objectif : rendre le rseau "transparent" pour les applications
sans spcication de l'adresse de la machine hte du serveur de
BD, du protocole rseau, etc.

Figure:

[Oracle c

Net Services Administrator's Guide 11g Release 2 (11.2) E10836-06, 2010]

c (IsitCom)
129 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

129 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

1. Prsentation d'Oracle Net

Figure: Vue d'ensemble


c (IsitCom)
130 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

130 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

2. Identication d'un serveur de BD


Serveur de BD (instance + BD) : ore le service consistant
connecter et excuter les requtes des applications clientes
Machine serveur (hte du serveur de BD) :
Peut tre l'hte de plusieurs serveurs de BD
Chaque serveur de BD est identi par un nom de service (Service
name)
Au moins un processus d'coute (Listener) doit y tre prsent pour
orienter les requtes vers le nom de service (serveur de BD) concern

Nom de service :
Valeur stocke dans le paramtre SERVICE_NAMES du chier de
paramtres
Par dfaut correspond au nom global de la BD renseign lors de sa
cration : DB_NAME.DB_DOMAIN
Ex. dbisitcom (si pas de domaine), dbisitcom.infcom.rnu.tn
c (IsitCom)
131 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

131 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

3. Conguration ct client - a. Descripteur de


connexion
Accs un serveur de BD partir d'un client :
1 Protocole rseau (Ex. TCP/IP)
2 Adresse de la machine hte. Ex. adresse IP : 10.1.1.5 ou nom rseau

de la machine : SRVCSTCM (utilisation d'un DNS)

3 Port d'coute (si protocole TCP/IP) : par dfaut 1521 pour Oracle
4 Nom de service du serveur de BD

Informations reprsentes sous la forme d'un


connexion (connect descriptor)

c (IsitCom)
132 / 149 Khaled Jouini

Administration des bases de donnes

descripteur de

2012-2013

132 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

3. Conguration ct client - a. Descripteur de


connexion
Descripteur de connexion
Exemple :
db =(description=(address=(protocol=tcp)(host=SRVCSTCM)
(port=1521))connect_data=(service_name=dbisitcom))

db :

nom de service rseau (Net Service Name)


Utilis pour identier le descripteur de connexion

Connexion un serveur de BD depuis un client : par le nom du service


rseau.
Ex. connect system/manager@db.
(@: indique le nom du service rseau auquel l'utilisateur demande se
connecter)
Noms de service rseau auxquels un client peut accder : groups dans
le chier tnsnames.ora
c (IsitCom)
133 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

133 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

3. Conguration ct client - b. Rsolution des


noms de connexions rseau
tnsnames.ora (tns : transparent network substrate)
Rle : rsolution des noms de service rseau en des descripteurs de
connexion
Doit tre prsent sur toute machine dsirant se connecter au(x)
serveur(s) de BD

Autres mthodes de rsolution

1 Mthode de connexion simplie :


Pour TCP/IP, depuis la version Oracle 10g
Adresse de connexion (sans conguration du client) :
[//]hte[:port][/service]
Ex. connect system/manager@SRVCSTCM:1521/dbisitcom
2 LDAP : via un annuaire lectronique (LDAP) centralis.
Ncessite un produit tier (Ex. Oracle Net Directory, Windows Active
Directory, OpenLDAP, etc.)

c (IsitCom)
134 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

134 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

3. Conguration ct client - b. Rsolution des


noms de connexions rseau
tnsnames.ora (tns : transparent network substrate)
Rle : rsolution des noms de service rseau en des descripteurs de
connexion
Doit tre prsent sur toute machine dsirant se connecter au(x)
serveur(s) de BD

Autres mthodes de rsolution

1 Mthode de connexion simplie :


Pour TCP/IP, depuis la version Oracle 10g
Adresse de connexion (sans conguration du client) :
[//]hte[:port][/service]
Ex. connect system/manager@SRVCSTCM:1521/dbisitcom
2 LDAP : via un annuaire lectronique (LDAP) centralis.
Ncessite un produit tier (Ex. Oracle Net Directory, Windows Active
Directory, OpenLDAP, etc.)

c (IsitCom)
134 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

134 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

3. Conguration ct client - b. Rsolution des


noms de connexions rseau
ORACLE_HOME\network\admin\sqlnet.ora : stocke les mthodes de
rsolution des noms de service utilisables par le client

La commande tnsping nomServiceReseau excute au niveau du client


permet de tester si un processus d'coute peut tre contact
l'adresse correspondante

c (IsitCom)
135 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

135 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

4. Conguration ct (machine) serveur - a.


Processus d'coute (Listnener)
Processus d'coute :
Rle : orienter les demandes de connexion des applications clientes
vers le serveur de BD appropri
Se matrialise par
un service sous Windows (Oracle<nomOracle_Home>TNSListener)
un processus sous Unix (tnslsnr)

Gestion (dmarrage/arrt/modication) : par l'utilitaire lsnrctl


Conguration (chier listener.ora) :
Comment le processus coute (ex. selon quelle protocole et pour
quelles adresses)
Pour quels serveurs de BD

c (IsitCom)
136 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

136 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

4. Conguration ct (machine) serveur - b.


Fichier listener.ora
listener.ora (essentiellement) :
1

Emplacements d'coute (ADDRESS_LIST) : Adresses rseaux

utilises par le processus d'coute pour recevoir les demandes de


connexion

Services de BD (SID_LIST_LISTENER) : Serveurs de BD inscrits


auprs du processus d'coute (pour lesquelles le processus coute et
accepte des demandes de connexions)

c (IsitCom)
137 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

137 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

4. Conguration ct (machine) serveur - b.


Fichier listener.ora
Exemple listener.ora :
LNSTRdbisitcom=
(DESCRIPTION=
(ADDRESS_LIST=
(adress=(porotocol=tcp)(host=SRVCSTCM)(port=1521))
)
)
SID_LIST_LISTENER =
(SID_DESC =
(GLOBAL_DBNAME = dbisitcom)
(ORACLE_HOME = d:\app\jouini\product\11.2.0\dbhome_1)
(SID_NAME = dbisitcom)
)
)
c (IsitCom)
138 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

138 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

En rsum...

c (IsitCom)
139 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

139 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - a.


Prsentation
Conguration du rseau : Assistant Conguration Oracle Net ou
Oracle Net Manager

c (IsitCom)
140 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

140 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - a.


Gnration de tnsnames.ora (ct client)

c (IsitCom)
141 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

141 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - a.


Gnration de tnsnames.ora (ct client)

c (IsitCom)
142 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

142 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - a.


Gnration de tnsnames.ora (ct client)

c (IsitCom)
143 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

143 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - a.


Gnration de tnsnames.ora (ct client)

N.B. le chier gnr peut tre dupliqu en l'tat sur toutes les
machines clientes

c (IsitCom)
144 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

144 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - b.


Gnration de listener.ora (ct serveur)

c (IsitCom)
145 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

145 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - b.


Gnration de listener.ora (ct serveur)

c (IsitCom)
146 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

146 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - b.


Gnration de listener.ora (ct serveur)

c (IsitCom)
147 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

147 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - b.


Gnration de listener.ora (ct serveur)

c (IsitCom)
148 / 149 Khaled Jouini

Administration des bases de donnes

2012-2013

148 / 149

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

6. L'utilitaire LiSteNeR ConTroLlsnrtctl


lsnrctl :
S'utilise ct serveur pour grer le(s) processus d'coute
Principales commandes
Commande : lsnrctl>
HELP
HELP commande
START
STOP
STATUS
SERVICES
RELOAD

c (IsitCom)
149 / 149 Khaled Jouini

Eet
Ache la liste des commandes
Ache l'aide sur une commande
Dmarre le processus d'coute
Arrte le processus d'coute
Ache les informations sur la conguration du
processus d'coute et les services enregistrs
Ache des informations dtailles sur les services enregistrs auprs du processus d'coute
Recharge la conguration du processus d'coute
partir de listener.ora

Administration des bases de donnes

2012-2013

149 / 149

Vous aimerez peut-être aussi