Vous êtes sur la page 1sur 35

Administration de

base de données
avancée

Saloua.elmotaki@usmba.ac.ma 1
Objectif

A la fin de cette partie, vous pourrez:


• Décrire l’architecture Oracle et ses principaux composants.
• Répertorier les structures utilisées dans la connexion d’un utilisateur à
une instance Oracle.

2
Serveur dédié

• Oracle supporte deux mode de fonctionnement:


• 1.Serveur dédié : chaque fois qu’un utilisateur se connecte, il est pris en charge par un
processus serveur.
• Si 100 utilisateurs se connectent, 100 processus serveurs sont crées de même
• Avantage:
• Une commande SQL est tout de suite et directement prise en compte par un processus serveur
• Inconvénient:
• Chaque processus serveur occupe une zone mémoire et utilise la CPU
• Meilleure configuration (recommandée et utilisée par la bcpde DBA), si les ressources
matérielles le permettent.

3
Serveur Partagé

• Serveur Partagé : c’est un groupe de processus serveurs qui s’occupent d’un grand
nombre de processus utilisateurs.
• Les processus utilisateurs sont alloués à un processus DISPACHER, celui-ci met les
requêtes utilisateurs dans un fil d’attente, et le processus serveur exécute toutes les
requêtes, une par une.
• Avantage:
• Réduire la charge de la CPU et utilise moins de mémoire
• Inconvénient:
• Lors de forte utilisations de la BDD, il risque d’y avoir des temps d’attente (violation de
performance)

4
Les fichiers DBF

• Les fichiers DBF (Database File) représentent la partie visible de la


base de données.
• Ils sont utilisés pour stocker le dictionnaire de données et les objets
de la base de données.
• Ces fichiers sont souvent très volumineux.
• Les données dans le Buffer cache sont récupérées à partir de de
fichiers DBF.

5
Vue détaillée

Instance Oracle
PMON
Mémoire Programme1

Buffer
Processus2
SGA Shared pool cache
Programme2

PGA
Log buffer ….
ProcessusN ProgrammeP

Disque
DBF

6
Processus DBWR

• Processus Database Writer


• C’est un processus qui se déclenche lorsque les informations
nécessaires pour l’exécution d’une requête ne sont pas en
mémoire.
• DBWR copie les données depuis les fichiers DBFs en mémoire, en
se basant sur une requête détaillée.

7
DBWR

• Ecrit les blocs modifiés dans le cache de données sur les disques.
• DBWR se déclenchera lors des événements suivants :
• Lorsque le nombre de bloc dirty atteint une certaine limite
• Lorsqu'un processus sera à la recherche de blocs libres dans le Database
Buffer Cache, et qu'il ne sera pas en mesure d'en trouver.
• Lors de timeouts (environ toutes les 3 secondes par défaut)
• Lors d'un checkpoint.

8
Fichier de journalisation : redo log

• Ce sont des fichiers dans le disque qui sont destinés à sauvegarder


physiquement les logs.
• Ils permettent la restauration de la base de données en cas de panne.
• Ils représentent un historique complet de toutes ls commandes
(amenant une modification) passées sur la base de données.
• Permettent de reconstruire les transactions de la base de données,
dans l’ordre adéquat, si une panne survient.
9
Vue détaillée

Instance Oracle
PMON
Mémoire Programme1

Buffer
DBWR
SGA Shared pool cache
Programme2

PGA
Log buffer ….
ProcessusN ProgrammeP

Disque REDO
DBF
LOG
10
Processus LGWR

• LOGWR (LoGWRiter)
• Ecrit dans les fichiers Redo Log le contenu du cache Redo Log
• Le processus LGWR transcrit les informations contenues dans leREDO
LOG Buffervers les fichiers REDOLOG FILEquand :
• Au bout de 3 milli senconde.
• Une transaction s'est terminée avec un COMMIT.
• Le REDO LOG Buffer est au 1/3 plein.
• Avant que DBWn n'écrive le contenu du Database Buffer Cache dans les fichiers
du disque dur.
11
Vue détaillée

