Scheda di revisione: Architecture et Fonctionnement d'Oracle

📋 Plan du Cours

  1. Composants de l'architecture Oracle
  2. Installation Oracle 21c
  3. Version XE et Standard
  4. Fichiers de l'architecture
  5. Instance Oracle
  6. Structure mémoire Oracle
  7. SGA et PGA
  8. Processus d'arrière-plan
  9. Fonctionnement des processus

📖 1. Composants de l'architecture Oracle

🔑 Notions clés & Définitions

Serveur Oracle
Un serveur Oracle est un système de gestion de base de données qui offre une méthode de gestion des informations ouverte, complète et intégrée. Il est constitué d'une instance et d'une base de données Oracle. La formule simplifiée : SERVEUR ORACLE = instance + base de données.

Instance Oracle
Une instance Oracle permet d'accéder à une base de données Oracle. Elle ne peut ouvrir qu'une seule base à la fois et est composée de structures mémoire et de processus d'arrière-plan.

Base de données Oracle
Une base de données Oracle est un ensemble de données traitées comme une entité unique. Elle est constituée de fichiers physiques (contrôle, données, journalisation) et de structures mémoire.

Fichier de mots de passe
Ce fichier stocke les informations d'authentification des utilisateurs pour accéder à la base de données Oracle.

Fichier de paramètres
Ce fichier contient la configuration de l'instance Oracle, notamment les paramètres de mémoire, de processus, etc.

📝 Points essentiels

Un serveur Oracle est constitué d'une instance et d'une base de données Oracle. L'instance Oracle comprend des structures mémoire (telles que la mémoire SGA partagée et la mémoire PGA) et des processus d'arrière-plan (comme PMON, SMON, DBWR, LGWR, CKPT). Elle permet d'accéder à une seule base de données Oracle, qui elle-même est un ensemble de données traitées comme une entité unique. La base de données est composée de fichiers physiques : fichiers de contrôle, fichiers de données, fichiers de journalisation archivés, et fichiers de journalisation en ligne.

💡 À retenir

Un serveur Oracle combine une instance et une base de données pour gérer efficacement les informations. L'instance, avec ses structures mémoire et processus, sert d'intermédiaire pour accéder à la base de données, qui constitue l'ensemble des données physiques et logiques.

📖 2. Installation Oracle 21c

🔑 Notions clés & Définitions

Installation Oracle 21c : Processus d'installation du logiciel Oracle 21c, qui permet de déployer la base de données Oracle sur un système informatique. Elle inclut la configuration initiale des composants nécessaires au fonctionnement de la base.

Installation Oracle 21c XE : Version gratuite, légère et limitée d'Oracle 21c, conçue pour le développement et l'apprentissage. Elle offre une installation simple et rapide, adaptée à des environnements de test ou de formation.

Installation Oracle 21c Standard/Enterprise : Version complète, payante, destinée à un usage en production et en entreprise. Son installation est plus complexe, nécessitant une configuration approfondie et une gestion précise des ressources.

📝 Points essentiels

L'installation d'Oracle 21c XE est simple, ce qui facilite sa mise en œuvre pour des utilisateurs débutants ou pour des environnements de développement. En revanche, l'installation de la version Standard ou Enterprise est plus complexe, car elle requiert une configuration détaillée et une gestion avancée des composants. La version XE étant limitée, elle est idéale pour apprendre ou développer, tandis que les versions Standard/Enterprise conviennent à des déploiements en production avec des besoins plus importants.

💡 À retenir

Il est crucial de différencier la simplicité d'installation de la version XE, adaptée à l'apprentissage, de la complexité de celle des versions Standard ou Enterprise, qui sont conçues pour des environnements professionnels et nécessitent une configuration plus élaborée.

📖 3. Version XE et Standard

🔑 Notions clés & Définitions

Oracle 21c XE (Express) : Version gratuite et allégée d'Oracle 21c, destinée au développement, à l'apprentissage et à des usages limités. Elle possède des restrictions en termes de ressources et de fonctionnalités.

Oracle 21c Standard/Enterprise : Versions payantes d'Oracle 21c, offrant des fonctionnalités complètes et une capacité d'extension illimitée en termes de ressources, adaptées aux environnements de production.

Limites CPU/RAM/Stockage : Oracle 21c XE est limitée en ressources matérielles, notamment en CPU, mémoire RAM et stockage, contrairement à la version Standard ou Enterprise qui n'imposent pas de telles restrictions ou les augmentent considérablement.

