Académique Documents
Professionnel Documents
Culture Documents
de Monastir
Chapitre2:
Architecture de la base
de données Oracle
Enseignante: Alija BOUZIDI
aljia.bouzidi@gmail.com
Introduction
Contenu de l’introduction
6/52
Serveur de base de données Oracle(2/2)
o Un serveur Oracle :
• est un système de gestion de base de données qui
fournit une approche intégrée et complète de
gestion des données
o Un serveur Oracle utilise :
• CPU: Traiter et calculer (langage binaire (0/1))
• RAM: Stoker les données temporaires
• Disque: Stocker des données permanant
7/52
Architecture d’un serveur de base données
Oracle(1/5)
8/52
Architecture d’un serveur de base données
Oracle(2/5)
9/52
Architecture d’un serveur de base données
Oracle(3/5)
• Etc.
11/52
Architecture d’un serveur de base données
Oracle(5/5)
Demande de
Connexion
connexion
établie
résultat
Session crée
BD
Tunnel de
communication est
créé
13/52
Connexion à un serveur de base données
Oracle(2/3)
• Vérifier la syntaxe
• Il exécute la requête
14/52
Connexion à un serveur de base données
Oracle(3/3)
o Connexion: La mise en communication entre le processus
utilisateur et une instance de base de données
15/52
Institut Supérieur d’Informatique et de Mathématiques
de Monastir
Partie 1:
Instance de base de
données Oracle
Contenu de la partie 1
18/52
Définition d’une instance de base de
données Oracle (1/3)
o Chaque base de données Oracle en cours d'exécution est
associée à une instance Oracle.
19/52
Définition d’une instance de base de
données Oracle (2/3)
o Une fois l'instance démarrée:
• le logiciel Oracle l'associe à une base de données précise:
• ce mécanisme est appelé montage de la BD.
• la BD peut alors être ouverte et mise ainsi à disposition des
utilisateurs autorisés.
21/52
Structures mémoire
Zone 1 Zone 2
SGA PGA
PGA
….
22/52
Structures mémoire : PGA
La PGA (Program Global Area):
• est une zone de mémoire privée des différents processus en
arrière plan et processus serveur
• Pour un processus en arrière plan: Cette PGA sert à
temporiser les données que manipule le processus toujours dans
un souci d’optimisation
• Pour un processus serveur, la PGA contient : des
informations sur la session, variables des hôtes, des informations
sur le traitement des requêtes de la session,
24/52
Structures mémoire : SGA (2/2)
o Exemple de sous mémoires SGA:
cache de blocs de Cache de log/log
Zone partagée: est partagée
données/ buffer buffer: pour
par tous les utilisateurs.
cache/ cache de sauvegarder les logs/
Elle contient les requêtes SQL
tampon de la BD: met requêtes de MAJ avant
les plus récemment exécutées:
en mémoire cache les l’exécution de requête (
• Data dictionary cache:
contient le dictionnaire de blocs de données extraits avant de passer au
données en cache de la base et utilisés buffer cache)
• Library cache: contient le récemment. (de ou Sous forme des tableaux
texte, compilation et plan
vers la base) (enregistrements).
d’exécution des requêtes
récentes
25/52
Types de processus
26/52
Structures de processus
1o Processus Utilisateur: est crée quand un utilisateur lance une
application cliente
• Une connexion va être créée avec l’instance Oracle, l’utilisateur va
ouvrir une session,
2 Processus serveur: va retourner les données
o
• Mode dédié: un processus serveur pour un processus client
• Mode partagé : les clients partagent un groupe de processus serveurs
3o Processus en arrière plan: qui vont exécuter de façon asynchrone
des opérations d’E/S et de contrôle d’autres processus Oracle
• Ces processus sont démarrés avec ou après le démarrage d’une instance
Oracle et permettent une interaction entre les différentes composants du
serveur ainsi qu’avec les utilisateur
1 2
3
27/52
Structures de processus les plus courants
(1/4)
o Program MONitor (PMON) Ou processus de monitoring:
• Rôle: nettoyage de tous les composants (zones mémoires) de la
BD
• Exemples:
supprime les sessions après la déconnexion
enlève les plans d’exécution qui ne sont pas choisis
Annule la transaction (ROLLBACK),
Etc.
28/52
Structures de processus les plus courants
(2/4)
o System MONitor (SMON) :
• Rôle: Il effectue la récupération après pannes lorsque l’instance est
redémarrée à une défaillance. Il assure le nettoyage des ressources
inutiles de la base (segments temporaires qui ne sont plus utilisés)
• SMON effectue deux opérations sur la mémoire:
Un roll forward: pour appliquer aux fichiers de données les modifications
non enregistrées des transactions validées (commit)
Puis un roll back pour des fichiers enregistrées des transactions non
validées
Rajouter les transactions
Valider les transactions Redo log
SMON Annuler les transactions non validées buffer
X
BD 29/52
Structures de processus les plus courants
(3/4)
o Data Base WRiter (DBWn):
• Rôle: Il récupère les métadonnées à utilisés récemment s’ils
n’existent pas dans dictionary cache. Il écrit les données de la zone
Data Base Buffer cache dans les fichiers de la base de données
31/52
Institut Supérieur d’Informatique et de Mathématiques
de Monastir
Partie 2:
Base de Données Oracle
Contenu de la Partie2
SGA PGA
Structures
de processus
Processus en arrière-plan
Fichiers
Base de BD
de données
Structures
de stockage
34/52
Base de données : Physique et logique
35/52
Structure de stockage physique (1/6)
La structure physique comprend principalement trois types de fichiers:
• Fichier de contrôle
• Fichiers de données
• Fichiers de journalisation
36/52
Structure de stockage physique (2/6)
Mais la structure physique comprend aussi les 6 types de fichiers suivants
37/52
Structure de stockage physique (3/6)
o Un fichier de contrôle (control file):
• est un petit fichier binaire nécessaire à une base de données Oracle pour
démarrer et fonctionner avec succès
• Contient les informations relatives à la structure physique de la
BD: nom de la base, localisation des fichiers de données et de reprise,
Nom de la BD
Date/heure de la création de la BD
Etc.
• Ces fichiers sont essentiels pour la base de données. Sans eux, vous ne
pouvez pas ouvrir les fichiers de données pour accéder aux données de la
base.
• Chaque BD contient un fichier de contrôle unique (on peut en faire
plusieurs copies pour protéger les données).
38/52
Structure de stockage physique (4/6)
o Des fichiers de données (data files) ou dbf:
• contiennent les données d'application ou les données utilisateur de
la base c-à-d contiennent les données proprement dites de la base (tables
et index, données utilisateurs de la base, etc.)
• Chaque données liés au applications (structure et contenu) est stockée
dans ce type de fichier.
• Les fichiers de données ( d’extension .DBF) sont logiquement regroupés
en tablespace (est une unité logique de stockage composé d’un ou de
plusieurs fichiers physiques)
• Chaque fichier de données est associée à une seule base de données
o Des fichiers de journalisation en ligne (Redo log Files):
• Fichiers binaires pour sauvegarder physiquement les logs
• Permettent en cas de panne (matérielle ou logicielle) de remettre la
BD dans un état cohérent
• Si la base de données connaît une défaillance et qu'aucun fichier de
données n'est perdu, l'instance peut récupérer la base de données à partir
des informations de ces fichiers.
• La base sera arrêtée si le fichier log est supprimé 39/52
Structure de stockage physique (5/6)
o Des fichiers d’archivage/de journalisation archivés (Archived
redo log files):
• Contiennent l’historiques complet des modifications de données
(information de journalisation) générées par l’instance
• A l’aide de ces fichiers et d’une sauvegarde de la base, vous pouvez
récupérer un fichier perdu
o Un fichier de mot de passe:
• Il permet aux utilisateurs bénéficiant des rôles QYQDBA,
SYSOPER,SYSBACKUP,SYSDG,SYSKM et SYSASM de se de
connecter à distance à l’instance et d’effectuer des tâches
d’administrations
o Un fichier de paramètres (parameter file):
• Stocke tous les paramètres de configuration de la base
• Un fichier de paramètre est utilisé par l’instance lors de son
démarrage pour se configurer et faire le lien avec la BD
• Assure le fonctionnement basique de la base 40/52
Structure de stockage physique (6/6)
o Des fichiers de sauvegarde (Backup files):
• Ils sont utilisés pour la récupération de la base de données
• Les fichiers de sauvegarde sont généralement restaurés lorsqu'une
défaillance physique ou un erreur utilisateur a endommagé ou
supprimé les fichiers d’origine
o Des fichiers de trace ( trace files):
• Chaque processus serveur et processus en arrière-plan peut écrire
dans un fichier trace associé.
• Lorsqu'un processus détecte une erreur interne, il réalise dans son
fichier trace un dump des informations relatives à cette erreur.
Certaines informations écrites dans un fichier trace sont destinées à
l'administrateur de base de données, et d'autres au support technique
Oracle.
o Des fichiers d’alerte(alert files):
• Il s'agit de fichiers trace spéciaux, dans lesquels sont consignées les
alertes. Le fichier d'alertes d'une base de données est un journal
chronologique des messages et des erreurs.
• Oracle recommande de consulter ces fichiers.
41/52
Vue d’ensemble des structures de
stockage physiques
Fichiers de la base de données Oracle
Parameter file
Backup files Fichiers de
journalisation
archivés
42/52
Structure de stockage logique (1/2)
• Tablespaces
• Segments
• Blocs de données
• Blocs du disque
43/52
Structure de stockage logique (2/2)
o Chaque base de données est divisée de manière logique en un ou
plusieurs tablespaces qui peuvent être utilisées pour regrouper des
structures logiques liées
44/52
Annexes
46/52
Architecture détaillée d’un serveur Oracle
47/52
Transaction
48/52
Interaction avec une base de données Oracle :
Mémoire, processus et stockage(1/4)
49/52
Interaction avec une base de données Oracle :
Mémoire, processus et stockage (2/4)
L'exemple suivant décrit le niveau le plus élémentaire des interactions
avec la base de données Oracle. Il utilise une configuration de base de
données dans laquelle l'utilisateur et le processus serveur associé se
trouvent sur des ordinateurs distincts connectés via un réseau:
1. Une instance a été démarrée sur un nœud où Oracle Database est installé. Ce
nœud est souvent appelé hôte ou serveur de base de données
50/52
Interaction avec une base de données Oracle :
Mémoire, processus et stockage (3/4)
3. Le serveur exécute un processus d'écoute (listener) qui contient le gestionnaire
Oracle Net Services approprié. Le serveur détecte la demande de connexion
émise par l'application et crée un processus serveur dédié pour le compte du
processus utilisateur.
51/52
Interaction avec une base de données Oracle :
Mémoire, processus et stockage (4/4)
aljia.bouzidi@gmail.com