Vous êtes sur la page 1sur 34

1

Composants de l'architecture Oracle

Copyright Oracle Corporation, 2001. Tous droits rservs.

Objectifs
A la fin de ce chapitre, vous pourrez :
dcrire l'architecture Oracle et ses principaux
composants
rpertorier les structures utilises dans la connexion
d'un utilisateur une instance Oracle

1-2

Copyright Oracle Corporation, 2001. Tous droits rservs.

Prsentation des principaux composants


Processus
utilisateur

Zone de mmoire
partage
Cache
"library"
Cache du
dictionnaire
de donnes

Processus
serveur
PGA

Instance
Mmoire SGA
Cache de
tampons de
la base
de donnes

Tampon de
journalisation

Zone de
mmoire Java

Zone de mmoire
LARGE POOL

PMON SMON DBWR LGWR

Fichier de
paramtres
Fichier
de mots
de passe

1-3

Fichiers de
donnes

Fichiers de
contrle

CKPT

Fichiers de
journalisation

Base de donnes

Copyright Oracle Corporation, 2001. Tous droits rservs.

Autres

Fichiers de
Journalisation
archivs

Serveur Oracle
Un serveur Oracle :
est un systme de gestion de
base de donnes qui offre une
mthode de gestion des
informations ouverte,
complte et intgre,
est constitu d'une instance
et d'une base de donnes
Oracle.

1-5

Serveur Oracle

Copyright Oracle Corporation, 2001. Tous droits rservs.

Instance Oracle
Une instance Oracle :
permet d'accder une base de donnes Oracle,
n'ouvre qu'une seule base de donnes,
est constitue de structures de processus d'arrireplan et de structures mmoire.
Zone de mmoire
partage
Cache
"library"
Cache du
dictionnaire
de donnes

Instance
Mmoire SGA
Cache
de tampons
de la base
de donnes

Tampon de
journalisation

Zone de
mmoire Java

Zone de mmoire
LARGE POOL

PMON SMON DBWR LGWR

1-6

CKPT

Autres

Structures
mmoire

Structures
de processus
d'arrire-plan

Copyright Oracle Corporation, 2001. Tous droits rservs.

Etablir une connexion et crer une session


Se connecter une instance Oracle :
Etablir une connexion utilisateur
Crer une session
Connexion
tablie

Processus
serveur

Processus
utilisateur

Session cre
Serveur Oracle

Utilisateur de la base de donnes


1-7

Copyright Oracle Corporation, 2001. Tous droits rservs.

Base de donnes Oracle


Une base de donnes Oracle :
est un ensemble de donnes traites comme une
seule et mme entit,
est constitue de trois types de fichier.
Base de donnes Oracle
Fichier de
paramtres
Fichier
de mots
de passe

1-9

Fichiers Fichiers Fichiers


Fichiers de
de
de
de
donnes contrle journa- Journalisation
lisation
archivs

Copyright Oracle Corporation, 2001. Tous droits rservs.

Structure physique
La structure physique comprend trois types de fichier :
Fichiers de contrle
Fichiers de donnes
Fichiers de journalisation

Fichiers de
journalisation
en ligne

1-10

En-tte
Fichiers de
Donnes
(incluent le
dictionnaire
de donnes)

Fichiers
de
contrle

Copyright Oracle Corporation, 2001. Tous droits rservs.

Structure mmoire
La structure mmoire d'Oracle est constitue des deux
zones de mmoire suivantes :
la mmoire SGA, qui est alloue au dmarrage de
l'instance et qui est une composante fondamentale
d'une instance Oracle
la mmoire PGA, qui est alloue au dmarrage du
processus serveur

1-11

Copyright Oracle Corporation, 2001. Tous droits rservs.

Mmoire SGA
La mmoire SGA est constitue de plusieurs
structures mmoire :

la zone de mmoire partage,


le cache de tampons de la base de donnes,
le tampon de journalisation,
d'autres structures (gestion des verrous externes
(lock) et des verrous internes (latch), donnes
statistiques, par exemple).

