Académique Documents
Professionnel Documents
Culture Documents
Vue d’ensemble
Connexion à une base de données
Base de données et instance
Architecture générale d’Oracle
Naourez MEJRI
naourez.mejri@gmail.com
ISIKef
19 octobre 2020
Plan de l’exposé
1 Introduction
2 Vue d’ensemble
Serveurs dédiés
A chaque fois qu’un uti-
lisateur se connecte, il est
pris en charge par un pro-
cessus serveur.
Si 10 utilisateurs se
connectent, 10 proces-
sus serveurs sont ainsi
créés, et chacun prend
en charge spécialement
les commandes du seul et
même processus utilisa-
teur tout le temps de sa
session.
Naourez Mejri Chapitre 2 8 / 50
Introduction Connexion client-serveur
Vue d’ensemble Processus utilisateur
Connexion à une base de données Processus serveur
Base de données et instance Processus d’écoute
Architecture générale d’Oracle
Serveurs partagés
Un petit groupe de pro-
cessus serveurs s’occupe
d’un grand nombre de
processus utilisateurs.
Besoin d’un processus ré-
seau - le DISPATCHER-
qui met les requêtes des
utilisateurs dans une file
d’attente, et le(s) proces-
sus serveur(s) partagé(s)
exécute(nt) toutes les re-
quêtes, une par une.
Analogie
L’instance représente une application (Exp. Microsoft Word) et
la base de données le document (Exp. Un document Microsoft
Word).
Fichiers de données-DataFiles
servent au stockage physique des données contenues dans une
base Oracle.
contiennent toutes les informations de la base dans un format spé-
cifique à Oracle.
contiennent l’ensemble des données de la base (les tables, les vues,
les procédures, synonymes, index,etc.).
leur dimension dépend de la quantité d’information à stocker.
logiquement regroupés sous forme de tablespaces.
Solution
Archiver les fichiers journaux avant de les écraser → Fichiers
de journalisation archivés
Tablespace
Une base de données est divisée en unités de stockage logiques
appelés tablespaces. Chaque base de données est divisée de
manière logique en un ou plusieurs tablespaces.
Les tablespaces SYSTEM et SYSAUX sont obligatoires. Ils
sont créés en même temps que la base de données et doivent
être en ligne.
Définition
Ensemble des processus (serveur et d’arrière-plan) et des zones
mémoire qui sont alloués pour permettre l’exploitation de la
base de données.
Elle est constituée de :
une zone de mémoire partagée appelée System Global Area
(SGA) ;
une zone mémoire associée aux processus serveurs appelée
Program Global Area (PGA)
un ensemble de processus d’arrière-plan (Background
process) ayant chacun un rôle bien précis ;
un ensemble de processus serveur (Server process) char-
gés de traiter les requêtes des utilisateurs ;
Zones mémoires :
La SGA - System Global Area
Zone partagée par tous les utilisateurs de la base de données
Allouée au démarrage de l’instance en mémoire principale :
doit-être la plus grosse possible.
Son but est d’économiser les E/S. Elle contient :
le cache de données (database buffer cache)
le cache de reprise (redo log buffer) : log des changements
récents
le cache d’exécution partagé (shared pool) pour les requêtes
SQL et PL/SQl. Contient le dictionnaire de données en cache.
Zones mémoire-SGA
Le paramètre définissant la taille globale du SGA est SGA_MAX_S
Zones mémoire-SGA
Zones mémoire-SGA
Cache « library »
Cache du dictionnaire de données
Contient le texte de la re-
Contient les définitions des
quête SQL, son plan d’exécu-
objets de la base de données
tion et sa représentation ana-
qui ont été utilisé récemment
lysée (parse tree) après son
(les méta données).
exécution (la version compilée
de la requête SQL). Permet au serveur Oracle de
ne pas avoir à aller chercher
Est utilisée lorsqu’une requête
ces informations sur le disque
identique sera émise (par
à chaque exécution d’une re-
n’importe quel utilisateur)→
quête SQL.
pour accélérer son exécution.
Zones mémoire-SGA
Zones mémoire-SGA
Tampon de journalisation
Les entrées redo (redo entries) décrivent les modifications
apportées à la base de données.
Elles sont écrites, périodiquement, dans les fichiers de jour-
nalisation (redo log) en ligne.
Avant d’être enregistrées dans ces fichiers, les transactions
sont d’abord placées dans une portion de la zone SGA, appelé
tampon de journalisation ou tampon journaux de reprise.
La taille du ce tampon est déterminée par le paramètre
LOG_BUFFER.
Zones mémoire-SGA
Zones mémoire-SGA
Zones mémoire-SGA
Processus d’arrière-plan
La relation entre les structures physiques et les structures mémoire
d’une base de données est maintenue et mise en œuvre au moyen
de processus d’arrière-plan (background process).
Ils assurent la gestion d’une base de données et peuvent varier en
nombre selon la configuration de celle-ci.
La plupart des processus d’arrière-plan sont lancés au démarrage
de l’instance et arrêtés lors de l’arrêt de l’instance.
Le processus « serveur » prend en charge les requêtes de processus
utilisateurs
Les principaux processus d’arrière-plan pour une instance stan-
dard sont les suivants :
Processus d’arrière-plan
Processus d’arrière-plan
Processus d’arrière-plan
Processus d’arrière-plan
Processus d’arrière-plan
Processus d’arrière-plan
Processus d’arrière-plan
CKPT - Checkpoint
Le processus de contrôle CKPT provoque l’exécution de
DBWn, qui écrit tous les blocs de données qui ont été mo-
difiés depuis le dernier point de contrôle dans les fichiers de
données,
Puis met à jour les en-têtes de ces fichiers ainsi que le fichier
de contrôle afin de signaler le point de contrôle le plus récent.
Ce processus s’exécute automatiquement lorsqu’un fichier
redo log en ligne est plein.
Le CKPT s’exécute automatiquement lors du déclenchement
des événements suivants :
Immédiatement et à la demande de l’administrateur ;
A chaque changement du groupe ou fichier REDO LOG ;
Si le TIMEOUT à été atteint (paramètre
LOG_CHECKPOINT_TIMEOUT
Naourez Mejri Chapitre 2 : intervalle 46
de/ 50
temps) ;
Introduction Bases de données Oracle
Vue d’ensemble Structure logique
Connexion à une base de données Instance
Base de données et instance Contenu d’un schéma
Architecture générale d’Oracle
Processus d’arrière-plan
ARCn - Archiver
Le processus LGWR écrit dans chacun des fichiers redo log
en ligne à tour de rôle.
Lorsque le premier fichier est plein, il écrit dans le suivant et
ainsi de suite.
Une fois le dernier fichier rempli, il écrase le contenu du pre-
mier.
Processus d’arrière-plan
RECO - Recoverer
Le processus de récupération RECO résout les défaillances
dans des configurations de base de données distribuées, en
tentant d’accéder aux bases impliquées dans des transactions
distribuées interrompues brutalement.
Processus d’arrière-plan
Autres processus
Il existe d’autres processus d’importance secondaire tels que :
Dnnn(Dispatcher),
Pnnn(Parallel query),
LMSn (Lock Manager Server),
etc.