Vous êtes sur la page 1sur 38

1

Architecture d'une base de données Oracle


Objectifs

A la fin de ce chapitre, vous pourrez :


• énumérer les principaux composants de l'architecture
d'une base de données Oracle
• décrire les structures mémoire
• décrire les processus en arrière-plan
• définir la relation entre les structures de stockage logiques
et physiques
• décrire les composants de stockage ASM

1-2
Base de données Oracle

Le système de gestion de base de données relationnelle


(SGBDR) Oracle fournit une approche ouverte, complète et
intégrée de la gestion des informations.

1-3
Se connecter à un serveur

Client Niveau Serveur


intermédiaire

Architecture multiniveau

1-4
Architecture d'un serveur de base de données
Oracle : Présentation
Instance
PGA
Processus
serveur Structures mémoire
(mémoire SGA)

Serveur
Structures de processus

Processus
utilisateur

Base de données (structures de stockage)


Client

1-6
Instance : Configurations de base de données

Système non clusterisé Système clusterisé

I1
I1 I2 I3
I2

D1

D2

Espace de D
stockage local

Espace de stockage
partagé

1-7
Connexion à une instance de base de données

• Connexion : Communication entre un processus utilisateur


et une instance
• Session : Connexion spécifique d'un utilisateur à une
instance via un processus utilisateur

Processus Processus
SQL> Select … utilisateur serveur
Utilisateur Session

Connexion

Session

1-8
Structures mémoire d'une base de données Oracle
Mémoire PGA
(Program Global Area) PGA
Espace Mémoire Espace Mémoire
de pile UGA (User de pile UGA (User
Global Global
Area) Area)
Processus Processus
serveur 1 serveur 2

Cache de Espace de tampons


Zone de Tampon
tampons de à conserver
mémoire de journa-
la base
partagée lisation Espace de tampons
de données
à recycler
Zone de Zone de
Zone de Cache de tampons de
mémoire mémoire
mémoire blocs de taille nK
LARGE Streams
POOL Java

Mémoire SGA (System Global Area)

1-9
Zone de mémoire partagée
• Portion de la mémoire SGA
• Contenu :
– Cache "library"

Zone SQL partagée Zone SQL
Cache du dictionnaire
de données
– Cache du dictionnaire partagée

de données Zone de mémoire fixe


– Structures de contrôle
Cache Autres
"library"
Zone de Cache de Tampon Espace de tampons
mémoire tampons de la de journa- à conserver
partagée base de données lisation
Espace de tampons
à recycler
Zone de Zone de Zone de
mémoire mémoire mémoire Cache de tampons
LARGE POOL Java Streams de blocs de taille nK

Mémoire SGA (System Global Area)

1 - 11
Cache de tampons de la base de données
• Fait partie de la mémoire SGA
• Contient les copies de blocs de données lues dans les
fichiers de données
• Est partagé par tous les utilisateurs simultanés

Cache de Tampon Espace de tampons à


tampons de de conserver
Zone de
la base journa-
mémoire Espace de tampons à
de données lisation
partagée recycler

Cache de tampons de
Zone de Zone de Zone de blocs de taille nK
mémoire mémoire mémoire
LARGE Java Streams
POOL

Mémoire SGA (System Global Area)

1 - 13
Tampon de journalisation
• Mémoire tampon réutilisable située dans la mémoire SGA
• Contient des informations sur les modifications apportées à
la base de données
• Contient des entrées de journalisation dont les informations
permettent d'annuler les modifications effectuées par des
opérations LMD et LDD

Tampon Espace de tampons


de à conserver
Cache
Zone dede tampons de la base de données
journa-
mémoire Espace de tampons
lisation
partagée
Zone de à recycler
mémoire Zone de Zone de
LARGE mémoire mémoire Cache de tampons
POOL Java Streams de blocs de taille nK

Mémoire SGA (System Global Area)