Fonctionnalités RAC et Partitioning : Fonctionnalités avancées disponibles uniquement dans les versions Standard ou Enterprise, permettant la haute disponibilité (RAC) et la gestion efficace de grandes bases de données (Partitioning). Absentes dans XE.

📝 Points essentiels

Oracle 21c XE est limitée en CPU, RAM et stockage, ce qui signifie que ses capacités sont restreintes pour s’adapter à ses usages de développement ou d’apprentissage. En revanche, la version Standard ou Enterprise offre des ressources illimitées ou supérieures, permettant une utilisation en production et pour des applications critiques.

La version Standard/Enterprise propose des fonctionnalités avancées telles que RAC (Real Application Clusters) et Partitioning, qui ne sont pas disponibles dans XE. Ces fonctionnalités permettent d’assurer la haute disponibilité, la scalabilité et une gestion efficace de très grandes bases de données.

L’usage de Oracle 21c XE est recommandé pour le développement et l’apprentissage, en raison de ses limitations, tandis que la version Standard est adaptée pour la mise en production, avec ses capacités étendues et ses fonctionnalités avancées.

💡 À retenir

Oracle 21c XE est une version limitée, idéale pour l’apprentissage et le développement, tandis que la version Standard ou Enterprise, sans ces restrictions, est conçue pour la production et offre des fonctionnalités avancées telles que RAC et Partitioning.

📖 4. Fichiers de l'architecture

🔑 Notions clés & Définitions

Fichiers de contrôle : fichiers qui gèrent la structure physique de la base de données, notamment la coordination et la gestion des autres fichiers.
Fichiers de données : fichiers contenant les données réelles de la base, stockées sous forme de blocs.
Fichiers de journalisation : fichiers qui enregistrent toutes les modifications effectuées dans la base pour permettre la récupération en cas de panne.
Fichiers de journalisation archivés : copies des fichiers de journalisation qui ont été archivés pour assurer la continuité de la récupération et la sauvegarde.

📝 Points essentiels

La base de données Oracle comprend trois types principaux de fichiers : contrôle, données et journalisation.
Les fichiers de contrôle sont responsables de la gestion de la structure physique de la base, en assurant la cohérence et la coordination entre les autres fichiers.
Les fichiers de journalisation enregistrent toutes les modifications apportées à la base, permettant la récupération des données en cas de crash ou de panne.
Les fichiers de journalisation archivés sont des copies conservées des fichiers de journalisation, indispensables pour la récupération point-in-time et la sauvegarde.

💡 À retenir

Les fichiers de contrôle, de données et de journalisation sont essentiels pour garantir l'intégrité, la cohérence et la récupération des données dans une architecture Oracle.

📖 5. Instance Oracle

🔑 Notions clés & Définitions

Structures mémoire : Ensemble de zones de mémoire utilisées par l'instance pour stocker des données temporaires, des instructions ou des définitions d'objets. Elles facilitent l'accès rapide aux données et l'exécution efficace des opérations.

Processus d'arrière-plan : Processus système qui opèrent en permanence pour gérer, maintenir et optimiser le fonctionnement de la base de données. Parmi eux, PMON, SMON, DBW0, CKPT, et LGWR, qui assurent la récupération, la gestion des buffers, la sauvegarde et la journalisation.

Cache "library" : Partie du Shared Pool qui conserve les instructions SQL et PL/SQL récemment utilisées. Il accélère leur exécution en évitant de recompilier ou de recharger ces instructions à chaque utilisation.

Cache du dictionnaire de données : Segment du Shared Pool contenant les définitions des objets de la base (tables, vues, index, etc.) qui ont été récemment accédés. Il permet un accès rapide aux métadonnées nécessaires pour l'exécution des requêtes.

📝 Points essentiels

Une instance Oracle ouvre une seule base de données et se compose de structures mémoire et de processus d'arrière-plan. Les structures mémoire principales incluent le Buffer Cache, qui stocke les blocs de données lus ou modifiés, et le Shared Pool, qui contient le cache "library" et le cache du dictionnaire de données. Ces caches jouent un rôle clé dans la rapidité d'accès aux instructions SQL/PL/SQL et aux définitions d'objets, respectivement.

Les processus d'arrière-plan, tels que PMON, SMON, DBW0, CKPT, et LGWR, assurent la gestion continue de la base, la récupération, la sauvegarde, la gestion des tampons et la journalisation des transactions. Ensemble, ces composants internes garantissent la stabilité, la performance et la cohérence de la base de données.

