3 - Architecture D'oracle

Télécharger au format ppt, pdf ou txt
Télécharger au format ppt, pdf ou txt
Vous êtes sur la page 1sur 31

Administration de base

de données Oracle
Dr Bassirou NGOM
Bassirou.ngom@gmail.com
Administrateurs de bases de données
• Une base de données a besoin d’au moins d’un administrateur
pour son administration.

• L’administrateur a pour tâche :


– Installer le serveur Oracle
– Planifier et créer des bases de données
– Gérer les structures physiques
– Créer et gérer des utilisateurs
– Gérer la sécurité
– optimiser les performances de la base de données
– Planifier et exécuter les sauvegardes et restaurations

B.NGOM 2
Utilisateurs
• Les utilisateurs de la base de données interagissent
avec elle via des utilitaires (ex: SQL*Plus) ou des
applications.

• Les tâches typiques d’un utilisateur de base de


données incluent des tâches telles que : l’insertion, la
modification et la suppression des données
auxquelles il a accès.

B.NGOM 3
Processus utilisateur
• Fonctionne sur la machine du client (architecture
Client/Serveur)

• Démarre lors de l’appel d’un outil ou d’une


application

• Inclut l’UPI (User Program Interface)

• Appelle le serveur Oracle

B.NGOM 4
Processus serveur
• Fonctionne sur la machine même machine que le
serveur Oracle

• Inclut l’OPI (Oracle Program Interface)

• Traite les appels générés par les clients et leur


retourne les résultats

• Prend en charge
– un unique processus client en cas de serveur dédié
– plusieurs processus clients en cas de serveur partagé
B.NGOM 5
Architecture à serveur dédié

Processus Processus
utilisateur utilisateur Poste de travail du client
(Client WorkStation)

• 1 processus utilisateur ↔ 1 processus serveur


• Architecture la plus simple
• Inadaptée si beaucoup de clients se connectent
simultanément
Serveur de base de données
Processus Processus (Database Serveur)
serveur serveur

Mémoire de stockage temporaire des données


B.NGOM 6
Architecture à serveur partagé
Processus
utilisateur Poste de travail du client
(Client WorkStation)
7

1
• n processus utilisateur ↔ 1 processus
6
serveur Serveur de base de données
(Database Serveur)
• GestionDispatcher
d’une processus
file de
(expéditeur)
requêtes des processus
utilisateur et de réponses à retourner→ Dispatcher
Processus
serveur

2 3 4
5

File des
File des réponses
requêtes

Mémoire de stockageB.NGOM
temporaire des données 7
Architecture d’Oracle

B.NGOM 8
Le système Oracle
• On distingue deux composantes dans un système
d’information : les données et les traitements.
– Les données sont représentées par une base de données
– et les traitements par un ensemble d’applications informatiques et par
des procédures manuelles.

• Une base de données Oracle comprend deux types


d’informations: le dictionnaire de données et les données.
– Le dictionnaire de données est un ensemble de tables qui décrivent la
base ;
– les données sont de deux types : les données des utilisateurs
(essentiellement les tables et les index) et les données nécessaires au
fonctionnement d’Oracle (exemple les segments de rollback).

B.NGOM 9
Le système Oracle
• Le noyau d’Oracle réalise les fonctionnalités requises
chez un SGBD.

• Il permet ainsi d’assurer le fonctionnement normal


d’une base de données (stockage des données et
gestion de l’espace disque, gestion du dictionnaire de
données, recherche et modification des données,
sécurité des données ainsi que leur intégrité et leur
confidentialités et enfin gestion de la concurrence
d’accès).

B.NGOM 10
Architecture d’Oracle (1/2)

• L’architecture d’Oracle est organisé sur trois niveaux :


– Les fichiers : ce niveau correspond à la structure de
la base de données et à la façon dont les données
sont stockées physiquement.

– La mémoire : ce niveau correspond à l’organisation


des données en mémoire centrale.

– Les processus : ce niveau correspond aux processus


qu’Oracle met en œuvre pour la gestion d’une base
de données.
B.NGOM 11
Architecture d’Oracle (2/2)
Processus

Mémoire vive

Fichiers sur disque

B.NGOM 12
Les fichiers
• Une base de données Oracle est un ensemble de
fichiers sur disque ayant chacun une structure et une
vocation particulière.

• On distingue trois types de fichiers : les fichiers de