1 - 14
Zone de mémoire LARGE POOL
Elle fournit des allocations de mémoire de grande taille pour
les éléments suivants :
• Mémoire de session pour le serveur partagé et l'interface
Oracle XA
• Processus serveur d'E/S
• Opérations de sauvegarde et de restauration d'Oracle
Database
Cache Tampon Espace de
Zone de tampons à
de tampons de
mémoire conserver
de la base journa- Tampon Mémoire Environnement
partagée Cache de
Espace de disponible
de données lisation d'E/S Parallel Query
tamponsà
tampons
Zone de Zone de File d'attente
de blocs File d'attente
recycler Advanced
Zone de mémoire mémoire de réponses
de taille nK de demandes Queuing
mémoire
LARGE POOL Java Streams
Zone de mémoire
LARGE POOL
Mémoire SGA (System Global Area)

1 - 15
Zones de mémoire Java et Streams
• La zone de mémoire Java est utilisée pour l'ensemble du
code Java et des données propres à la session dans la
JVM (Java Virtual Machine).
• La zone de mémoire Streams est utilisée exclusivement par
Oracle Streams :
– Stockage des messages de la file d'attente tampon
– Fourniture de mémoire pour les processus Oracle Streams

Zone de Cache de Tampon Espace de tampons


mémoire tampons de de à conserver
partagée la base journa-
de données lisation Espace de tampons
Zone de à recycler
mémoire Zone de Zone de
LARGE mémoire mémoire Cache de tampons
POOL Java Streams de blocs de taille nK

Zone de Zone de mémoire


mémoire Java Streams
Mémoire SGA (System Global Area)

1 - 16
Mémoire PGA (Program Global Area)
PGA Etat du Zone de tri Zone de
curseur hachage
Mémoire
UGA Zone de création d'index
Espace (User bitmap
de pile Données de
Global
session
Area) utilisateur Zone de fusion d'index
bitmap
Processus
serveur 1

Zones de travail SQL

Cache de Tampon Espace de tampons


Zone de à conserver
tampons de de
mémoire
la base journa-
partagée Espace de tampons
de données lisation
à recycler
Zone de Zone de Zone de
mémoire mémoire mémoire Cache de tampons de
LARGE POOL Java Streams blocs de taille nK

Mémoire SGA (System Global Area)

1 - 17
Quiz

Quel est le nom de la zone de mémoire contenant des données


et des informations de contrôle pour un processus serveur ou
un processus en arrière-plan :
1. Zone de mémoire partagée
2. PGA
3. Cache de tampons
4. Données de session utilisateur

1 - 18
Quiz

Quels éléments sont lus dans les fichiers de données et placés


dans le cache de tampons de la base ?
1. Lignes
2. Modifications
3. Blocs
4. Instructions SQL

1 - 19
Architecture des processus

• Processus utilisateur
– Application ou outil qui se connecte à la base de données
Oracle
• Processus de base de données
– Processus serveur : Se connecte à l'instance Oracle et
démarre lorsqu'un utilisateur ouvre une session
– Processus en arrière-plan : Démarrés en même temps qu'une
instance Oracle
• Démon / processus applicatifs
– Processus d'écoute réseau
– Démons de l'infrastructure de grid

1 - 20
Structure des processus

Instances (ASM et base de données à part)

Mémoire SGA (System Global Area)


PGA
Processus Processus en arrière-plan
serveur
Obligatoires  : DBWn CKPT LGWR SMON PMON RECO

Processus Facultatifs : ARCn ASMB RBAL Autres


d'écoute

Processus d'Oracle Grid Infrastructure


(ASM et Oracle Restart)
Processus ohas ocssd diskmon
utilisateur

orarootagent oraagent cssdagent

1 - 21
Processus DBWn (Database Writer)

Il écrit sur le disque les tampons qui ont été modifiés ("dirty")
dans le cache de tampons de la base de données :
• de manière asynchrone pendant l'exécution d'autres
traitements
• pour faire avancer le point de reprise

DBWn

Cache de tampons Processus Database Fichiers de données