💡 À retenir

L'instance Oracle, composée de structures mémoire et de processus d'arrière-plan, joue un rôle central dans l'accès et la gestion efficace des données, notamment grâce à ses caches spécialisés qui accélèrent l'exécution des instructions et la récupération des métadonnées.

📖 6. Structure mémoire Oracle

🔑 Notions clés & Définitions

Mémoire SGA
La mémoire SGA (System Global Area) est une zone de mémoire partagée entre tous les utilisateurs et allouée au démarrage de l’instance. Elle regroupe les caches et structures nécessaires au fonctionnement global de la base, permettant une gestion efficace des ressources et une communication rapide entre processus.

Mémoire PGA
La mémoire PGA (Program Global Area) est une zone allouée à chaque processus utilisateur. Elle est spécifique à chaque processus et est libérée à la fin de celui-ci. Elle contient des informations nécessaires à l’exécution de ce processus, telles que les variables de session et les contextes d’exécution.

Zone de mémoire LARGE POOL
La zone LARGE POOL est une zone optionnelle de la mémoire Oracle. Elle réduit la charge sur la mémoire partagée en stockant notamment les opérations de récupération, de sauvegarde, ou encore les processus liés à la gestion des requêtes longues ou de la mémoire Java. Elle est utilisée selon les besoins pour optimiser la performance.

Zone de mémoire Java
La zone de mémoire Java est nécessaire uniquement si Java est utilisé dans la base. Elle stocke les objets et les classes Java, permettant l’exécution de programmes Java intégrés à la base Oracle. Son allocation dépend de l’utilisation de Java dans l’environnement de la base.

📝 Points essentiels

  • La mémoire SGA est partagée entre tous les utilisateurs et allouée au démarrage de l’instance. Elle contient notamment le cache du dictionnaire de données, le cache "library", et les tampons de la base. Elle inclut aussi des processus comme PMON, SMON, DBW0, CKPT, LGWR, et d’autres caches de tampons de la base de données.

  • La mémoire PGA est allouée à chaque processus utilisateur et est libérée à la fin de celui-ci. Elle sert à stocker les informations spécifiques à chaque session, telles que les variables de session et les contextes d’exécution.

  • La zone LARGE POOL est optionnelle. Elle permet de réduire la charge sur la mémoire partagée en stockant des opérations spécifiques comme la récupération ou la gestion des requêtes longues, améliorant ainsi la performance globale.

  • La zone Java est nécessaire uniquement si Java est utilisé dans la base. Elle contient les objets et classes Java, facilitant l’exécution de programmes Java intégrés à la base Oracle.

💡 À retenir

La mémoire SGA, partagée et allouée au démarrage, centralise les ressources essentielles au fonctionnement de la base, tandis que la PGA, spécifique à chaque processus, gère les besoins individuels. La zone LARGE POOL et la mémoire Java sont optionnelles, leur utilisation dépendant des fonctionnalités spécifiques de la base.

📖 7. SGA et PGA

🔑 Notions clés & Définitions

Cache de tampons de la base de données : Ensemble de mémoire dans le SGA qui stocke les blocs de données récemment utilisés pour accélérer leur accès. Il permet de réduire les accès disques en conservant en mémoire les données fréquemment demandées.

Tampon de journalisation : Partie du SGA qui enregistre toutes les modifications effectuées sur la base de données. Il assure la récupération en conservant un historique des opérations, notamment en cas de panne.

Paramètre SGA_MAX_SIZE : Paramètre qui définit la taille maximale du SGA. Elle peut être ajustée manuellement ou automatiquement pour optimiser la mémoire allouée à la SGA.

Paramètre LOG_BUFFER : Paramètre qui détermine la taille du tampon de journalisation. Il stocke temporairement les entrées de journal avant leur écriture sur disque, influençant la performance de la journalisation.

📝 Points essentiels

  • Le cache de tampons stocke les blocs de données récemment utilisés pour accélérer l’accès aux données, évitant ainsi des lectures fréquentes sur disque.
  • Le tampon de journalisation enregistre toutes les modifications pour assurer la récupération de la base en cas de panne ou d’incident.
  • La taille du SGA est définie par le paramètre SGA_MAX_SIZE, qui peut être gérée manuellement ou automatiquement selon la configuration.
  • Le LOG_BUFFER définit la taille du tampon de journalisation, influençant la rapidité avec laquelle les modifications sont enregistrées dans le journal.