Instance Oracle
Programme1
Mémoire PGA
Programme2
SGA Buffer cache Log buffer Shared pool ...

ProgrammeP
LGWR DBWR PMON ….

Disque REDO
DBF …
LOG
12
Groupes – redo log

• Oracle organise les fichiers redo log sous forme de groupes.


• Un groupe est une organisation logique suivie pour organiser les
fichiers redo log.
• Chaque groupe comporte plusieurs (et au moins) membres.
• Membre = fichier physique = fichier redo log

13
Groupes – redo log

Groupe 1
INSERT INTO… INSERT INTO…
UPDATE… UPDATE…
DELETE… DELETE…
UPDATE… UPDATE…
membre1 membre2
Groupe 2
UPDATE… UPDATE…
DELETE… DELETE…
UPDATE… UPDATE…
INSERT INTO… INSERT INTO…
INSERT INTO… INSERT INTO…
membre1 membre2
14
Groupes – redo log

Disque A Disque B

A_LOG1 B_LOG1
Groupe1
LGWR
Groupe2
A_LOG2 B_LOG2

15
Groupes – redo log- multiplexage

• LGWR écrit simultanément sur chaque


membre du groupe
• Tous Les membres d'un groupe redo log
possèdent exactement les mêmes
informations.
• Les membres d'un groupe sur des disques
différents (au moins 2 groupes)
• tous les membres d'un groupe possèdent un
numéro de séquence log sert d'identifiant
16
Groupes – redo log- multiplexage & cyclique

L’écriture sur les fichiers journaux (redo log) est multiplexée et cyclique.

17
Switch

• Il s’agit d’un basculement.


• C’est une opération qui se fait automatiquement si le groupe est
saturé.
• On peut faire un switch manuellement.
• exemple: si on veut supprimer un groupe (changer emplacement et
supprimer).
• Déclenchement du processus ARC

18
Groupes – redo log- multiplexage & cyclique

L’écriture sur les fichiers journaux (redo log) est multiplexée et cyclique.

19
ARC

• ARC est un processus d’arrière plan dédié pour l’archivage.


• Il permet d’archiver les membres d’un groupe si ce dernier est
saturé.
• Il fait l’archivage dans un autre composant du disque désigné par
archive.

20
Vue détaillée

Instance Oracle
Programme1
Mémoire PGA
Programme2
SGA Buffer cache Log buffer Shared pool ...

ProgrammeP
LGWR DBWR ARC PMON …

Disque REDO
DBF Archive
LOG
21
Java Pool

• Une zone mémoire pour exécuter un code Java au sein d’Oracle.


• L’exécution est conditionnée par l’existence d’une version JDK qui
permet d’exécuter les programmes développés.
• Cette zone est principalement destinée à sauvegarder les objets
et programmes Java les plus récemment utilisés.

22
Vue détaillée

Instance Oracle
Programme1

Mémoire PGA
Programme2
SGA Buffer cache Log Buffer Shared pool Java pool …
ProgrammeP
DBWR LGWR ARC PMON …

Disque REDO
DBF Archive
LOG
23
Large pool

• C’est une zone mémoire dans laquelle le programme RMAN fait


sa tâche.
• RecoveryManager (RMAN): C'est un outil ligne de commande qui
est fourni par Oracle. Il facilite les opérations de sauvegarde et de
restauration (backup), en limitant les risques de fausses
manipulations.
• Backup est ainsi un composant du disque Oracle géré par RMAN.
24
Vue détaillée

Instance Oracle
RMAN

Mémoire PGA
Programme2
SGA Buffer cache Log Buffer Shared pool Java pool
Large
pool
ProgrammeP
DBWR LGWR ARC PMON …

Disque REDO BACK


DBF Archive
LOG UP
25
Oracle stream

• C’est une zone mémoire pour la gestion des flux.