données (datafiles),
datafiles les fichiers de journalisation
(redo log files)
files et les fichiers de contrôle (control
files)
files
NB : il ne faut pas confondre une base de données Oracle et une
instance Oracle qui est un ensemble de processus séparés et
une zone de la mémoire centrale appelée SGA (on y reviendra).

Une instance travaille sur une et une seule base de données.


B.NGOM 13
Les fichiers de données (Datafiles)
• Servent à stocker les données, les index et les objets de la base
de données créées par les utilisateurs.

• Leurs caractéristiques :
– Un fichier de données n’est associé qu’à une seule base de
données.
– A la création de la base, est créé au moins un premier
fichier de données qui contient le dictionnaire de données.
– D’autres fichiers sont ensuite créés pour répondre au
fonctionnement de la base.
– Les fichiers de données sont regroupés logiquement dans
des objets appelés tablespaces.
B.NGOM 14
Structure du stockage des données
Base de données Structure physique
1, n
1, 1

1, 1
1, n
Schéma 1, 1 1, n
Tablespace Fichier
1, 1 1, 1 1, 1

0, n

1, n
Table, Index, Segment
Cluster, … 1, 1
1, 1
1, n
1, 1
Extent
1, n 3, n 1, n
1, 1
Structure logique Bloc Oracle Bloc OS
1, n

B.NGOM 15
Illustration du stockage des données (1/2)
table 4
table 7 table 1

table 5 table 2
table 8

table 3

table 9 table 6

table 10
Table (relation) de données

Base de données
B.NGOM 16
Illustration du stockage des données (2/2)
table 4
table 1
table 5
table 2
table 10
table 3
Fichier 3.dbf Fichier 4.dbf
table 7
Fichier 2.dbf
table 6
table 8
Tablespace

Fichier 1.dbf
table 9

Fichier 5.dbf
Fichier de données (Datafile)
B.NGOM 17
Les fichiers de journalisation (Redo log files)
• Stockent les entrées générées par les commandes DML-SQL
des utilisateurs.

• Servent à remettre la base de données dans un état cohérent à


la suite d’une panne de l’instance.

• Leurs caractéristiques :
– Lors de la création de la base de données, ils sont au moins deux, afin
de permettre une sauvegarde circulaire des transactions validées.
– Afin de se protéger contre une panne concernant les Redo log files,
Oracle permet de les multiplexer de sorte que deux copies ou plus
puissent être maintenues sur différents disques.

B.NGOM 18
Multiplexage des fichiers redo
Groupe de Groupe de Groupe de Groupe de
• Le fichiers fichiers fichiers fichiers
multiplexage
redo 1
des fichiers
redo 2
redo en ligne
redo 3
s’effectue en
redo 4
créant plusieurs
groupes de ces fichiers.
Changement de Changement de Changement de
groupe groupe groupe
• Dans une installation Oracle, par défaut, il y a trois fichiers redo. Lorsque
le fichier en cours est plein, Oracle écrit dans le fichier suivant. Et lorsque
Disque
Membre
le dernier 1
est plein, il reprend
Membre le
1 premier.
Membre 1 Membre 1 physique 1

• Pour les multiplexer, on crée un groupe pour chaque fichier en lui


associant une ou plusieurs copies. Une fois ces groupes créés, les
Disque
entréesMembre
redo sont
2 écrites concurremment
Membre 2 Membredans
2 tous les 2fichiers
Membre du groupe
physique 2
courant.

• Lorsqu’un groupe est plein, Oracle passe au groupe suivant.


Membre 3 Disque
Membre 3 Membre 3 Membre 3 physique 3
• Une alternative au multiplexage est l’utilisation de solution RAID ou
ASM.
Changement de groupe
B.NGOM 19
Les fichiers de contrôle (Control files)
• Chaque base de données oracle possède un fichier de
contrôle.

• Il contient les informations sur la structure physique


de la base de données. Il contient entre autres les
informations suivantes:
– Le nom de la base de données
– Le nom et l’emplacement des fichiers de données et des fichiers de
reprise

• Le fichier de contrôle peut aussi être multiplexé.

B.NGOM 20
La mémoire

• Il correspond à l’organisation des données en


