6.1 - Instance et processus

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)

instance

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

instance Oracle

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

proc_ux

Sous Windows ils correspondent à des services

service_instance

service_instance.jpg