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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
| Composant | Définition | Rôle | Auteur / Référence |
|---|---|---|---|
| Serveur Oracle | Système de gestion de base de données | Regroupe une instance et une base de données | - |
| Instance Oracle | Ensemble de structures mémoire et processus d'arrière-plan | Permet d’accéder à une seule base à la fois | - |
| Base de données Oracle | Ensemble de fichiers physiques et structures mémoire | Entité unique traitant les données | - |
| Fichier de contrôle | Gère la structure physique et la cohérence | Coordination des autres fichiers | - |
| Fichier de données | Contient les données stockées | Données réelles sous forme de blocs | - |
| Fichier de journalisation | Enregistre toutes les modifications | Facilite la récupération en cas de panne | - |
| Fichier archivés | Copies des fichiers de journalisation | Assurent la continuité de la récupération | - |
| Structures mémoire (SGA, PGA) | Zones mémoire pour le traitement des données et instructions | Accè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ération | Maintien du bon fonctionnement de la base | - |
Testez vos connaissances sur Architecture et Fonctionnement d'Oracle avec 9 questions à choix multiples avec corrections détaillées.
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 ?
Mémorisez les concepts clés de Architecture et Fonctionnement d'Oracle avec 18 flashcards interactives.
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.
Intelligence Artificielle
Bases de données
Bases de données
Bases de données
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches