100% ont trouvé ce document utile (1 vote)
139 vues35 pages

Architecture du SGBD Oracle expliquée

Bases de données

Transféré par

med.harrane
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
139 vues35 pages

Architecture du SGBD Oracle expliquée

Bases de données

Transféré par

med.harrane
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Mohamed HARRANE Page 1


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 Décrire l'architecture Oracle et ses principaux


composants ;

 Répertorier les structures utilisées dans la


connexion d'un utilisateur à une instance
Oracle.

Mohamed HARRANE Page 2


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Instance
Processus
utilisateur Zone de mémoire Mémoire SGA
partagée

Cache Cache de
tampons de Tampon de
"library" journalisation
la base
Cache du de données
Processus
serveur dictionnaire Zone de mémoire
Zone de
de données mémoire Java LARGE POOL
PGA

PMON SMON DBWR LGWR CKPT Autres

Fichiers de Fichiers de Fichiers de


données contrôle journali- Fichiers de
Fichier de
sation Journalisation
paramètres
archivés
Fichier
de mots
de passe
Base de données

Mohamed HARRANE Page 3


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Un serveur Oracle : Serveur Oracle

 est un système de gestion de


base de données qui offre une
méthode de gestion des
informations ouverte, complète
et intégrée,
 est constitué d'une instance et
d'une base de données Oracle.

Mohamed HARRANE Page 4


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Une instance Oracle :


 permet d'accéder à une base de données Oracle,
 n'ouvre qu'une seule base de données,
 est constituée de structures de processus d'arrière-plan
et de structures mémoire.

Instance
Zone de mémoire Mémoire SGA
partagée
Structures
Cache
Cache Tampon de mémoire
de tampons
"library" journalisation
de la base
Cache du de données
dictionnaire Zone de mémoire
Zone de
de données mémoire Java LARGE POOL
Structures
PMON SMON DBWR LGWR CKPT Autres de processus
d'arrière-plan

Mohamed HARRANE Page 5


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Se connecter à une instance Oracle :


 Établir une connexion utilisateur
 Créer une session

Processus
Connexion serveur
établie Session crée
Processus Serveur Oracle
utilisateur

Utilisateur de la base de données

Mohamed HARRANE Page 6


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Une base de données Oracle :


 est un ensemble de données traitées comme une seule
et même entité,
 est constituée de trois types de fichier.

Base de données Oracle

Fichier de Fichiers Fichiers Fichiers Fichiers de


de de de
paramètres données contrôle journa- Journalisation
Fichier lisation archivés
de mots
de passe

Mohamed HARRANE Page 7


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

La structure physique comprend trois types de fichier :


 Fichiers de contrôle
 Fichiers de données
 Fichiers de journalisation

En-tête
Fichiers
Fichiers de
de
Données
contrôle
Fichiers de (incluent le
journali- dictionnaire
sation de données)
en ligne

Mohamed HARRANE Page 8


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

La structure mémoire d'Oracle est constituée des deux


zones de mémoire suivantes :
 la mémoire SGA, qui est allouée au démarrage de
l'instance et qui est une composante fondamentale d'une
instance Oracle
 la mémoire PGA, qui est allouée au démarrage du
processus serveur

Mohamed HARRANE Page 9


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 La mémoire SGA (Shared Global Area) est constituée de


plusieurs structures mémoire :
• la zone de mémoire partagée,
• le cache de tampons de la base de données,
• le tampon de journalisation,
• d'autres structures (gestion des verrous externes (lock) et
des verrous internes (latch), données statistiques, par
exemple).
 Deux structures mémoire supplémentaires peuvent
également être configurées dans la mémoire SGA :
• la zone de mémoire LARGE POOL,
• la zone de mémoire Java.

Mohamed HARRANE Page 10


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 Dynamique
 Taille définie à l'aide du paramètre SGA_MAX_SIZE
 Allocation et suivi sous forme de granules par les
composants de la mémoire SGA
• Allocation de mémoire virtuelle contiguë
• Taille des granules définie en fonction de la valeur
totale estimée de SGA_MAX_SIZE

Mohamed HARRANE Page 11


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 Elle permet de stocker :


• les dernières instructions SQL exécutées,
• les dernières définitions de données utilisées.
 Elle est constituée de deux structures mémoire clés liées
aux performances :
• Cache "library"
• Cache du dictionnaire de données
 Sa taille est définie par le paramètre SHARED_POOL_SIZE.
Zone de mémoire
partagée
Cache
"library"
ALTER SYSTEM SET
SHARED_POOL_SIZE = 64M; Cache du
dictionnaire
de données

Mohamed HARRANE Page 12


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 Le cache "library" conserve des informations sur les


dernières instructions SQL et PL/SQL utilisées.
 Il permet le partage des instructions fréquemment
utilisées.
 Il est géré par un algorithme LRU.
 Il est composé de deux structures :
• la zone SQL partagée,
• la zone PL/SQL partagée.
 Sa taille dépend du dimensionnement de la zone de