Deux structures mmoire supplmentaires peuvent


galement tre configures dans la mmoire SGA :
la zone de mmoire LARGE POOL,
la zone de mmoire Java.

1-12

Copyright Oracle Corporation, 2001. Tous droits rservs.

Mmoire SGA
Dynamique
Taille dfinie l'aide du paramtre SGA_MAX_SIZE
Allocation et suivi sous forme de granules par les
composants de la mmoire SGA
Allocation de mmoire virtuelle contigu
Taille des granules dfinie en fonction de la valeur
totale estime de SGA_MAX_SIZE

1-14

Copyright Oracle Corporation, 2001. Tous droits rservs.

Zone de mmoire partage


Elle permet de stocker :
les dernires instructions SQL excutes,
les dernires dfinitions de donnes utilises.

Elle est constitue de deux structures mmoire cls


lies aux performances :
Cache "library"
Cache du dictionnaire de donnes

Sa taille est dfinie par le paramtre


SHARED_POOL_SIZE.
Zone de mmoire
partage

ALTER SYSTEM SET


SHARED_POOL_SIZE = 64M;

1-15

Cache
"library"
Cache du
dictionnaire
de donnes

Copyright Oracle Corporation, 2001. Tous droits rservs.

Cache "library"
Le cache "library" conserve des informations sur
les dernires instructions SQL et PL/SQL utilises.
Il permet le partage des instructions frquemment
utilises.
Il est gr par un algorithme LRU.
Il est compos de deux structures :
la zone SQL partage,
la zone PL/SQL partage.

Sa taille dpend du dimensionnement de la zone de


mmoire partage.

1-16

Copyright Oracle Corporation, 2001. Tous droits rservs.

Cache du dictionnaire de donnes


Le cache du dictionnaire de donnes contient les
dernires dfinitions utilises dans la base.
Il contient des informations sur les fichiers, les tables,
les index, les colonnes, les utilisateurs, les privilges
et d'autres objets de la base de donnes.
Au cours de l'analyse, le processus serveur recherche
les informations dans le cache du dictionnaire pour
rsoudre les noms d'objet et valider l'accs.
La mise en mmoire cache des informations du
dictionnaire de donnes rduit le temps de rponse
aux interrogations et aux instructions LMD.
La taille du cache dpend du dimensionnement de la
zone de mmoire partage.
1-17

Copyright Oracle Corporation, 2001. Tous droits rservs.

Cache de tampons de la base de donnes


Ce cache conserve des copies des blocs de
donnes extraits des fichiers de donnes.
Il permet des gains de performances considrables
lors de l'obtention et de la mise jour de donnes.
Il est gr par un algorithme LRU.
Le paramtre DB_BLOCK_SIZE dtermine la taille du
bloc principal.
Cache
de tampons
de la base
de donnes

1-18

Copyright Oracle Corporation, 2001. Tous droits rservs.

Cache de tampons de la base de donnes


Ce cache est compos de sous-caches
indpendants :
DB_CACHE_SIZE
DB_KEEP_CACHE_SIZE
DB_RECYCLE_CACHE_SIZE

Il peut tre redimensionn dynamiquement :


ALTER SYSTEM SET DB_CACHE_SIZE = 96M;

Le paramtre DB_CACHE_ADVICE peut tre dfini


pour collecter des statistiques permettant de prvoir
le comportement du serveur en fonction de
diffrentes tailles de cache.
La vue V$DB_CACHE_ADVICE affiche les statistiques
collectes.
1-19

Copyright Oracle Corporation, 2001. Tous droits rservs.

Tampon de journalisation
Il enregistre toutes les modifications apportes aux
blocs de donnes de la base.
Sa principale fonction est la rcupration de donnes.
Les modifications enregistres constituent des entres
de journalisation.
Les entres de journalisation contiennent des
informations permettant de reconstruire des
modifications.
La taille du tampon est
Tampon de
dfinie par le paramtre
journalisation
LOG_BUFFER.