💡 À retenir

La gestion efficace de la mémoire, notamment via le cache de tampons et le tampon de journalisation, ainsi que la configuration des paramètres SGA_MAX_SIZE et LOG_BUFFER, est essentielle pour optimiser les performances et assurer la récupération fiable de la base de données.

📖 8. Processus d'arrière-plan

🔑 Notions clés & Définitions

PMON
PMON (Processus de Moniteur de Processus) est responsable de la surveillance des processus d’arrière-plan. Il gère la récupération des ressources en cas de défaillance d’un processus utilisateur ou serveur, et libère les ressources occupées par ces processus.

SMON
SMON (Processus de Récupération Automatique) effectue la récupération automatique après un crash de la base de données. Il intervient pour effectuer la récupération des segments incohérents et la mise à jour des fichiers de contrôle afin d’assurer la cohérence de la base.

DBWR
DBWR (Processus d’Écriture de la Base de Données) écrit les données modifiées du cache (buffer cache) sur disque. Son rôle est d’assurer la persistance des modifications effectuées en mémoire pour maintenir la cohérence entre la mémoire et le disque.

LGWR
LGWR (Processus d’Écriture du Journal) gère l’écriture des entrées de journalisation (redo logs) dans les fichiers de journalisation. Il garantit que toutes les modifications importantes sont enregistrées pour permettre la récupération en cas de défaillance.

CKPT
CKPT (Point de Contrôle) met à jour les points de contrôle pour assurer la cohérence des données. Il signale au processus LGWR de transférer les informations de journal dans les fichiers de contrôle, facilitant ainsi la récupération et la cohérence lors de la fermeture ou du crash de la base.

📝 Points essentiels

  • PMON surveille la santé des processus et récupère les ressources en cas de défaillance.
  • SMON intervient pour la récupération automatique après un crash, en effectuant la récupération des segments incohérents et la mise à jour des fichiers de contrôle.
  • DBWR écrit les données modifiées du cache sur disque, assurant la persistance des modifications.
  • LGWR gère l’écriture des entrées de journalisation dans les fichiers de journal, garantissant la durabilité des transactions.
  • CKPT met à jour les points de contrôle pour maintenir la cohérence des données, en signalant au processus LGWR de transférer les informations de journal dans les fichiers de contrôle.

💡 À retenir

Les processus d’arrière-plan, tels que PMON, SMON, DBWR, LGWR et CKPT, jouent un rôle essentiel dans la stabilité, la cohérence et la récupération de la base de données Oracle, en assurant une gestion efficace des ressources, la persistance des données et la récupération automatique après incident.

📖 9. Fonctionnement des processus

🔑 Notions clés & Définitions

Processus utilisateur
Le processus utilisateur initie la connexion à la base de données, mais n’interagit pas directement avec la base elle-même. Son rôle est de lancer la demande de connexion, sans gérer les opérations internes ou la communication continue avec la base.

Processus serveur dédié
Ce processus répond aux requêtes provenant d’un seul utilisateur ou d’une seule session. Il est dédié à une connexion spécifique, assurant une gestion exclusive et continue de cette session, ce qui peut améliorer la performance pour des opérations intensives ou critiques.

Processus serveur partagé
Ce processus gère plusieurs connexions ou sessions simultanément. Il répond aux requêtes de plusieurs utilisateurs en partageant ses ressources, permettant une utilisation plus efficace des ressources serveur.

Connexion utilisateur
La connexion utilisateur correspond au processus par lequel un utilisateur établit une liaison avec la base de données. Elle débute par une demande de connexion, qui, une fois acceptée, mène à la création d’une session Oracle.

Session Oracle
Une fois la connexion établie, une session Oracle est créée. Elle représente l’environnement de travail de l’utilisateur dans la base, permettant l’exécution de requêtes et opérations. La session est créée après l’établissement de la connexion entre l’utilisateur et l’instance.

📝 Points essentiels

Le processus utilisateur initie la connexion à la base de données, mais n’interagit pas directement avec la base elle-même. C’est le processus serveur qui répond aux requêtes, pouvant être dédié ou partagé selon la configuration. Après que la connexion est établie, une session Oracle est créée, représentant l’environnement de travail de l’utilisateur dans la base. Les processus d’arrière-plan, quant à eux, sont lancés au démarrage de l’instance pour gérer les tâches internes, indépendamment des processus utilisateur ou serveur.

💡 À retenir