mémoire partagée.

Mohamed HARRANE Page 13


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 Le cache du dictionnaire de données contient les


dernières définitions utilisées dans la base.
 Il contient des informations sur les fichiers, les tables, les
index, les colonnes, les utilisateurs, les privilèges et
d'autres objets de la base de données.
 Au cours de l'analyse, le processus serveur recherche les
informations dans le cache du dictionnaire pour résoudre
les noms d'objet et valider l'accès.
 La mise en mémoire cache des informations du
dictionnaire de données réduit le temps de réponse aux
interrogations et aux instructions LMD.
 La taille du cache dépend du dimensionnement de la
zone de mémoire partagée.

Mohamed HARRANE Page 14


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 Ce cache conserve des copies des blocs de données


extraits des fichiers de données.
 Il permet des gains de performances considérables lors de
l'obtention et de la mise à jour de données.
 Il est géré par un algorithme LRU.
 Le paramètre DB_BLOCK_SIZE détermine la taille du bloc
principal.

Cache
de tampons
de la base
de données

Mohamed HARRANE Page 15


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 Ce cache est composé de sous-caches indépendants :


• DB_CACHE_SIZE
• DB_KEEP_CACHE_SIZE
• DB_RECYCLE_CACHE_SIZE
 Il peut être redimensionné dynamiquement :
ALTER SYSTEM SET DB_CACHE_SIZE = 96M;

 Le paramètre DB_CACHE_ADVICE peut être défini


pour collecter des statistiques permettant de prévoir le
comportement du serveur en fonction de différentes
tailles de cache.
 La vue V$DB_CACHE_ADVICE affiche les statistiques
collectées.
Mohamed HARRANE Page 16
SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 Il enregistre toutes les modifications apportées aux blocs de


données de la base.
 Sa principale fonction est la récupération de données.
 Les modifications enregistrées constituent des entrées de
journalisation.
 Les entrées de journalisation contiennent des informations
permettant de reconstruire des modifications.
 La taille du tampon est définie par le paramètre
LOG_BUFFER.

Tampon de
journalisation

Mohamed HARRANE Page 17


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 Zone facultative de la mémoire SGA


 Elle réduit la charge de la zone de mémoire partagée.
• la mémoire allouée par session (UGA) au serveur
partagé
• les processus serveur d'E/S
• les opérations de sauvegarde et de restauration ou
RMAN
• les mémoires tampon des messages d'exécution en
parallèle
– PARALLEL_AUTOMATIC_TUNING = TRUE
 Elle n'utilise pas de liste LRU.
 Sa taille est définie par le paramètre LARGE_POOL_SIZE.

Mohamed HARRANE Page 18


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 La zone de mémoire Java répond aux besoins


d'analyse des commandes Java.
 Elle est nécessaire si Java est installé et utilisé.
 Sa taille est définie par le paramètre
JAVA_POOL_SIZE.

Mohamed HARRANE Page 19


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 La mémoire PGA (Program Global Area ou Process Global


Area) est une mémoire qui contient les données et les
informations de contrôle d'un seul processus serveur ou
d'un seul processus d'arrière-plan.

 Mémoire réservée à chaque processus


utilisateur qui se connecte à une base PGA
Processus
de données Oracle. serveur
 Elle est allouée lorsqu'un processus
est créé.
Processus
 Elle est libérée à la fin du processus. utilisateur
 Elle n'est utilisée que par un
processus.

Mohamed HARRANE Page 20


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Oracle utilise différents types de processus :


 le processus utilisateur, qui est démarré au moment où
un utilisateur de la base de données tente de se connecter
au serveur Oracle,
 le processus serveur, qui établit la connexion à l'instance
Oracle et démarre lorsqu'un utilisateur ouvre une session,
 les processus d'arrière-plan, lancés au démarrage d'une
instance Oracle.

Mohamed HARRANE Page 21


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 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 données

Mohamed HARRANE Page 22


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 Programme qui entre directement en interaction avec le


serveur Oracle.
 Il répond aux appels générés et renvoie les résultats.
 Il peut s'agir d'un serveur dédié ou d'un serveur partagé.

Processus
Connexion serveur
établie Session crée
Processus Serveur Oracle
utilisateur

Utilisateur de la base de données

Mohamed HARRANE Page 23


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Gèrent et appliquent les relations entre les structures


physiques et les structures mémoire.
 Processus d'arrière-plan obligatoires
• DBWn PMON CKPT
• LGWR SMON
 Processus d'arrière-plan facultatifs
• ARCn LMDn RECO
• CJQ0 LMON Snnn
• Dnnn Pnnn
• LCKn QMNn

Mohamed HARRANE Page 24


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

DBWn écrit dans les cas suivants :


Instance
 point de reprise
Mémoire SGA
Cache
 seuil des tampons "dirty"
de tampons atteint
de la base
de données  aucune mémoire tampon
disponible
DBWn  temps imparti dépassé
 demande de ping RAC
 tablespace hors ligne
 tablespace en lecture seule