1-21

Copyright Oracle Corporation, 2001. Tous droits rservs.

Zone de mmoire LARGE POOL


Zone facultative de la mmoire SGA
Elle rduit la charge de la zone de mmoire
partage.
la mmoire alloue par session (UGA) au serveur
partag
les processus serveur d'E/S
les oprations de sauvegarde et de restauration ou
RMAN
les mmoires tampon des messages d'excution en
parallle
PARALLEL_AUTOMATIC_TUNING = TRUE

Elle n'utilise pas de liste LRU.


Sa taille est dfinie par le paramtre
LARGE_POOL_SIZE.
1-22

Copyright Oracle Corporation, 2001. Tous droits rservs.

Zone de mmoire Java


La zone de mmoire Java rpond aux besoins
d'analyse des commandes Java.
Elle est ncessaire si Java est install et utilis.
Sa taille est dfinie par le paramtre
JAVA_POOL_SIZE.

1-24

Copyright Oracle Corporation, 2001. Tous droits rservs.

Mmoire PGA
Mmoire rserve chaque
processus utilisateur qui se
connecte une base
de donnes Oracle.
Elle est alloue lorsqu'un
processus est cr.
Elle est libre la fin du
processus.
Elle n'est utilise que par un
processus.

1-25

Processus
serveur

Processus
utilisateur

Copyright Oracle Corporation, 2001. Tous droits rservs.

PGA

Structure de processus
Oracle utilise diffrents types de processus :
le processus utilisateur, qui est dmarr au moment
o un utilisateur de la base de donnes tente de se
connecter au serveur Oracle,
le processus serveur, qui tablit la connexion
l'instance Oracle et dmarre lorsqu'un utilisateur
ouvre une session,
les processus d'arrire-plan, lancs au dmarrage
d'une instance Oracle.

1-28

Copyright Oracle Corporation, 2001. Tous droits rservs.

Processus utilisateur
Programme qui demande une interaction avec le
serveur Oracle.
Ce processus doit d'abord tablir une connexion.
Il n'entre pas directement en interaction avec le
serveur Oracle.
Processus
serveur
Processus
utilisateur

Connexion
tablie

Utilisateur de la base de donnes


1-29

Copyright Oracle Corporation, 2001. Tous droits rservs.

Processus serveur
Programme qui entre directement en interaction avec
le serveur Oracle.
Il rpond aux appels gnrs et renvoie les rsultats.
Il peut s'agir d'un serveur ddi ou d'un serveur
partag.
Connexion
tablie

Processus
serveur

Processus
utilisateur

Session cre
Serveur Oracle

Utilisateur de la base de donnes


1-30

Copyright Oracle Corporation, 2001. Tous droits rservs.

Processus d'arrire-plan
Grent et appliquent les relations entre les structures
physiques et les structures mmoire.
Processus d'arrire-plan obligatoires
DBWn PMON CKPT
LGWR SMON

Processus d'arrire-plan facultatifs

1-31

ARCn
CJQ0
Dnnn
LCKn

LMDn RECO
LMON Snnn
Pnnn
QMNn

Copyright Oracle Corporation, 2001. Tous droits rservs.

Processus database writer (DBWn)


DBWn crit dans les cas
suivants :
point de reprise
Cache
de tampons
seuil des tampons "dirty"
de la base
de donnes
atteint
aucune mmoire tampon
disponible
DBWn
temps imparti dpass
demande de ping RAC
tablespace hors ligne
Fichiers Fichiers Fichiers tablespace en lecture seule
de
de
de
donnes contrle journa- DROP ou TRUNCATE sur une
lisation
table
Base de donnes
BEGIN BACKUP sur un
tablespace
Instance
Mmoire SGA

1-32

Copyright Oracle Corporation, 2001. Tous droits rservs.

Processus LGWR (Log Writer)


Instance
Mmoire SGA
Tampon de
journalisation

DBWn LGWR

Fichiers
de
donnes

