Architecture Oracle PDF
Architecture Oracle PDF
Architecture Oracle PDF
Plan
Architecture
Structure Physique
Composants Processus Traitement de requtes
Structure Logique
richard.chbeir@iut-dijon.u-bourgogne.fr
Architecture
Un serveur Oracle est compos de 3 lments
Mmoire
System Global Area ou SGA
Disque
Donnes, fichiers Redo, fichiers de contrle, fichiers de paramtres, fichiers de mot de passe, etc.
Processus
Services d'arrire plan ou demons
richard.chbeir@iut-dijon.u-bourgogne.fr
Architecture
SGA (System Global Area)
Permet de contenir les structures d'une instance Oracle Contient les donnes et les informations de contrle pour le serveur Oracle Est alloue de la mmoire virtuelle de l'ordinateur o rside le serveur Oracle
richard.chbeir@iut-dijon.u-bourgogne.fr
richard.chbeir@iut-dijon.u-bourgogne.fr
Composants de SGA
Buffer de donnes
Est utilis pour stocker les donnes en mmoire afin d'acclrer l'interrogation et/ou la modification Aucune modification est faite directement sur les donnes du disque Oracle lit les donnes suite la demande d'un processus utilisateur et ensuite valide les modifications sur le disque Il utilise un algorithme nomm LRU (Least-Recently Used) pour dterminer les donnes librer du cache La taille de chacun des buffers (DB_BLOCK_BUFFERS) est gale la taille d'un bloc de donnes (DB_BLOCK_SIZE)
richard.chbeir@iut-dijon.u-bourgogne.fr
Composants de SGA
Buffer de donnes Buffer Redo Log
Il stocke une information spciale nomm Redo permettant Oracle de reconstruire les modifications des donnes en cas de panne
Bloc de donnes modifi Emplacement Nouvelle valeur
L'information Redo est stocke dans le buffer Redo log chaque modification de donnes effectue par un utilisateur L'information Redo reste dans le buffer Redo log jusqu' ce qu'Oracle la stocke sur le disque Sa taille est dfinie par LOG_BUFFER
richard.chbeir@iut-dijon.u-bourgogne.fr
Composants de SGA
Buffer de donnes Buffer Redo Log Shared Pool
Permet de stocker plusieurs lments cruciaux pour la gestion des donnes :
Library cache : permet d'analyse l'ordre d'excution d'une requte SQL et de dfinir un plan d'excution. Si la mme requte est r-excute, le serveur n'analyse pas son ordre. Cela permet d'amliorer la performance des applications Dictionary (ou row) cache : utilis pour le stockage des mtadata dans la mmoire afin d'acclrer l'accs au dictionnaire et les mcanismes de contrle (nom d'utilisateurs, privilges, etc.).
richard.chbeir@iut-dijon.u-bourgogne.fr
Composants
Disque
richard.chbeir@iut-dijon.u-bourgogne.fr
Composants
Disque
Les fichiers de donnes (DataFiles)
Ils sont utiliss pour stocker le dictionnaire de donnes et les objets de la base de donnes. Ces fichiers sont souvent trs volumineux. Les donnes dans le buffer de donnes et le dictionnaire cache sont rcupres de ces fichiers Une base de donnes contient au moins un fichier de donnes
richard.chbeir@iut-dijon.u-bourgogne.fr
Composants
Disque
Les fichiers Redo Logs
Ils sont utiliss pour stocker les informations Redo sur le disque afin de garantir la reconstruction des donnes en cas de panne Une BDD Oracle requiert au moins 2 fichiers redo log 2 familles de redo log : 1- ONLINE pour la restauration face une dfaillance de linstance 2- OFFLINE pour une restauration dans le cas d une dfaillance dun support de stockage.
richard.chbeir@iut-dijon.u-bourgogne.fr
Composants
Disque
Les fichiers de contrle
Ils sont utiliss pour dfinir la localisation des composants disque sur le serveur. La localisation de fichiers de donnes et les redo logs y apparaissent. Pour cette raison, ils sont modifis chaque ajout ou suppression des fichiers redo logs ou fichiers de donnes. Oracle lit les fichiers de contrle au dmarrage de la BDD. Une BDD requiert au moins un fichier de contrle
richard.chbeir@iut-dijon.u-bourgogne.fr
Composants
Disque
Le fichier de paramtres
Utilis pour dfinir les caractristiques d'une instance Oracle (taille SGA, Bloc Oracle, etc). C'est le fichier init.ora
richard.chbeir@iut-dijon.u-bourgogne.fr
Composants
Disque
richard.chbeir@iut-dijon.u-bourgogne.fr
richard.chbeir@iut-dijon.u-bourgogne.fr
richard.chbeir@iut-dijon.u-bourgogne.fr
Il utilise une PGA (Program Global Area) exclusive Il envoie les rsultats au client
richard.chbeir@iut-dijon.u-bourgogne.fr
Elle contient
Une zone de tri utilise avant le traitement ou le renvoi du rsultat l'utilisateur Processus Des informations sur la session Serveur L'tat du curseur PGA
richard.chbeir@iut-dijon.u-bourgogne.fr
Background Threads
DBWR (Data Base WRiter)
Ecrire les blocs modifis dans le cache de donnes sur les disques. Compte tenu de la journalisation (Redo log), les blocs ne sont pas forcment crits la validation des transactions.
Background Threads
PMON (Process MONitor)
Vide le cache Libre les ressources bloques R-active si ncessaire les dispatchers
ARCH (ARCHiver)
Copie les redo log, quand ils sont pleins, dans les fichiers d archive.
RECO
Termine ou annule les transactions en suspend dans les BD distribues
LISTENER ou KMNLS
Permet dtablir des connexions Client-Serveur avec la base de donnes
richard.chbeir@iut-dijon.u-bourgogne.fr
richard.chbeir@iut-dijon.u-bourgogne.fr
1- Analyse
richard.chbeir@iut-dijon.u-bourgogne.fr
Prparation l'extraction
Processus Utilisateur
Processus Serveur
2- Excution
richard.chbeir@iut-dijon.u-bourgogne.fr
Select * From emp; Envoie Donnes Envoie Donnes . Processus Utilisateur Processus Serveur
3- Rcupration
richard.chbeir@iut-dijon.u-bourgogne.fr
Shared Pool
Fichiers de donnes
Fichiers Redo
richard.chbeir@iut-dijon.u-bourgogne.fr
Shared Pool
Fichiers de donnes
Fichiers Redo
richard.chbeir@iut-dijon.u-bourgogne.fr
Fichiers de donnes
Fichiers Redo
richard.chbeir@iut-dijon.u-bourgogne.fr
Fichiers de donnes
Fichiers Redo
richard.chbeir@iut-dijon.u-bourgogne.fr
Fichiers de donnes
Fichiers Redo
richard.chbeir@iut-dijon.u-bourgogne.fr
Rollback Segment
Ancienne Image
Table
Nouvelle Image
Rollback Segment
Ordre MAJ
richard.chbeir@iut-dijon.u-bourgogne.fr
INSTANCE
Shared Pool Buffer Redo log Library Cache Cache du dictionnaire
Fichiers Redo
richard.chbeir@iut-dijon.u-bourgogne.fr
Fichiers Redo
richard.chbeir@iut-dijon.u-bourgogne.fr
Fichiers de contrles
Fichiers Redo
Fichiers Redo
richard.chbeir@iut-dijon.u-bourgogne.fr
Fichiers Redo
richard.chbeir@iut-dijon.u-bourgogne.fr
Architecture
Une BDD Oracle
Reprsente les structures physiques et logiques et se compose des fichiers du OS Est identife par DB_Name au niveau du OS
Une instance
Est un moyen d'accder une base de donnes Oracle Ouvre toujours une seule et unique base de donnes Identifi par Oracle_SID au niveau du OS
richard.chbeir@iut-dijon.u-bourgogne.fr
La structure logique
Tablespaces Segments Extents Blocs de donnes
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
Oracle
BDD Oracle TableSpace Segment Extent Fichier de donnes
Systme d'exploitation
Bloc Oracle
Bloc OS
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
TableSpace
Une BDD Oracle est divise en plus petites zones logiques nommes tablespaces Un Tablespace ne peut appartenir qu une seule BDD Chaque Tablespace est constitu dun ou plusieurs fichiers de donnes stocks sur disque
Un fichier ne peut appartenir qu un seul Tablespace la fois Une fois un fichier ajout un Tablespace, on ne peut plus le retirer ou lassocier un autre Tablespace
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
Table Table Table
Tablespace System
Tablespace IQ2
Tablespace Users
Fichier de donnes
Fichier de donnes
Fichier de donnes
Fichier de donnes
Fichier de donnes
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
TableSpace
Chaque BDD possde au moins un Tablespace appel system
Contenant les tables du dictionnaire de donnes
On peut ajouter des Tablespaces supplmentaires pour grouper des utilisateurs ou des applications
Tablespace user contient les tables des utilisateurs TableSpace IQ2 contient les tables des tudiants en IQ2
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
Visibilit des tablespaces
Chaque utilisateur possde :
Un tablespace par dfaut :
Est celui dans lequel les tables de l'utilisateur seront cres de faon privilgie
Un tablespace temporaire
Utilis pour les tris et en cas dinsuffisance en mmoire centrale
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
Intrts de plusieurs tablespaces spcialiss :
Distribuer les E/S en fonction des applications Grer les quotas utilisateurs Passer un tablespace OFFLINE sans perturber les autres tablespaces Mieux utiliser les supports de stockage Distribuer les index et les donnes sur des supports diffrents pour une meilleure fluidit
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
Extent
Ensemble contigu de blocs de donnes allous simultanment un segment
Segment
Tout segment est cr avec au moins un extent (Initialextent) Lorsquun segment est plein, attribution dun nouveau extent
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
Les types de segments dans un tablespace :
Segments de donnes
Stockent les donnes. Chaque table a un et un seul segment qui contient toutes les donnes de la table. Cr automatiquement
Segments dindex
Stockent les infos sur les index sparment de donnes. Crs lors de la cration dun index
Segment damorage
Cr dans le Tablespace SYSTEM, contient les dfinitions du dictionnaire de donnes
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
Les types de segments dans un tablespace :
Segments temporaires
Pour excution des requtes ncessitant de lespace disque temporaire Sont cres et dtruits automatiquement par des ordres SQL ayant besoin despace temporaire une requte qui contient les trois clauses DISTINCT, GROUP BY et ORDER sont gourmandes en espace temporaire
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
Les types de segments dans un tablespace :
Segments dannulation (RollBack)
Enregistrent les actions, et les donnes avant modification Ne sont utilisables que pour les objets du Tablespace SYSTEM Seul un segment ROLLBACK qui nest pas en cours d'utilisation peut tre dtruit
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
Blocs de donnes
Plus petite unit logique La taille dun bloc peut tre choisie au moment de linitialisation dune base. Elle correspond obligatoirement un multiple de la taille des blocs du systme dexploitation.
Exemple, un bloc dans un systme comme Linux occupe 1024 octets, et un bloc ORACLE occupe typiquement 4 096 ou 8 092 octets.
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
BLOCS , EXTENSIONS ET SEGMENTS SEGMENT (128 K)
EXTENT (32 K)
EXTENT (32 K)
Bloc de 4K
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
Les objets d'une BDD Oracle
Table : contient les donnes dune BDD Index : structure contenant ladresse physique de chaque ligne dune table ou dun cluster. Accs direct linformation. Vue : reprsentation logique de donnes issues dune combinaison dune ou plusieurs tables ou vues Synonyme : Attribution de plusieurs noms un mme objet Squence : gnrateur dentiers uniques
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
Les objets d'une BDD Oracle
Les clusters : permettent d'tablir un groupement de tables qui ont des colonnes communes pour accs rapide aux lignes issues dune jointure Procdure : ensemble de commandes (crites en PL/SQL, SQL, C, Java, etc.) stockes dans la BDD Fonction : ensemble de commandes (crites en PL/SQL, SQL, C, Java, etc.) qui retourne une valeur Package : collection de fonctions et procdures (priv et public) Dclencheur (Trigger) : procdures associes un vnement sur une table
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
Les objets d'une BDD Oracle
Source et classe Java Tableaux (VARRAY) Schma XML
richard.chbeir@iut-dijon.u-bourgogne.fr
Structure logique
richard.chbeir@iut-dijon.u-bourgogne.fr