0% ont trouvé ce document utile (0 vote)
2 vues3 pages

Notes Oracle

Le document explique l'architecture d'un serveur Oracle, distinguant entre la base de données (DB) et l'instance, qui comprend la mémoire (SGA et PGA) et les processus. Il détaille les rôles des processus utilisateurs, des processus de base de données et des processus d'arrière-plan, ainsi que leur interaction avec la mémoire et le stockage physique. Enfin, il souligne l'importance pour les administrateurs de comprendre cette architecture pour optimiser les performances du système.

Transféré par

malamaranabarry24
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues3 pages

Notes Oracle

Le document explique l'architecture d'un serveur Oracle, distinguant entre la base de données (DB) et l'instance, qui comprend la mémoire (SGA et PGA) et les processus. Il détaille les rôles des processus utilisateurs, des processus de base de données et des processus d'arrière-plan, ainsi que leur interaction avec la mémoire et le stockage physique. Enfin, il souligne l'importance pour les administrateurs de comprendre cette architecture pour optimiser les performances du système.

Transféré par

malamaranabarry24
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

1.

La distinction fondamentale : DB vs Instance

Le serveur Oracle est divisé en deux grandes parties :

DB (Database) : Ce sont les fichiers physiques stockés sur le disque dur. Ton schéma mentionne les Data
files (données réelles), les Redo Log files (historique des changements) et les Control files (état de la
base).

Instance : C'est l'ensemble des structures de mémoire et des processus qui tournent sur le serveur Linux
pour gérer l'accès aux fichiers de la DB.

2. La Mémoire (SGA et PGA)

L'instance utilise deux zones de mémoire principales :

SGA (System Global Area) : Partagée par tous les utilisateurs.

Shared Pool : Contient le Library Cache (les requêtes SQL déjà compilées) et le Dictionary Cache.

Database Buffer Cache : Stocke les blocs de données lus depuis le disque pour éviter de relire le disque à
chaque fois.

Redo Log Buffer : Enregistre temporairement les modifications avant qu'elles ne soient écrites sur
disque.

PGA (Program Global Area) : Mémoire privée réservée à chaque session utilisateur (pour les tris ou les
variables locales).

3. Les Processus (Process)

C'est ici que le travail se fait réellement sous Linux.

Les processus de premier plan

User Process : L'application ou l'outil utilisé par l'utilisateur.

Server Process : Il fait le pont entre l'utilisateur et l'instance (il lit les données dans la SGA pour les
renvoyer à l'utilisateur).

Les processus d'arrière-plan (Background Processes)

Ce sont les ouvriers qui maintiennent le système en marche. Tes notes en listent plusieurs essentiels :

DBWn (Database Writer) : Écrit les blocs de données modifiés de la SGA vers les Data files.

LGWR (Log Writer) : Écrit le contenu du Redo Log Buffer vers les Redo Log files.

CKPT (Checkpoint) : Met à jour les fichiers de contrôle pour indiquer que les données sont bien
synchronisées.
SMON (System Monitor) : S'occupe de la maintenance et de la récupération de l'instance au démarrage.

PMON (Process Monitor) : Nettoie les ressources si un processus utilisateur plante.

LREG (Listener Registration) : Enregistre l'instance auprès du "Listener" pour permettre les connexions
réseau.

1. La partie "DB" (Stockage physique)

Dans tes notes, tu as listé les Data files, Redo log files et Control files. Sous Linux, ce sont de simples
fichiers.

Tu peux les localiser en SQL avec cette commande :

SELECT name FROM v$datafile;

Sur ton terminal Linux, ils se trouvent généralement dans un répertoire comme
/u01/app/oracle/oradata/NOM_DE_TA_BASE/.

2. La partie "Process" (Les ouvriers)

Ton schéma liste des acronymes comme DBWn, LGWR, PMON. Sous Oracle sous Linux, chaque
processus d'arrière-plan est un processus système bien réel.

Si tu tapes la commande suivante dans ton terminal Linux :

ps -ef | grep ora_

Tu verras apparaître exactement les noms que tu as écrits : ora_pmon_..., ora_dbw0_..., ora_lgwr_....

3. La partie "Memory" (SGA & PGA)

La SGA (Shared Global Area) que tu as détaillée est stockée dans la mémoire vive du serveur Linux sous
forme de segments de mémoire partagée.

C'est ce qui permet à Oracle d'être extrêmement rapide : au lieu de lire sur le disque (lent), il cherche
d'abord dans le Database Buffer Cache (très rapide) que tu as dessiné.

Le point clé à retenir pour ton cours :

L'Instance (Mémoire + Processus) est volatile. Si tu redémarres le serveur, elle disparaît. La Base de
données (les fichiers DB), elle, est persistante. Le rôle de l'administrateur est de s'assurer que l'Instance
écrit correctement les informations dans les fichiers de la DB sans perte de données.

Cette nouvelle note se concentre spécifiquement sur l'Architecture des Processus, qui est le moteur de
l'activité sur ton serveur Linux. Tu y détailles les trois catégories qui permettent la communication entre
l'utilisateur et les données.
Voici le décryptage et l'explication de ce que tu as écrit :

1. User Process (Processus utilisateur)

C'est le point de départ.

Ce que c'est : C'est l'application ou l'outil (comme sqlplus, une application Java, ou un outil comme SQL
Developer) qui tourne sur la machine du client.

Son rôle : Il génère la requête SQL. Cependant, il n'a pas le droit de toucher directement à la mémoire
du serveur (SGA). Il doit passer par un intermédiaire.

2. Database Process (Processus de base de données)

C'est l'intermédiaire mentionné ci-dessus, souvent appelé Server Process.

Son rôle : Il reçoit les requêtes du User Process. C'est lui qui :

Vérifie si tu as les droits.

Cherche les données dans le Buffer Cache (mémoire).

Si les données n'y sont pas, il va les chercher sur le disque (Data files) pour les copier en mémoire.

Renvoie le résultat au processus utilisateur.

3. Background Processes (Processus d'arrière-plan)

Bien que ta note s'arrête juste avant de les lister en détail, ce sont les processus que tu avais dessinés
sur ton premier schéma (PMON, SMON, DBWn, LGWR).

Leur rôle : Ils ne s'occupent pas directement des requêtes des utilisateurs. Ils gèrent la "santé" et la
maintenance de l'instance (écriture sur disque, nettoyage après une erreur, etc.).

Le lien avec ton cours d'Administration Linux

En tant qu'administrateur, il est crucial de comprendre cette chaîne :

User Process \rightarrow Listener (Réseau) \rightarrow Server Process \rightarrow SGA (Mémoire).

Si un utilisateur se plaint de lenteurs, tu devras vérifier sur Linux si c'est le Server Process qui consomme
trop de CPU ou si le temps d'attente vient des lectures sur disque.

Vous aimerez peut-être aussi