Fichiers Fichiers Fichiers
de de de  DROP ou TRUNCATE sur une
données contrôle journa-
lisation table
 BEGIN BACKUP sur un
Base de données
tablespace

Mohamed HARRANE Page 25


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

LGWR écrit dans les


Instance
Mémoire SGA cas suivants :
Tampon de
journali-
 validation
sation  un tiers du cache est
occupé
DBWn LGWR  la journalisation
atteint 1 Mo
 toutes les trois
Fichiers Fichiers Fichiers secondes
de de de
données contrôle journa-
lisation
 avant que le
processus DBWn ne
Base de données procède à une
opération d'écriture
Mohamed HARRANE Page 26
SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Responsabilités :
Instance
Mémoire SGA  Récupération de l'instance :
• Ré-implémente des
modifications dans les
fichiers de
journalisation,
• ouvre la base de
SMON
données pour permettre
l'accès aux utilisateurs,
• annule les transactions
Fichiers Fichiers Fichiers
de de de non validées.
données contrôle journa-
lisation  Fusion de l'espace libre
Base de données  Libération des segments
temporaires segments

Mohamed HARRANE Page 27


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Instance
Mémoire SGA
Suite à l'échec de processus,
PMON
exécute des opérations
de nettoyage :
PMON
 annule la transaction
 libère des verrous
 libère d'autres ressources
Mémoire PGA
 redémarre les
répartiteurs interrompus

Mohamed HARRANE Page 28


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Instance
Mémoire SGA
Ce processus est chargé :
 de signaler DBWn aux
points de reprise,
 de mettre à jour les
en-têtes de fichiers
de données avec les
DBWn LGWR CKPT
informations sur le point de
reprise,
 de mettre à jour les fichiers
Fichiers Fichiers Fichiers de contrôle avec les
de de
de
données contrôle journa-
informations sur le point de
lisation reprise.
Base de données

Mohamed HARRANE Page 29


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 Processus d'arrière-plan facultatif


 En mode ARCHIVELOG, il archive automatiquement les
fichiers de journalisation en ligne
 Il enregistre toutes les modifications apportées à la base
de données

ARCn Fichiers
Fichiers Fichiers Fichiers de
de de de
données contrôle journa- journali-
lisation sation
archivés

Mohamed HARRANE Page 30


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 La structure logique définit le mode d'utilisation de


l'espace physique d'une base de données.
 Cette structure possède une hiérarchie composée de
tablespaces, de segments, d'extents et de blocs.

Tablespace
Fichier de données
Segment Segment

Extent Blocs

Mohamed HARRANE Page 31


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

 Connexion à une instance via :


• le processus utilisateur,
• le processus serveur.
 Les composants du serveur Oracle utilisés dépendent du
type d'instruction SQL :
• Les interrogations renvoient des lignes.
• Les instructions LMD consignent les modifications.
• La validation garantit la récupération de la transaction.
 Certains composants du serveur Oracle n'interviennent
pas dans le traitement des instructions SQL.

Mohamed HARRANE Page 32


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Ce chapitre vous a présenté :


 les fichiers de base de données : fichiers de données,
fichiers de contrôle, fichiers de journalisation en ligne
 les structures mémoire SGA : cache de tampons de la
base de données, zone de mémoire partagée et tampon
de journalisation
 les principaux processus d'arrière-plan :
DBWn, LGWR, CKPT, PMON et SMON
 l'utilisation du processus d'arrière-plan ARCn
 les processus d'arrière-plan facultatifs et conditionnels
 la hiérarchie logique

Mohamed HARRANE Page 33


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Cet exercice porte sur :


 les composants de l'architecture
 les structures utilisées dans la connexion
d'un utilisateur à une instance Oracle

Mohamed HARRANE Page 34


SGBD - Oracle Chapitre 1 : Architecture d’Oracle

Exercice 1 : composants de l'architecture Oracle (suite)


1. Affectez à chaque processus la tâche correspondante.
a Database Writer E permet l'écriture dans les en-têtes des fichiers de données.
b Log Writer C se charge de la récupération de l'instance.
c System Monitor D exécute des opérations de nettoyage suite à l'échec de processus.
d Process Monitor B enregistre les modifications de la BD pour permettre la récupération.
e Checkpoint A écrit les tampons "dirty" dans les fichiers de données.

2 - La structure physique d'une base Oracle est composée de fichiers de contrôle, de fichiers de données et de
fichiers de journalisation.
a Vrai b Faux
3 - Rétablissez la hiérarchie des structures suivantes, en commençant par la base de données.
a Tablespaces
b Extent
c Segment
d Base de donnée
e Bloc
4 - Indiquez les composants d'un serveur Oracle.
5 - Indiquez les composants d'une instance Oracle.
6 - Indiquez trois types de fichier composant une base de données Oracle.

Mohamed HARRANE Page 35

Vous aimerez peut-être aussi