mémoire centrale. La mémoire est composé de deux
zones:
– La SGA (System Global Area), ensemble de zones
tampons allouées pour contenir les données et certaines
informations de contrôle d’une base de données.
– La PGA (Program Global Area), qui contient entre autres,
les zones mémoires allouées aux processus.

B.NGOM 21
Les processus

• Ce sont les processus qu’Oracle met en œuvre pour la


gestion d’une base de données. On distingue deux
types de processus:
– Le processus serveur
– Les processus d’arrière-plan, qui ont chacun une tâche
déterminée pour la gestion des données.

B.NGOM 22
Architecture interne d’Oracle

B.NGOM 23
Instance Oracle
• Un ensemble processus séparés et une zone de la
mémoire centrale appelée SGA (processus d’arrière-
plan + SGA).

• Moyen d’accès à une base de données Oracle.

• Ouvre une unique base de données.

• Un serveur oracle = instance oracle + base de


données oracle.
B.NGOM 24
La SGA (System Global Area)
• Elle comprend:
– Une zone partagée (Shared Pool) utilisée entre autre pour
stocker les commandes SQL et analyser le plan d’exécution
de ces commandes, sa taille est définie par le paramètre
SHARED_POOL_SIZE.

– Le cache de données (Database Buffer Cache) stocke les


données demandées par les commandes SQL. Son rôle est
de permettre de lire le moins possible sur le disque et de
garder en mémoire les données souvent modifiées. Oracle
enregistre plus tard les données modifiées.

B.NGOM 25
La SGA (System Global Area)
• Elle comprend:
– Le cache de reprise (Redo Log Buffer), zone mémoire qui
contient temporairement les entrées des données modifiées
et validées avant qu’elles ne soient enregistrées dans les
fichiers des journaux de reprise.

Ces entrées sont générées par les commandes INSERT,


UPDATE, DELETE, CREATE, ALTER, DROP.
Elles permettent lors d’une panne de reconstituer les
fichiers de données pour rendre la base de données
cohérente.

B.NGOM 26
Les processus d’arrière-plan
Ils sont principalement au nombre de 5 :
• DBWR (Database Writer Process), processus
d’écriture des blocs de données
– Ecrit les blocs de données modifiées de la Database Buffer
Cache vers le disque.
– Il s’exécute lorsque le processus serveur ne trouve plus de
tampon libre dans le buffer cache pour lire des données.
– Il peut être aussi appelé à une fréquence déterminée par le
checkpoint.

B.NGOM 27
Les processus d’arrière-plan
Ils sont principalement au nombre de 5 :
• LGWR (Log Writer Process), processus d’écriture des
fichiers de reprise
– Ecrit les entrées des journaux de reprise du Redo Log Buffer
dans les fichiers des journaux de reprise sur disque.

• CKPT (Checkpoint Process), point de synchronisation


– Appelle le processus DBWR à des instants spécifiques.

B.NGOM 28
Les processus d’arrière-plan
• SMON (System Monitor Process)
– Exécute le recouvrement de l’instance, quant celle-ci
démarre.
– Libère les segments temporaires quand ils ne sont plus
utilisés.
– Fusionne les blocs de données non contigus afin de les
allouer à un segment qui en a fait la demande.

• PMON (Process Monitor Process)


– Chargé du recouvrement des processus serveurs quand les
D’autres processus
processus sontsont
utilisateurs aussi lancés: Il libère les ressources
défaillants.
–Suivant le le
et nettoie type de serveur
cache (partagé/dédié)
utilisé par ces processus.
–Suivant le mode d’archivage (archivelog/noarchivelog)
B.NGOM 29
Structures
Structures de
de mémoire
mémoire
Instance
Processus d’arrière-plan

Structure Base de données


physique Fichiers Fichiers Fichiers Fichiers
Fichiers Fichiers Fichiers Fichiersredo
redo
de la base de
dedonnées
données de
decontrôle
contrôle redo
redoen
enligne
ligne archivés
archivés
de données

Fichier Fichier Fichier Fichier


de
Fichier
de données
données 11 de
Fichier
de données
données 22 de
Fichier
de données
données 33
… de
Fichier
de données
données NN

Structure
logique de Base de données
la base de Tablespace
Tablespace Tablespace
Tablespace Tablespace
Tablespace
données SYSTEM
SYSTEM USERS
USERS SYSAUX
SYSAUX
B.NGOM 30
Questions …!?

B.NGOM 31

Vous aimerez peut-être aussi