Fichiers Fichiers
de
de
contrle journalisation

Base de donnes

1-33

LGWR crit dans les cas


suivants :
validation
un tiers du cache est
occup
la journalisation atteint
1 Mo
toutes les trois
secondes
avant que le processus
DBWn ne procde une
opration d'criture

Copyright Oracle Corporation, 2001. Tous droits rservs.

Processus SMON (System Monitor)


Instance
Mmoire SGA

SMON

Fichiers Fichiers Fichiers


de
de
de
journacontrle
donnes
lisation

Base de donnes

1-34

Responsabilits :
Rcupration de l'instance :
rimplmente des
modifications dans les
fichiers de journalisation,
ouvre la base de
donnes pour permettre
l'accs aux utilisateurs,
annule les transactions
non valides.
Fusion de l'espace libre
Libration des segments
temporaires segments

Copyright Oracle Corporation, 2001. Tous droits rservs.

Processus PMON (Process Monitor)


Instance
Mmoire SGA

PMON

Mmoire PGA

1-35

Suite l'chec de
processus, PMON
excute des oprations
de nettoyage :
annule la transaction
libre des verrous
libre d'autres
ressources
redmarre les
rpartiteurs interrompus

Copyright Oracle Corporation, 2001. Tous droits rservs.

Processus CKPT (Checkpoint)


Ce processus est charg :
de signaler DBWn aux
points de reprise,
de mettre jour les
en-ttes de fichiers
de donnes avec les
DBWn LGWR CKPT
informations sur le
point de reprise,
de mettre jour les
fichiers de contrle
Fichiers Fichiers Fichiers
de
de
de
avec les informations
donnes contrle journalisation
sur le point de reprise.
Instance
Mmoire SGA

Base de donnes

1-36

Copyright Oracle Corporation, 2001. Tous droits rservs.

Processus ARCn (processus d'archivage)


Processus d'arrire-plan facultatif
En mode ARCHIVELOG, il archive automatiquement
les fichiers de journalisation en ligne
Il enregistre toutes les modifications apportes la
base de donnes

Fichiers Fichiers Fichiers


de
de
de
contrle
journadonnes
lisation

1-38

ARCn

Fichiers
de
journalisation
archivs

Copyright Oracle Corporation, 2001. Tous droits rservs.

Structure logique
La structure logique dfinit le mode d'utilisation de
l'espace physique d'une base de donnes.
Cette structure possde une hirarchie compose
de tablespaces, de segments, d'extents et de blocs.
Tablespace
Fichier de donnes
Segment
Segment

Extent

1-40

Blocs

Copyright Oracle Corporation, 2001. Tous droits rservs.

Traiter les instructions SQL


Connexion une instance via :
le processus utilisateur,
le processus serveur.

Les composants du serveur Oracle utiliss


dpendent du type d'instruction SQL :
Les interrogations renvoient des lignes.
Les instructions LMD consignent les modifications.
La validation garantit la rcupration de la transaction.

Certains composants du serveur Oracle


n'interviennent pas dans le traitement des
instructions SQL.

1-43

Copyright Oracle Corporation, 2001. Tous droits rservs.

Synthse
Ce chapitre vous a prsent :
les fichiers de base de donnes : fichiers de
donnes, fichiers de contrle, fichiers de
journalisation en ligne
les structures mmoire SGA : cache de tampons de
la base de donnes, zone de mmoire partage et
tampon de journalisation
les principaux processus d'arrire-plan :
DBWn, LGWR, CKPT, PMON et SMON
l'utilisation du processus d'arrire-plan ARCn
les processus d'arrire-plan facultatifs et
conditionnels
la hirarchie logique
1-45

Copyright Oracle Corporation, 2001. Tous droits rservs.

Prsentation de l'exercice 1
Cet exercice porte sur :
les composants de l'architecture
les structures utilises dans la connexion d'un
utilisateur une instance Oracle

1-46

Copyright Oracle Corporation, 2001. Tous droits rservs.