Instance ?
Rappel : Une instance est caractérisée par son identificateur : SID, généralement une variable ORACLE_SID positionnée dans l’environnement.
Une instance active en mémoire ce sont :
- des programmes de fond, services ou processus, qui assurent la maintenance du serveur de données et les entrées / sorties fichiers
- des process server (dédiés ou non à un utilisateur)
- une zone globale partagée : la SGA, qui contient essentiellement du cache de buffers
- des zones mémoires dédiées aux utilisateurs : les PGAs (Private Global Area)

Schéma de l’architecture générale en mémoire

La SGA
La SGA est essentiellement un cache mémoire qui contient des infos partagées de la base.
Voir l’article concernant ‘les zones mémoires‘
Les process de fond
Ils permettent de paralléliser et désynchroniser les accès multi-utilisateur à la base.
Nous allons lister les principaux :
DBWn Database Writer
Ecrit les données modifiées, du cache de données de la SGA vers les fichiers de données. On peut en avoir plusieurs (max 20) suivant la valeur du parametre DB_WRITER_PROCESSES
LGWR Log Writer
Ecrit les mises à jour, du cache de LOG de la SGA vers les ou le fichiers REDOLOG, suivant qu’on utilise des LOGs multiplexés ou non.
CKPT Checkpoint
Signale l’occurence d’un point de reprise (flush de tous les buffers de données), à DBWR
PMON Process Monitor
Libère les ressources et nettoie le cache en cas d’échec d’un process utilisateur
SMON System Monitor
Surveille les process de l’instance et assure les restaurations d’instance
RECO Recoverer
Gère les transactions distribuées (commit à 2 phases)
et optionnellement :
ARCn Archiver
sauvegarde le REDOLOG qui vient d’être terminé
Dnnn Dispatcher
Distribue les accès utilisateurs, vers les serveurs partagés, en architecture multiplexée (Shared Server)
Snnn Shared Server
Process utilisateurs partagé, en architecture multiplexée
CJQn Coordinateur de jobs batch
Jnnn Process fils dédiés aux Jobs
QMNn - Queue monitor
gestionnaire de file d’attente, pour l’option Oracle Advanced QUeuing
Pnnn Esclave d’execution Parallele
Exécution des requêtes parallèles. Le nb max de process est donné par : PARALLEL_MAX_SERVERS
LCKn Lock monitor
verrouillage des ressources utilisées par plusieurs instances
LMS Global cache service
Gestion des ressources inter-instances en architecture cluster (RAC)
note : sous Unix/Linux ces process correspondent à des process Unix, qui appartiennent à l’utilisateur Oracle et s’exécutent de manière ‘déconnectée’ (background).
On peut facilement en avoir la liste avec la commande suivante :
$> ps -ef |grep oracle

Sous Windows ils correspondent à des services