de la base de Writer
données

1 - 23
Processus LGWR (Log Writer)
• Il écrit le tampon de journalisation dans un fichier de
journalisation sur le disque.
• Les opérations d'écriture ont lieu dans les cas suivants :
– Quand un processus utilisateur valide une transaction.
– Quand un tiers du tampon de journalisation est plein.
– Avant qu'un processus DBWn écrive des tampons modifiés
sur le disque.
– Toutes les 3 secondes.

LGWR

Tampon de Processus Log Fichiers de


journalisation Writer journalisation

1 - 25
Processus CKPT (Checkpoint)

• Il enregistre les informations de point de reprise


– dans le fichier de contrôle
– dans l'en-tête de chaque fichier de données

CKPT Fichier de
contrôle

Processus
CKPT

Fichiers de
données

1 - 27
Processus SMON (System Monitor)

• Il effectue les opérations de récupération au démarrage


de l'instance.
• Il nettoie les segments temporaires inutilisés.

Instance
SMON

Processus SMON

Segment
temporaire

1 - 28
Processus PMON (Process Monitor)
• Il assure la récupération des processus utilisateur qui ont
échoué.
– Nettoyage du cache de tampons de la base de données
– Libération des ressources utilisées par le processus utilisateur
en échec
• Il surveille les sessions pour détecter tout dépassement
du délai d'inactivité.
• Il enregistre dynamiquement les services de base de
données dans les processus d'écoute.
Processus
serveur

PMON
Utilisateur
tnslsnr Cache de tampons de
Processus utilisateur Processus PMON
la base de données
en échec

1 - 29
Processus RECO (Recoverer)
• Il intervient dans une configuration de base de données
distribuée.
• Il se connecte automatiquement aux autres bases
impliquées dans des transactions distribuées équivoques.
• Il résout automatiquement toutes les transactions
équivoques.
• Il supprime toutes les lignes correspondant à des
transactions équivoques.

RECO

Processus RECO dans Transaction équivoque


la base A dans la base B

1 - 30
Processus ARCn (Archiver)

• Il copie les fichiers de journalisation sur le périphérique de


stockage désigné après un changement de fichier de
journalisation.
• Il peut collecter des données de journalisation sur les
transactions et les transmettre à des destinations de
secours.

ARCn

Processus d'archivage Copies des fichiers Destination de l'archive


de journalisation
archivés

1 - 31
Séquence de démarrage des processus
• Oracle Grid Infrastructure est démarré par le démon init du
système d'exploitation.
Démon d'initialisation
du système Script wrapper Démons et processus
d'exploitation Grid Infrastructure Grid Infrastructure
init ohasd.bin Instance ASM
init.ohasd oraagent.bin Processus
(root) d'écoute
orarootagent.bin
Instance de BdD
diskmon.bin
Applications
cssdagent définies par
ocssd.bin l'utilisateur

• L'installation d'Oracle Grid Infrastructure modifie le fichier


/etc/inittab pour garantir le démarrage chaque fois que
l'ordinateur est démarré dans le niveau d'exécution
correspondant.
# cat /etc/inittab
..
h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null 

1 - 32
Architecture de stockage de la base de données

Fichiers de Fichiers de Fichiers de


contrôle données journalisation en ligne

Fichier de Fichiers de Fichiers de


paramètres sauvegarde journalisation
archivés

Fichier de mots Fichiers trace et fichier


de passe d'alertes

1 - 33
Structures logiques et physiques
d'une base de données
Structures logiques Structures physiques

Base de données

Fichier de
Tablespace
données

Segment
Système de stockage
• SAN • NFS
Extent
• NAS • ASM
• Exadata • RAW
Bloc de
données Oracle • Système de fichiers

1 - 35
Segments, extents et blocs

• Les segments existent dans un tablespace.


• Les segments sont des ensembles d'extents.
• Les extents sont des ensembles de blocs de données
contigus.
• Les blocs de données sont mis en correspondance avec
des blocs du disque.

