Architecture Oracle
Chapitre 2
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 54
Introduction
• Oracle Corporation est sans conteste le leader du march
des Syst mes de Gestion de Base de Donn es
Relationnelles
• Le produit fondamental commercialis par Oracle est
«Oracle Database»
• c’est le SGBD qui permet de stocker, g rer,
administrer et manipuler des donn es d’un grand
volume tout en assurant performance, s curit et
acc s concurrentiel
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 55
è
è
é
é
é
é
é
é
é
Oracle DataBase
• SCBDR D’Oracle
• Disponible sur plusieurs plateformes telles que Windows, Linux et Unix
• Disponible sous diff rentes ditions:
• Enterprise Edition : inclut toutes les fonctionnalit s d’Oracle Database,
en standard ou en option, et g re des donn es extr mement volumineuses.
• Standard Edition : inclut les fonctionnalit s de base, mais ne permet pas
d’exploiter certaines options avanc es.
• Express Edition : compl tement gratuite, destin e pour des machines
monoprocesseurs et sp cialement pour les petites entreprises, voire les
institutions but acad mique.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 56
à
é
é
é
è
é
è
é
é
é
é
ê
é
Interaction avec Oracle
Database
• Le moyen le plus basique d’interagir avec les objets
d’une base de donn es Oracle (tables, s quences, index,
etc.,) est le langage SQL servant d finir (LDD),
manipuler (LMD) et contr ler (LCD) les donn es.
• Un utilisateur peut formuler des requ tes SQL avec:
• SQL Plus: un diteur permettant la saisie et l’affichage
des r sultats de requ tes SQL
• iSQLPlus:un diteur Web de saisie de requ tes SQL
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 57
é
é
é
é
ê
ô
à
é
ê
é
ê
é
Architecture Oracle
• Un serveur de base de donn es Oracle inclut deux
composantes importantes: la base de donn es et
l’instance
Instance
Base de données
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 58
é
é
La base de données
• La base de donn es est constitu e d’un ensemble de
fichiers physiques situ s sur les disques durs du serveur
h bergeant la base
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 59
é
é
é
é
Fichier de contrôle
• Fichier de contrôle est un fichier binaire qui contient des
informations de contrôle sur la base de données (nom de la base
de données, info sur les fichiers de données et de journalisation,
info de reprise après panne…)
• Indispensable et primordial pour le chargement de l’instance
• Tous les fichiers de donn es et les fichiers log de la base de
donn es sont identifi s dans le fichier de contr le
• Prévoir de multiplexer le fichier de contrôle sur des endroits
diff rents du disque dur: minimum de deux fichiers de contr le
sur des disques diff rents
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 60
é
é
é
é
é
ô
ô
Multiplexage des fichiers de
contrôle
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 61
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 62
Fichier de données
• Fichiers de données: fichiers physiques qui stockent les
donn es de la base sous un format sp cial Oracle.
• Logiquement regroup s en structures logiques appel es
tablespaces.
• Une base de donn es comporte au moins deux fichiers de
donn es relatifs deux tablespaces diff rents r serv s par
Oracle (SYSTEM et SYSAUX)
• Afin d’avoir des donn es regroup s par application/contexte:
les tables qui portent sur le m me contexte sont réunies dans
un m me tablespace
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 63
é
é
ê
à
é
é
é
ê
é
é
é
é
é
é
Fichier de données
• DBA_TABLESPACES et DBA_DATA_FILES: des vues
qui incluent toutes les informations respectivement
relatives aux tablespaces et aux fichiers de donn es de la
base
• SELECT tablespace_name, file_name FROM
DBA_DATA_FILES
ORDER BY tablespace_name;
• La requ te suivante liste les fichiers de donn es
utilis s dans la base tri s par les tablespaces
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 64
é
ê
é
é
é
TableSpace
• Un tablespace (étalé sur un ou plusieurs fichiers de
données), est un ensemble de segments
• Un segment est l’espace occupé par un objet de base de
données dans un tablespace
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 65
Segment
• Quatre types de segments:
• Segment de table : espace occupé par une table
• Segment d’index : espace occupé par un index
• Segment d’annulation : espace temporaire utilisé pour stocker les
données nécessaires à l’annulation d’une transaction, ainsi qu’à la
lecture cohérente des données.
• Segment temporaire : espace temporaire ou sont stockées des données
temporaires utilisées lors d’un tri, d’une jointure, lors de la création
d’un index etc.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 66
Segment
• Un segment est à son tour composé de structures logiques appelées
extensions.
• Une extension est un ensemble de blocs contigus dans un même
fichier de données, tandis qu’un segment peut être étalé sur plusieurs
extensions chacun sur un fichier unique
• Un fichier de données est un
ensemble de blocs d’une taille
donnée (4 Ko, 8Ko, 16 Ko etc.)
• Le bloc de données est la petite
unité d’E/S utilisée par Oracle.
Sa taille est définie via le
paramètre DB_BLOCK_SIZE.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 67
Structure Oracle Database
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 68
Exemple
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 69
Création de Fichier de
données
• Quatre Configurations:
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 70
Modification d’un fichier de
donnée
• Deux cas de modifications :
• modification du nom et de localisation
• modification de la taille
• Modification du nom
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 71
Modification d’un fichier de
donnée
• Modification de la taille :
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 72
Elargir une BD avec Data File
au Tablespace
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 73
Création d’un nouveau Table
Space
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 74
Modification dynamique de la
taille d’un TableSpace
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 75
Suppression d’un Fichier de
données
• Deux étapes :
• Suppression du tablespace associé au Data file
• Suppression des fichiers physiques
• manuellement par commande OS.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 76
Création d’un Tablespace
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 77
Suppression d’un TableSpace
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 78
Utilisation des TableSpace
• Un tablespace peut être attribué par défaut à un
utilisateur.
• Les objets de cet utilisateur seront stockés dans ce
tablespace sauf contre indication.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 79
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 80
Fichier de journalisation
(Redo Log)
• Les mises à jour sur les données sont non seulement
exécutées mais aussi sauvegardées dans les fichiers de
journalisation
• Cette mesure de sécurité primordiale permet en cas de
crash du système de reconstituer les données perdues à
partir des informations sauvegardées dans les fichiers de
journalisation.
• Les fichiers de journalisation sont multiplexés: même si
un fichier de journalisation est irrécupérable, Oracle peut
compter sur sa (ou ses) copie(s)
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 81
Fichier de journalisation
• Un ensemble de fichiers journaux multiplexés est un groupe de fichiers de
journalisation.
• Si par exemple un groupe inclut trois fichiers journaux, alors ces trois
fichiers incluent exactement les mêmes informations, ils sont appelés
membres d’un groupe.
• Il existe au minimum deux groupes de fichiers journaux et ils sont écrits de
manière cyclique:
• Si les fichiers d’un premier groupe sont pleins, Oracle passe au deuxième
groupe et y écrit (dans chaque membre) les transactions nouvellement
exécutées quitte à écraser les transactions existantes
• La vue V$LOGFILE contient toutes les informations qui concernent les
fichiers journaux de la base de données.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 82
Fichier de journalisation
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 83
Création d’un fichier Redo
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 84
Suppression d’un Redo Log
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 85
Archives de fichiers de
journalisation
• Une solution de sécurité optimale, consiste à archiver les
fichiers de journalisation avant de finir le cycle de
sauvegarde des transactions et donc avant de les écraser.
• Il est à noter que les fichiers de journalisations sont
archivés si la base de données fonctionne en mode
ARCHIVELOG.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 86
Fichier de paramètres
• Il inclut l’ensemble des paramètres de configuration qui
conditionnent l’ initialisation de l’instance, et ensuite son
fonctionnement
• Il est accédé lors du démarrage de l’instance, il inclut entre autres le
chemin du fichier de contrôle ainsi qu’un ensemble de paramètres
instanciés définissant la manière avec laquelle l’instance va démarrer
• Deux types de fichiers paramètres:PFILE (Parameter File) et, depuis
la version 9i, SPFILE (Server Parameter File)
• Une instance Oracle démarre sur un seul fichier paramètre, par
défaut sur un SPFILE, mais peut aussi démarrer sur un PFILE si
l’administrateur le précise
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 87
Fichier de paramètres
• PFILE est un fichier de paramètres statique de type texte. Il est généralement
nommé init%.ora, il est modifié via n’importe quel éditeur texte
• Toute modification est apport e manuellement et ne prend effet qu’au
d marrage suivant
• SPFILE est un fichier de paramètre persistant de type binaire centralisé sur
le serveur de la base de données. Il est nommé spfile%.ora, il est modifiable
via SQL
• Il permet de rendre les modifications persistantes apr s l’arr t et le
red marrage
• On peut créer un fichier PFILE à partir d’un fichier SPFILE et vice versa à
l’aide de la requête CREATE PFILE/SPFILE FROM SPFILE/PFILE
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 88
é
é
é
è
ê
Contenu des fichiers de
param tres d’initialisation
• Les param tres les plus int ressants sont :
• instance_name=IGES5
• db_name=IGES5
• control_files=("D:\oracle\oradata\GI4\CONTROL01.CTL", "D:
\oracle\oradata\GI4\CONTROL02.CTL", "D:
\oracle\oradata\GI4\CONTROL03.CTL")
• db_block_size=8192 db_cache_size=175112192
java_pool_size=20971520 shared_pool_size=57671680
• $ORACLE_home\admin\DB_NAME\pfile\init.ora
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 89
è
è
é
Exemple de File
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 90
Exemple de Spfile
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 91
Fichier de mot de passe
• C’est un fichier physique qui inclut l’ensemble des
administrateurs de la base de données avec leurs mots de passe
• Ce fichier peut être optionnel car l’authentification à Oracle
Database peut être reliée au système d’exploitation qui
l’héberge (groupe d’utilisateur dba relié à Oracle au moment
de l’installation)
• REMOTE_LOGIN_PASSWORDFILE renseigne sur le type
d’identification : none (via SE), exclusive (avec fichier mot de
passe qui ne concerne qu’une seule base de données) ou
shared (avec fichier mot de passe peut être partagé par
plusieurs bases de données )
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 92
Autres fichiers
• Il existe d’autres fichiers physiques nécessaires au bon
fonctionnement d’Oracle: les fichiers alertes, les fichiers traces
et les fichiers de sauvegarde
• Lorsqu’une erreur interne est détectée par un processus
d’arrière plan ou serveur, ce dernier inscrit les détails de
l’erreur sur un fichier de trace: ces fichiers sont utiles à
l’administrateur soit pour débloquer le serveur, soit pour
l’optimiser
• BACKGROUND_DUMP_DEST et USER_DUMP_DES:
renseignent les répertoires ou les fichiers de trace sont
stockés
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 93
Autres fichiers
• Les fichiers d’alertes stockent des informations relatives à des
évènements et des messages importants qui correspondent à une base
de données.
• Le chemin des fichiers d’alerte se trouve au répertoire
BACKGROUND_DUMP_DEST. Les fichiers d’alerte portent
l’extension .log.
• Pour restaurer (reconstituer) un fichier endommagé (de données, de
contrôle, de paramètres etc.), nous avons besoin d’un fichier de
sauvegarde.
• La sauvegarde est supposée déjà faite avant que le problème
endommageant le fichier original ne se produise.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 94
Architecture Oracle
• Un serveur de base de donn es Oracle inclut deux
composantes importantes: la base de donn es et
l’instance
Instance
Base de données
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 95
é
é
L’instance
• L’instance est l’ensemble de structures mémoires et de
processus qui assurent l’accès et la gestion d’une base de
données.
• Une instance ne peut ouvrir qu’une unique base de
données à la fois.
• Une instance emploie deux structures principales ; la
SGA (System Global Area) et la PGA (Program Global
Area)
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 96
SGA
• C’est un espace de la mémoire centrale partagé par les
différents processus de l’instance. Elle est allouée au
démarrage de la base de données et libéré lors de son arrêt
• Constituée de trois zones obligatoires et de trois zones
optionnelles qui sont allouées au démarrage en fonction des
valeurs des paramètres du fichier de paramètres.
• Plus la taille de la SGA est grande, plus le nombre d’E/S
diminue et plus la performance de l’instance est meilleure.
Il est à noter que sa taille n’excède pas la valeur du
paramètre SGA_MAX_SIZE
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 97
SGA
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 98
Shared Pool
• Zone mémoire qui est composée de deux structures ; le
Library Cache et le Dictionary Cache
• Le Library Cache contient les informations sur les
requêtes SQL les plus récemment utilisées (le texte, la
version compilée, le plan d’exécution de la requête)
• Le Library Cache a une taille limitée donc il stocke
uniquement les requêtes les plus récentes en utilisant
l’algorithme LRU (Least Recently Used)
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 99
Shared Pool
• Le Dictionary Cache contient toutes les informations
nécessaire a l’analyse d’une requête SQL:
• dictionnaire de données, droits d’utilisateurs…
• SHARED_POOL_SIZE contient la taille du pool partagé
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 100
SGA
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 101
DataBase Buffer Cache
• Il stocke les blocs de données les plus récemment utilisées.
• Lorsqu’Oracle est amené à exécuter une requête SQL, il
vérifie si ses données (blocs) existent dans le database
buffer cache. Si ce n’est pas le cas, Oracle lit les blocs de
données qu’il faut à partir des fichiers de données, les
places dans le cache selon l’algorithme LRU (en libérant
de l’espace s’il le faut par élimination des blocs les
moins récemment utilisées)
• Le paramètre DB_CACHE_SIZE désigne la taille du cache,
il doit être un multiple de la taille d’un bloc de données
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 102
DataBase Buffer Cache
• Un bloc de données au DB Buffer cache (appelé aussi
tampon) peut être:
• Free bloc jamais utilisé, et donc disponible. Etat de tous
les blocs juste après démarrage de l’instance.
• Dirty bloc modifié, mais non encore écrit sur le fichier
de données.
• Pinned bloc accédé souvent.
• Clean bloc prêt à être libéré.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 103
Redo Buffer
• Ce buffer contient les mises à jour effectuées sur les données. Chaque
modification correspond à une entrée redo écrite dans le buffer (redo
entry).
• Une entrée redo est composée de plusieurs vecteurs de changement
chacun correspondant à la modification d’un bloc de données unique
de manière à ce que la nouvelle valeur ainsi que l’ancienne y soient
enregistrées.
• Le contenu du buffer est écrit par Oracle dans les fichiers de
journalisation (Redo Log Files) pour garantir la récupération des
données en cas de crash du système.
• la taille du buffer redo log est définie par le paramètre LOG_BUFFER.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 104
SGA
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 105
Les zones optionnelles
• JAVA Pool: Stocke les objets et applications Java les plus
récemment utilisés lorsque la machine virtuelle Java JVM
optionnelle est utilisée. Elle est dimensionnée par le paramètre
JAVA_POOL_SIZE.
• Large Pool: Stocke des données lors de l’exécution
d’opérations volumineuses. Il est utilisé dans le cas d’une
configuration serveur partagé, elle est dimensionnée par le
paramètre LARGE_POOL_SIZE.
• Streams pool: C’est le cache des données relatives à la queue
de messages utilisées par Oracle. Elle est dimensionnée par le
paramètre STREAMS_POOL_SIZE.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 106
SGA
• SGA fixe est une autre zone mémoire qui inclut des informations sur l’état
de la base de données, sur l’instance et sur les verrous.
• LOCK_SGA est un paramètre booléen qui permet à l’administrateur
d’obliger (ou non) Oracle à allouer la zone SGA exclusivement en
mémoire physique, sans ayant recours à la mémoire virtuelle.
• V$SGA et V$SGA_DYNAMIC_COMPONENTS affichent les tailles de
zones mémoire composant la SGA(SGA Fixe, SGA variable, Cache des
données et celle des journaux)
• SELECT * FROM V$SGA;
• SELECT component, current_size FROM
V$SGA_DYNAMIC_COMPONENTS;
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 107
Gestion automatique de la
SGA
• La SGA peut être gérée automatiquement ou manuellement
• Une gestion manuelle consiste tout simplement à instancier les tailles
des zones mémoire une par une ; le choix de l’administrateur
s’effectue selon les besoins de l’application.
• Une gestion automatique est effectuée par l’instance elle-même qui
ajustera les tailles des composantes selon une quantité de mémoire
précisée par l’administrateur à travers le paramètre SGA_TARGET.
• La gestion automatique est activée si le paramètre SGA_TARGET
(taille souhaitée de la SGA) est différent de zéro. Dans ce cas, le
database buffer cache, le shared pool, le large pool et le java pool
sont dimensionnés automatiquement.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 108
Gestion automatique de la
SGA
• Dans une gestion automatique, l’instance dispatche la quantité
de mémoire renseignée par le paramètre SGA_TARGET au
Shared Pool, DB Buffer Cache, Java Pool, Large Pool, Streams
Pool.
• Comme la charge de travail du serveur varie dynamiquement,
Oracle se permet de changer dynamiquement le dispatching de
la quantité totale de mémoire aux différentes zones mémoires
de la SGA.
• Il est à noter que si la valeur de SGA_TARGET dépasse
SGA_MAX_TARGET, alors Oracle met à jour le deuxième
paramètre en l’augmentant.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 109
PGA: Program Global Area
• C’est une zone mémoire privée dédiée aux utilisateurs.
Elle est créée pour chaque processus serveur quand il est
initié. Elle stocke les informations spécifiques aux
utilisateurs telles que les variables hôtes, les informations
de session, l’état des curseurs utilisés, les informations de
tri etc.
• La PGA totale allouée à tous les processus serveurs est
appelée PGA agrégée. Sa taille est dimensionnée par le
paramètre PGA_AGGREGATE_TARGET
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 110
PGA
• Pour un processus serveur. la PGA contient
• Une zone de tri (Sort area) : Utilis pour stocker, si n cessaire, les r sultats
interm diaires lors du tri.
• Des informations de session : Contient les privil ges utilisateurs pour la session
en cours.
• Un tat de curseur (Cursor State) : Etat de l’ tape dans l’ex cution des
ventuels curseurs de la session.
• Un curseur est un pointeur sur la m moire associ une requ te SQL
donn e. C’est une zone de travail utilis pour stocker le r sultat de la
requ te.
• Un espace de pile (Stack Space) : Contient les variables de session et les arrays.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 111
é
é
ê
é
é
é
é
é
é
è
é
à
é
é
é
ê
é
Architecture Oracle
• Un serveur de base de donn es Oracle inclut deux
composantes importantes: la base de donn es et
l’instance
Instance
Base de données
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 112
é
é
Les processus
• Les processus Oracle permettent aux différentes
composantes du serveur d’interagir et d’échanger entre
elles ainsi qu’avec l’utilisateur.
• Il existe des processus utilisateurs du côté des clients,
un ou plusieurs processus serveurs du côté du serveur
assurant la communication avec le client et plusieurs
processus d’arrière plan qui assurent le bon
fonctionnement de l’instance.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 113
Processus serveur et
processus utilisateur
• L’interaction entre les clients et le serveur de base de
données est assurée par le processus utilisateur du côté
client et par le processus serveur du côté du serveur.
• Lors du démarrage d’une application (SQL*Plus, Oracle
Enterprise Manager, une application Developer Forms
etc.), Oracle démarre un processus utilisateur que ce soit
sur sa machine distante s’il s’agit d’une architecture
client-serveur ou sur un serveur middle-tier sur une
architecture multi-tier.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 114
Connexion a un serveur
Oracle
• Il existe trois types de connexions gr ce auxquelles un utilisateur peut
acc der un Serveur Oracle :
• Connexion locale : Selon cette m thode, un utilisateur est
directement connect sur la machine faisant office de Serveur Oracle.
• Connexion Deux Tiers : Ce type de connexion est couramment
nomm "Connexion Client Serveur", un utilisateur se connecte
partir d'une machine directement connect e un Serveur Oracle.
• Connexion Multi Tiers : Dans une architecture multi tiers, la
machine de l'utilisateur se connecte un Serveur applicatif (Par
exemple un Serveur Web) qui lui m me va se connecter au serveur
Oracle pour r cup rer les donn es issues de la base de donn es.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 115
é
é
à
é
é
é
é
é
ê
à
â
é
à
é
à
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 116
• Une fois la connexion établie, l’utilisateur ouvre une session en
s’identifiant (saisie de son nom d’utilisateur et de son mot de passe).
• Plusieurs sessions peuvent être ouvertes en même temps, ces
sessions peuvent être ouvertes par le même utilisateur. Le
paramètre qui détermine le nombre maximum de sessions ouvertes
en même temps est le paramètre SESSIONS.
• Après l’ouverture d’une session, Oracle démarre un processus
serveur sur le serveur base de données, c’est ce processus qui se
chargera d’exécuter les requêtes de l’utilisateur et de maintenir une
interaction entre le client et le serveur.
• Une zone de mémoire PGA est créée pour chaque processus serveur
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 117
Processus d’arrière plan
• Les processus d’arrière plan sont utilisés par Oracle afin
de maximiser la performance de l’instance. La
majorité des processus d’arrière plan sont lancés lorsque
l’instance démarre, certains d’entre eux pourraient être
lancés après, lorsque l’instance en aura besoin.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 118
DBWn
• le processus qui écrit le contenu du cache des données dans
les fichiers de données (Database Writer)
• Le DBW écrit les tampons (buffers) modifiés, dits dirty, du
cache de données dans les fichiers de données sur le disque
• DB_WRITER_PROCESSES spécifie le nombre
d’exemplaires du DBW (max 20)
• La tâche du DBW est de « nettoyer » le cache des données en
écrivant les blocs dirty les moins récemment utilisés dans le
fichier des données afin de les rendre clean
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 119
LGWR
• Le processus qui écrit le contenu (les entrées Redo) du redo log buffer sur les
fichiers de journalisation de manière séquentielle. Une fois les entrées redo sont
écrites sur le disque, le processus serveur peut utiliser cet espace (en écrasant
les entrées déjà écrites) pour y stocker les informations des nouvelles mises à
jour toujours sous la forme d’entrées Redo.
• Le LGWR est déclenché par les événements suivants :
• L’utilisateur confirme une transaction par un COMMIT
• Toutes les trois secondes.
• Quand le buffer est plein au tiers.
• Avant que le DBWn ne se mette à écrire les blocs modifiés non validés (non
« committés ») sur disque.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 120
CKPT
• Le processus qui est lancé à la suite de l’événement Checkpoint
(point de vérification).
• Lorsqu’un checkpoint se produit, tous les blocs dirty doivent être
écrits sur disque ; c’est toujours le DBWn qui s’en charge à la
suite d’un message du CKPT.
• Après écriture des blocs modifiés, le CKPT écrit le SCN (System
Change Number) de la dernière transaction confirmée sur les
entêtes (headers) des fichiers de données ainsi que dans le fichier de
contrôle. En cas de crash du système, le point de reprise est défini
par ce SCN et Oracle récupère à partir des fichiers de journalisation
toutes les transactions qui ont été confirmées après le SCN.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 121
SMON(System Monitor)
• Le processus qui récupère les données au démarrage de
l’instance si cette dernière s’est arrêtée de manière
anormale.
• Il est aussi chargé de libérer les segments temporaires
inutilisés et de compacter les extensions libres et contiguës
des tablespaces gérés par le dictionnaire de données.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 122
PMON (Process Monitor)
• le processus responsable de la récupération lors de
l’échec d’un processus utilisateur. Lorsqu’un
• processus utilisateur plante, PMON annule la transaction
de ce dernier et libère les verrous posés sur les données
modifiées à cause de la transaction en cours.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 123
ARCn
• le processus qui écrit le contenu des fichiers journaux
(redo log files) dans des fichiers archives lors de chaque
basculement entre les groupes de fichiers journaux. Ce
processus n’est actif que si la base fonctionne en mode
ARCHIVELOG.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 124
CJQn
• le processus coordinateur qui exécute les tâches planifiées par les
utilisateurs.
• Ces tâches sont principalement des programmes PL/SQL planifiés
entre autres grâce au package DBMS_SCHEDULER.
• Les informations concernant les tâches (jobs) planifiées d’une base
de données sont stockés dans la table DBA_SCHEDULER_JOBS
du dictionnaire de données.
• Le processus CJQn peut exécuter un grand nombre de tâches
grâces à ses processus esclaves (J000 -> J999).
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 125
MMAN (Memory Manager)
• un processus introduit par Oracle 10g qui gère les tailles
des composantes de la SGA lorsque l’ASMM est activée
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 126
MMON (Memory Monitor)
• un processus introduit par Oracle 10g. Son objectif est de
collecter des statistiques sur la SGA. MMON est
déclenché toutes les 60 minutes pour collecter des
statistiques à partir des vues dynamiques et statiques du
dictionnaire de données et les stocker dans des tables de la
base de données appelées Automatic Workload Repository
(AWR). Le propriétaire de ces tables est SYSMAN et sont
stockées dans le tablespace SYSAUX.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 127
• Il faut savoir que le nombre maximum de processus
exécutés en même temps dans l’instance est contrôlé par
le paramètre d’initialisation PROCESSES. La vue
V$PROCESS inclut les informations de tous les
processus en court d’exécution dans l’instance.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 128
Instance
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 129
Dictionnaire de données
• un ensemble de vues et de tables acc d es en lecture
seule, cr es et maintenues par le syst me et contenant
toutes les informations de toutes les composantes
logiques et physiques du serveur de base de donn es
(m tadonn es)
• cr dans le tablespace SYSTEM, et c’est l’utilisateur
SYS qui en est le propri taire
• Le dictionnaire de donn es est mis jour entre autres
lorsque les utilisateurs ex cutent des requ tes LDD
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 130
é
é
é
é
é
é
é
é
é
à
é
è
é
ê
é
Vues
• Il existe deux types de vues du dictionnaire de donn es ; les vues
statiques et les vues dynamiques de performance:
• Les vues statiques sont des vues bas es sur des tables cr s r ellement
dans le dictionnaire de donn es. Elles ne sont accessibles que si la base
de donn es est compl tement ouverte. Elles commencent toutes soit par
le pr fixe DBA_%, soit ALL_%, soit USER_%:
• USER_: concernent uniquement les objets poss d s par l’utilisateur qui
les interroge
• ALL_ : concernent les objets accessibles par l’utilisateur
• DBA_ : concernent tous les objets de la base de donn es, interrogeables
que par un administrateur
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 131
é
é
è
é
é
é
é
é
é
é
é
é
Vues statiques
• DBA_DATA_FILES
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 132
Vues dynamiques
• Les vues dynamiques ne sont pas basées sur des tables du
dictionnaire de données, et les informations qu’elles
contiennent sont plutôt extraites de la mémoire et/ou des
fichiers de contrôle.
• Les noms des vues dynamiques commencent généralement par
et ne sont accessibles que par les administrateurs.
V$
• La vue V$FIXED_TABLE, accessible par SYS contient les
informations de toutes les vues dynamiques.
• Vue DICTIONARY: Liste des tables et des vues du
dictionnaire.
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 133
Vues dynamiques
Issat Gafsa 2024/2025 Dr. Fatma Hrizi 134