architecture d’oracle -...
TRANSCRIPT
![Page 2: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/2.jpg)
PlanPlan
ArchitectureStructure Physique
ComposantsProcessusTraitement de requêtes
Structure Logique
![Page 3: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/3.jpg)
ArchitectureArchitectureUn serveur Oracle est composé de 3 éléments
MémoireSystem Global Area ou SGA
DisqueDonnées, fichiers Redo, fichiers de contrôle, fichiers de paramètres, fichiers de mot de passe, etc.
ProcessusServices d'arrière plan ou demons
![Page 4: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/4.jpg)
ArchitectureArchitecture
SGA (System Global Area)Permet de contenir les structures d'une instance OracleContient les données et les informations de contrôle pour le serveur OracleEst allouée de la mémoire virtuelle de l'ordinateur où réside le serveur Oracle
![Page 5: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/5.jpg)
SGA (System Global Area)SGA (System Global Area)
Shared Pool AreaBufferde données
Buffer Redolog
SQL area(parsing des requêtes)
Library cache(exécutable PL/SQL)
Dictionary cache(infos sur les méta-données)
Zone mémoire réservée aux
buffers de données,
d’index et de rollback
segments. Espace
paramétrable
Zone mémoire qui enregistre
l ’activitétransactionnelle des utilisateurs.
Large Pool(Optionnel)
Utilisé pour la gestion des
bases de données
parallèles
![Page 6: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/6.jpg)
Composants de SGAComposants de SGABuffer de données
Est utilisé pour stocker les données en mémoire afin d'accélérer l'interrogation et/ou la modificationAucune modification est faite directement sur les données du disqueOracle lit les données suite à la demande d'un processus utilisateur et ensuite valide les modifications sur le disqueIl utilise un algorithme nommé LRU (Least-RecentlyUsed) pour déterminer les données à libérer du cacheLa taille de chacun des buffers(DB_BLOCK_BUFFERS) est égale à la taille d'un bloc de données (DB_BLOCK_SIZE)
![Page 7: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/7.jpg)
Composants de SGAComposants de SGABuffer de données Buffer Redo Log
Il stocke une information spéciale nommé Redo permettant àOracle de reconstruire les modifications des données en cas de panne
Bloc de données modifiéEmplacementNouvelle valeur
L'information Redo est stockée dans le buffer Redo log à chaque modification de données effectuée par un utilisateurL'information Redo reste dans le buffer Redo log jusqu'à ce qu'Oracle la stocke sur le disqueSa taille est définie par LOG_BUFFER
![Page 8: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/8.jpg)
Composants de SGAComposants de SGABuffer de données Buffer Redo LogShared Pool
Permet de stocker plusieurs éléments cruciaux pour la gestion des données :
Library cache : permet d'analyse l'ordre d'exécution d'une requête SQL et de définir un plan d'exécution. Si la même requête est ré-exécutée, le serveur n'analyse pas son ordre. Cela permet d'améliorer la performance des applicationsDictionary (ou row) cache : utilisé pour le stockage des méta-data dans la mémoire afin d'accélérer l'accès au dictionnaire et les mécanismes de contrôle (nom d'utilisateurs, privilèges, etc.).
![Page 10: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/10.jpg)
ComposantsComposants
DisqueLes fichiers de données (DataFiles)
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 de données et le dictionnaire cache
sont récupérées de ces fichiers
Une base de données contient au moins un fichier de données
![Page 11: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/11.jpg)
ComposantsComposants
DisqueLes fichiers Redo Logs
Ils sont utilisés pour stocker les informations Redosur le disque afin de garantir la reconstruction
des données 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 défaillance de l’instance2- OFFLINE pour une restauration dans le cas
d ’une défaillance d’un support de stockage.
![Page 12: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/12.jpg)
ComposantsComposants
DisqueLes fichiers de contrôle
Ils sont utilisés pour définir la localisation des composants disque sur le serveur. La localisation de fichiers de données et les redo logs y apparaissent.
Pour cette raison, ils sont modifiés à chaque ajout ou suppression des fichiers redo logs ou fichiers de données.
Oracle lit les fichiers de contrôle au démarrage de la BDD.Une BDD requiert au moins un fichier de contrôle
![Page 13: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/13.jpg)
ComposantsComposants
Disque
Le fichier de paramètres
Utilisé pour définir les caractéristiques d'une instance Oracle (taille SGA, Bloc Oracle, etc).
C'est le fichier init.ora
![Page 14: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/14.jpg)
ComposantsComposants
Disque
Le fichier de mot de passe
Il est utilisé pour établir l'authenticité des utilisateurs privilégiés de BDD Oracle.
Sans ce fichier, la BDD est administrable avec n'importe quel outil de gestion (ex : SQL*Plus)
![Page 15: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/15.jpg)
Les processus ORACLELes processus ORACLE
Effectuent les fonctions nécessaires au traitement simultané de plusieurs requêtes utilisateurs, sans compromettre
L'intégritéLa performance du système
![Page 16: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/16.jpg)
Les processus ORACLELes processus ORACLE
2 types de processusProcessus utilisateurProcessus sur le serveur oracle
Processus ServeurProcessus Background (Oracle.exe)
Ces processus exploitent Program Global Area ou PGA
![Page 17: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/17.jpg)
Les processus ORACLELes processus ORACLEUn utilisateur peut se connecter à Oracle
Connexion directe au serveurL'utilisateur se connectant à un serveur Unix exécutant Oracle lance Server Manager
Connexion à deux tiers (Client-serveur)L'utilisateur se connectant à une machine Windows XP exécute Developper/2000
Connexion à trois tiersL'utilisateur lançant un explorateur réseaux sous Windows exécute une application sur un autre poste qui extrait les données sur un serveur Oracle
![Page 18: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/18.jpg)
Les processus ORACLELes processus ORACLE
Processus utilisateur (ou client)Il fonctionne sur la machine du clientIl démarre lors de l'appel de l'outil ou de l'application
SQL*Plus, Server Manager, Developper/2000, Oracle Entreprise Manager, etc.)
Il se termine lorsque l'utilisateur quitte ou interrompre l'applicationIl appelle le serveur Oracle
![Page 19: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/19.jpg)
Les processus ORACLELes processus ORACLEProcessus serveur
Il fonctionne sur la machine serveur (hôte)Suite à la demande du processus utilisateur, le processus serveur lit les données des fichiers à l'intérieur du buffer de donnéesDans une config de serveur dédié
1 processus utilisateur + 1 processus serveurDans une config MTS (mutlithreads)
Partage de processusIl utilise une PGA (Program Global Area) exclusiveIl envoie les résultats au client
![Page 20: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/20.jpg)
Zone mZone méémoire du processus moire du processus (PGA)(PGA)
Est une zone mémoire contenant des données relatives à un processus serveur unique ou à un thread unique
Elle n'est ni partagé ni accessible en écritureElle est allouée lorsqu'un processus serveur est créé
Elle contientUne zone de tri utilisée avant le traitement ou le renvoi du résultat à l'utilisateurDes informations sur la sessionL'état du curseur
Processus Serveur
PGA
![Page 21: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/21.jpg)
Background Background ThreadsThreadsDBWR (Data Base WRiter)
Ecrire les blocs modifiés dans le cache de données sur les disques. Compte tenu de la journalisation(Redo log), les blocs ne sont pas forcément écrits à la validation des transactions.
LOGWR (LoG WRiter) Ecrire dans les fichiers Redo Log le contenu du cache Redo Log
SMON (System MONitor)Réalise le Recovery au moment du StartupEfface les segments temporairesOrganise les blocks de données
![Page 22: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/22.jpg)
Background Background ThreadsThreadsPMON (Process MONitor)
Vide le cacheLibère les ressources bloquéesRé-active si nécessaire les dispatchers
ARCH (ARCHiver)Copie les redo log, quand ils sont pleins, dans les fichiers d ’archive.
RECOTermine ou annule les transactions en suspend dans les BD distribuées
LISTENER ou KMNLSPermet d’établir des connexions Client-Serveur avec la base de données
![Page 23: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/23.jpg)
Traitement d'une Traitement d'une requête (ici)requête (ici)
Il y a 3 étapesAnalyse ExécutionRécupération
![Page 24: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/24.jpg)
Traitement d'une requêteTraitement d'une requête
Processus Utilisateur Processus Serveur
Select * From emp;
1- Analyse
Envoie requête
Envoie état
Analyse Syntaxique Analyse Sémantique
Plan ou ordre d'exécution
![Page 25: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/25.jpg)
Traitement d'une requêteTraitement d'une requête
Processus Utilisateur Processus Serveur
Select * From emp;
2- Exécution
Préparation à l'extraction
![Page 26: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/26.jpg)
Traitement d'une requêteTraitement d'une requête
Processus Utilisateur Processus Serveur
Select * From emp;
3- Récupération
Envoie DonnéesEnvoie Données
….
![Page 27: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/27.jpg)
Traitement d'une MAJTraitement d'une MAJ
Processus Serveur
Update emp;SET sal = sal*1.5
Fichiers de données
Fichiers de contrôles Fichiers Redo
INSTANCE
1
Bufferde données
BufferRedo log Shared Pool
![Page 28: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/28.jpg)
Traitement d'une MAJTraitement d'une MAJ
Processus Serveur
Update emp;SET sal = sal*1.5
Fichiers de données
Fichiers de contrôles Fichiers Redo
INSTANCE
2
Bufferde données
BufferRedo log Shared Pool
![Page 29: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/29.jpg)
Traitement d'une MAJTraitement d'une MAJ
Processus Serveur
Update emp;SET sal = sal*1.5
Fichiers de données
Fichiers de contrôles Fichiers Redo
INSTANCE
3
Bufferde données
BufferRedo log
Shared PoolLibrary Cache
Cache du dictionnaire
![Page 30: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/30.jpg)
Traitement d'une MAJTraitement d'une MAJ
Processus Serveur
Update emp;SET sal = sal*1.5
Fichiers de données
Fichiers de contrôles Fichiers Redo
INSTANCE
4
Bufferde données
BufferRedo log
Shared PoolLibrary Cache
Cache du dictionnaire
![Page 31: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/31.jpg)
Traitement d'une MAJTraitement d'une MAJ
Processus Serveur
Update emp;SET sal = sal*1.5
Fichiers de données
Fichiers de contrôles Fichiers Redo
INSTANCE
5
Bufferde données
BufferRedo log
Shared PoolLibrary Cache
Cache du dictionnaire
![Page 32: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/32.jpg)
RollbackRollback SegmentSegment
Rollback Segment
Table
Ordre MAJ
NouvelleImage
AncienneImage
![Page 33: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/33.jpg)
Traitement des COMMITTraitement des COMMIT
Processus Serveur
Fichiers de données
Fichiers de contrôles Fichiers Redo
INSTANCE
1
Bufferde données
BufferRedo log
Shared PoolLibrary Cache
Cache du dictionnaire
Processus Utilisateur
Enregistrement de validation
![Page 34: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/34.jpg)
Traitement des COMMITTraitement des COMMIT
Processus Serveur
Fichiers de données
Fichiers de contrôles Fichiers Redo
INSTANCE
2
LGWR
Bufferde données
BufferRedo log
Shared PoolLibrary Cache
Cache du dictionnaire
Processus Utilisateur
![Page 35: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/35.jpg)
Traitement des COMMITTraitement des COMMIT
Processus Serveur
Fichiers de données
Fichiers de contrôles Fichiers Redo
INSTANCE
3
LGWR
Bufferde données
BufferRedo log
Shared PoolLibrary Cache
Cache du dictionnaire
Processus Utilisateur
![Page 36: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/36.jpg)
Traitement des COMMITTraitement des COMMIT
Processus Serveur
Fichiers de données
Fichiers de contrôles Fichiers Redo
INSTANCE
4
LGWR
Bufferde données
BufferRedo log
Shared PoolLibrary Cache
Cache du dictionnaire
Processus Utilisateur
![Page 37: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/37.jpg)
Traitement des COMMITTraitement des COMMIT
Processus Serveur
Fichiers de données
Fichiers de contrôles Fichiers Redo
INSTANCE
5
LGWR
Bufferde données
BufferRedo log
Shared PoolLibrary Cache
Cache du dictionnaire
Processus Utilisateur
![Page 38: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/38.jpg)
ArchitectureArchitectureUne BDD Oracle
Représente les structures physiques et logiques et se compose des fichiers du OSEst identifée par DB_Name au niveau du OS
Une instanceEst un moyen d'accéder à une base de données OracleOuvre toujours une seule et unique base de donnéesIdentifié par Oracle_SID au niveau du OS
![Page 39: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/39.jpg)
Une BDD OracleUne BDD OracleLa structure physique
Fichiers de contrôlesFichiers redo log Fichiers de données
La structure logiqueTablespacesSegmentsExtentsBlocs de données
![Page 40: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/40.jpg)
Structure logiqueStructure logique
BDD Oracle
TableSpace
Segment
Extent
Bloc Oracle
Fichier de données
Bloc OS
Oracle Système d'exploitation
![Page 41: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/41.jpg)
Structure logiqueStructure logiqueTableSpace
Une BDD Oracle est divisée en plus petites zones logiques nommées tablespacesUn Tablespace ne peut appartenir qu’à une seule BDDChaque Tablespace est constitué d’un ou plusieurs fichiers de données stockés sur disque
Un fichier ne peut appartenir qu’à un seul Tablespace à la foisUne fois un fichier ajouté à un Tablespace, on ne peut plus le retirer ou l’associer à un autre Tablespace
![Page 42: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/42.jpg)
Structure logiqueStructure logique
Fichierde
données
Fichierde
données
Fichierde
données
Fichierde
données
Fichierde
données
TablespaceTablespaceSystemSystem
TablespaceTablespaceIQ2IQ2
TablespaceTablespaceUsersUsers
Table TableTable
![Page 43: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/43.jpg)
Structure logiqueStructure logiqueTableSpace
Chaque BDD possède au moins un Tablespaceappelé « system »
Contenant les tables du dictionnaire de données
On peut ajouter des Tablespaces supplémentaires pour grouper des utilisateurs ou des applications
Tablespace user contient les tables des utilisateursTableSpace IQ2 contient les tables des étudiants en IQ2
Un Tablespace peut être physiquement sur un autre disque
![Page 44: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/44.jpg)
Visibilité des tablespacesChaque utilisateur possède :
Un tablespace par défaut :– Est celui dans lequel les tables de l'utilisateur seront
créées de façon privilégiée
Un tablespace temporaire– Utilisé pour les tris et en cas d’insuffisance en
mémoire centrale
Structure logiqueStructure logique
![Page 45: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/45.jpg)
Structure logiqueStructure logique
Intérêts de plusieurs tablespacesspécialisés :
Distribuer les E/S en fonction des applicationsGérer les quotas utilisateursPasser un tablespace OFFLINE sans perturber les autres tablespacesMieux utiliser les supports de stockageDistribuer les index et les données sur des supports différents pour une meilleure fluidité
![Page 46: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/46.jpg)
Structure logiqueStructure logiqueExtent
Ensemble contiguë de blocs de données alloués simultanément à un segment
SegmentTout segment est créé avec au moins un extent (Initialextent)Lorsqu’un segment est plein, attribution d’un nouveau extent
![Page 47: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/47.jpg)
Structure logiqueStructure logique
Les types de segments dans un tablespace :Segments de données
Stockent les données. Chaque table a un et un seul segment qui contient toutes les données de la table. Crééautomatiquement
Segments d’indexStockent les infos sur les index séparément de données. Créés lors de la création d’un index
Segment d’amorçageCréé dans le Tablespace SYSTEM, contient les définitions du dictionnaire de données
![Page 48: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/48.jpg)
Structure logiqueStructure logique
Les types de segments dans un tablespace :Segments temporaires
Pour exécution des requêtes nécessitant de l’espace disque temporaireSont crées et détruits automatiquement par des ordres SQL ayant besoin d’espace temporaireune requête qui contient les trois clauses DISTINCT, GROUP BY et ORDER sont « gourmandes » en espace temporaire
![Page 49: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/49.jpg)
Structure logiqueStructure logique
Les types de segments dans un tablespace :Segments d’annulation (RollBack)
Enregistrent les actions, et les données avant modificationNe sont utilisables que pour les objets du TablespaceSYSTEMSeul un segment ROLLBACK qui n’est pas en cours d'utilisation peut être détruit
![Page 50: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/50.jpg)
Structure logiqueStructure logique
Blocs de donnéesPlus petite unité logique La taille d’un bloc peut être choisie au moment de l’initialisation d’une base. Elle correspond obligatoirement à un multiple de la taille des blocs du système d’exploitation.
Exemple, un bloc dans un système comme Linux occupe 1024 octets, et un bloc ORACLE occupe typiquement 4 096 ou 8 092 octets.
![Page 51: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/51.jpg)
BLOCS , EXTENSIONS ET SEGMENTS
SEGMENT (128 K)
EXTENT (32 K)EXTENT (32 K)
Bloc de 4K
Structure logiqueStructure logique
![Page 52: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/52.jpg)
Les objets d'une BDD OracleTable : contient les données d’une BDDIndex : structure contenant l’adresse physique de chaque ligne d’une table ou d’un cluster. Accès direct àl’information.Vue : représentation logique de données issues d’une combinaison d’une ou plusieurs tables ou vuesSynonyme : Attribution de plusieurs noms à un même objetSéquence : générateur d’entiers uniques
Structure logiqueStructure logique
![Page 53: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/53.jpg)
Les objets d'une BDD OracleLes clusters : permettent d'établir un groupement de tables qui ont des colonnes communes pour accès rapide aux lignes issues d’une jointureProcédure : ensemble de commandes (écrites en PL/SQL, SQL, C, Java, etc.) stockées dans la BDDFonction : ensemble de commandes (écrites en PL/SQL, SQL, C, Java, etc.) qui retourne une valeurPackage : collection de fonctions et procédures (privéet public)Déclencheur (Trigger) : procédures associées à un événement sur une table
Structure logiqueStructure logique
![Page 54: Architecture d’Oracle - dcanl.free.frdcanl.free.fr/Etudes/COURS_IUT_IQ2/BDD2/CM/Architecture_Oracle.pdf · ©richard.chbeir@iut-dijon.u-bourgogne.fr Architecture SGA (System Global](https://reader031.vdocuments.mx/reader031/viewer/2022021823/5b4713567f8b9a3a058bf50f/html5/thumbnails/54.jpg)
Les objets d'une BDD OracleSource et classe JavaTableaux (VARRAY)Schéma XML
Structure logiqueStructure logique