La dynamique entre processus utilisateur, serveur et session Oracle est essentielle pour maîtriser la gestion des connexions et des ressources dans une base Oracle. Le processus utilisateur initie la connexion, le processus serveur répond aux requêtes, et la session Oracle représente l’environnement de travail actif de l’utilisateur.

📊 Tableaux de Synthèse

ComposantDéfinitionRôleAuteur / Référence
Serveur OracleSystème de gestion de base de donnéesRegroupe une instance et une base de données-
Instance OracleEnsemble de structures mémoire et processus d'arrière-planPermet d’accéder à une seule base à la fois-
Base de données OracleEnsemble de fichiers physiques et structures mémoireEntité unique traitant les données-
Fichier de contrôleGère la structure physique et la cohérenceCoordination des autres fichiers-
Fichier de donnéesContient les données stockéesDonnées réelles sous forme de blocs-
Fichier de journalisationEnregistre toutes les modificationsFacilite la récupération en cas de panne-
Fichier archivésCopies des fichiers de journalisationAssurent la continuité de la récupération-
Structures mémoire (SGA, PGA)Zones mémoire pour le traitement des données et instructionsAccès rapide aux données, optimisation des opérations-
Processus d’arrière-plan (PMON, SMON, DBWR, LGWR, CKPT)Processus système gérant la maintenance et la récupérationMaintien du bon fonctionnement de la base-

⚠️ Pièges & Confusions Fréquentes

  1. Confondre serveur Oracle avec l’ensemble instance + base, alors qu’un serveur inclut aussi la gestion physique.
  2. Croire que l’instance peut ouvrir plusieurs bases simultanément — elle n’en ouvre qu’une à la fois.
  3. Confusion entre fichiers physiques (contrôle, données, journalisation) et structures mémoire.
  4. Sous-estimer l’importance des fichiers de journalisation archivés pour la récupération point-in-time.
  5. Confondre la fonction des processus d’arrière-plan (ex : PMON vs SMON).
  6. Oublier que la mémoire PGA est spécifique à chaque processus utilisateur.
  7. Croire que toutes les fonctionnalités avancées (RAC, Partitioning) sont disponibles dans XE.

✅ Checklist Examen

  1. Connaître la définition d’un serveur Oracle selon Notions clés & Définitions.
  2. Savoir que l’instance Oracle est composée de structures mémoire (SGA, PGA) et processus d’arrière-plan (PMON, SMON, etc.).
  3. Identifier les fichiers principaux de l’architecture Oracle : contrôle, données, journalisation.
  4. Comprendre le rôle des fichiers de contrôle dans la gestion physique de la base.
  5. Distinguer entre Oracle 21c XE (version gratuite limitée) et Standard/Enterprise (version payante avec fonctionnalités avancées).
  6. Connaître les limitations en ressources CPU/RAM/Stockage pour Oracle XE.
  7. Savoir que RAC et Partitioning sont des fonctionnalités réservées aux versions Standard/Enterprise.
  8. Maîtriser le fonctionnement et le rôle des processus d’arrière-plan : PMON, SMON, DBWR, LGWR, CKPT.
  9. Comprendre le rôle du cache "library" dans le Shared Pool.
  10. Être capable d’expliquer le rôle des fichiers archivés dans la stratégie de récupération.
  11. Connaître les composants du serveur Oracle : instance + base de données.
  12. Identifier les différences entre installation XE et Standard/Enterprise en termes de complexité et ressources nécessaires.

Metti alla prova le tue conoscenze

Metti alla prova le tue conoscenze su Architecture et Fonctionnement d'Oracle con 9 domande a scelta multipla con correzioni dettagliate.

1. En quoi la composition d'un serveur Oracle diffère-t-elle de celle de l'instance Oracle ?

2. Quel est le rôle principal de l'instance Oracle dans la gestion d'une base de données ?

Fai il quiz →

Ripassa con le flashcard

Memorizza i concetti chiave di Architecture et Fonctionnement d'Oracle con 18 flashcard interattive.

Composants de l'architecture Oracle — principaux ?

Instance et base de données Oracle.

Installation Oracle 21c — étape clé ?

Déploiement du logiciel et configuration initiale.

Version XE vs Standard — différence ?

XE limitée, Standard complète et payante.

Vedi le flashcard →

Similar courses

Crea le tue schede di revisione

Importa il tuo corso e l'AI genera schede, quiz e flashcard in 30 secondi.

Generatore di schede