• C’est l’espace mémoire dans lequel Oracle Stream exécute ses
tâches.
• C’est un espace de synchronisation (en temps réel) plutôt que la
restauration.
• Oracle Streams est une technologie de synchronisation et la copie
en temps réel entre les bases de données.
26
Vue détaillée

Instance Oracle
RMAN

Mémoire PGA
Programme2
SGA Buffer Log Shared Large Java Stream

cache Buffer pool pool pool pool
ProgrammeP
DBWR LGWR ARC PMON …

Disque REDO BACK


DBF Archive
LOG UP
27
SMON

• SMON (System MONitor)


• SMON surveille la base de données lors de son démarrage c'est à dire
faire la récupération de l'instance après un arrêt anormal. Lors du
démarrage de l'instance Oracle, il vérifie si le dernier arrêt a été
correctement effectué.
• SMON est aussi chargé de:
• libérer les segments temporaires
• compacter l'espace contigu dans les Tablespaces
• surveiller la base de données.
28
SMON

• Le processus SMON en action lors d'un arrêt brutal de la base de


données
• SMON lit les informations contenu dans les segments UNDO (données
en attente de validation) puis les annule. (ROLL BACK)
• SMON récupère dans les fichiers REDO LOG les enregistrements validés
mais pas encore écrit dans les fichiers de données et les insère. (ROLL
FORWARD).
• SMON libère toute les ressources de la base de données (vérrous,
segments temporaires).
29
SMON

• Le processus System Monitor SMON en action lors d'un


fonctionnement normal de la base de données
• SMON surveille l'activité de la base de données.
• SMON recycle les segments temporaires et assure les espaces de tris.
• SMON libère toute les ressources de la base de données (verrous,
segments temporaires).
• SMON peut être appelé par d'autre Processus pour libérer de l'espace.

30
CKPT

• CKPT (CHECKPOINT)
• Checkpoint inscrit les informations de
point de reprise dans les fichiers de
Contrôles et dans l'entête de chaque
fichier de données. C'est ce point de
reprise (SCN) qui permet de rendre
cohérent les fichiers de contrôles et les
fichiers de données, indispensable pour
un processus de récupération.
31
CKPT

• Le processus Checkpoint n'écrit pas les blocs sur le disque, c'est le


rôle du processus Database Writer DBWn.
• Provoque l'activation du DBWR pour écrire les blocs modifiés depuis le
dernier point de contrôle,
• Les numéros SCN enregistrés dans les fichiers garantissent que toutes
les modifications apportées aux blocs de base de données avant un
numéro SCN ont été écrites sur le disque.
• En cas d'arrêt anormal de l'instance, ce SCN marque le début des données à
utiliser pour la récupération de l'instance.
32
CKPT

• Le processus Checkpoint n'écrit pas les blocs sur le disque, c'est le


rôle du processus Database Writer DBWn.
• Provoque l'activation du DBWR pour écrire les blocs modifiés depuis le
dernier point de contrôle,
• Les numéros SCN enregistrés dans les fichiers garantissent que toutes
les modifications apportées aux blocs de base de données avant un
numéro SCN ont été écrites sur le disque.
• En cas d'arrêt anormal de l'instance, ce SCN marque le début des données à
utiliser pour la récupération de l'instance.
33
CKPT

• Le processus Log Writer (LGWR) n’écrit pas dans le fichier de


journalisation (REDO LOG) tant que le processus CKPT n'a pas
synchronisé, car tant que cette synchronisation n'est pas faite, le
fichier de journalisation contient des données nécessaires à une
éventuelle récupération après défaillance de l'instance.

34
Vue détaillée

Instance Oracle RMAN

Mémoire PGA Programme2

SGA Buffer Log Shared Large Java Stream


… ProgrammeP
cache Buffer pool pool pool pool

DBWR LGWR ARC CKPT PMON SMON …

Disque REDO BACK


DBF Archive Contôle …
LOG UP
35

Vous aimerez peut-être aussi