Segment Extents Blocs de Blocs du disque


données (stockage dans
le système de
fichiers)

1 - 37
Tablespaces et fichiers de données

Tablespace 1 Tablespace 2 (Bigfile)

Fichier de Fichier de Fichier de


données 1 données 2 données 3

8 Ko 8 Ko 8 Ko 8 Ko 8 Ko
8 Ko 8 Ko 8 Ko 8 Ko 8 Ko
Un seul fichier de
8 Ko 8 Ko 8 Ko 8 Ko 8 Ko données autorisé
8 Ko 8 Ko 8 Ko 8 Ko 8 Ko <= 128 To

Extent Extent
64 Ko 96 Ko

Segment
160 Ko

1 - 38
Tablespaces SYSTEM et SYSAUX

• Les tablespaces SYSTEM et SYSAUX sont obligatoires. Ils


sont créés en même temps que la base de données. Ils
doivent être en ligne.
• Le tablespace SYSTEM est utilisé pour les fonctionnalités
principales (les tables du dictionnaire de données, par
exemple).
• Le tablespace auxiliaire SYSAUX sert aux composants de
base de données supplémentaires (tels que le référentiel
Enterprise Manager).
• Il est déconseillé d'utiliser les tablespaces SYSTEM et
SYSAUX pour stocker les données des applications.

1 - 39
Automatic Storage Management (ASM)
• Il s'agit d'un système de fichiers clusterisé portable aux
performances élevées.
• Il gère les fichiers de base Base de
de données Oracle. Application données
Oracle
• Il gère les fichiers des applications
à l'aide du système de fichiers ACFS
(ASM Cluster File System). Système de
Fichiers
fichiers
ASM pour
• Il répartit les données entre ACFS
la base
les différents disques Gestionnaire de
pour équilibrer la charge. de volumes données
dynamiques Oracle
• Il effectue une mise en miroir des ASM
données pour éviter les pertes Automatic Storage Management
en cas d'incident.
Système d'exploitation
• Il facilite la gestion du stockage.

1 - 40
Composants de stockage ASM

ASM
Fichier de
Groupe
base de
Fichier ASM de disques
données
ASM
Oracle

Extent ASM

Système
de fichiers
ou Unité
Disque ASM
raw device d'allocation ASM

1 - 41
Interagir avec une base Oracle :
Mémoire, processus et stockage
Instance

Cache de Tampon Espace de tampons


Zone de
tampons de à conserver
mémoire
PGA de la base journa-
partagée Espace de tampons
de données lisation
Processus à recycler
serveur Zone de Zone de Zone de
mémoire mémoire mémoire Cache de tampons
LARGE POOL Java Streams de blocs de taille nK
Processus
d'écoute
DBWn CKPT LGWR SMON PMON RECO ARCn Autres

Processus
utilisateur

Utilisateur

1 - 42
Quiz

Processus PMON (Process Monitor) :


1. Il effectue les opérations de récupération au démarrage de
l'instance.
2. Il assure la récupération des processus utilisateur qui ont
échoué.
3. Il résout automatiquement toutes les transactions
équivoques.
4. Il écrit le tampon de journalisation dans un fichier de
journalisation.

1 - 44
Quiz

Quels types d'instance accèdent aux fichiers ASM ?


1. Instances SGBDR uniquement
2. Instances ASM uniquement
3. Instances SGBDR et ASM

1 - 45
Synthèse

Ce chapitre vous a permis d'apprendre à :


• énumérer les principaux composants de l'architecture d'une
base de données Oracle
• décrire les structures mémoire
• décrire les processus en arrière-plan
• définir la relation entre les structures de stockage logiques
et physiques
• décrire les composants de stockage ASM

1 - 46
Exercice 1 : Présentation

Cet exercice consiste à répondre sur papier à des questions


concernant les sujets suivants :
• Architecture de la base de données
• Mémoire
• Processus
• Structures de fichiers

1 - 47

Vous aimerez peut-être aussi