Sunteți pe pagina 1din 3

Oracle - Les processus

Juin 2014

Les processus
Le fonctionnement de la base Oracle est rgi par un certain nombre de processus chargs en
mmoire permettant d'assurer la gestion de la base de donnes.
On distingue gnralement deux types de processus :
les processus utilisateurs (appels aussi user process ou noyau oracle)
On distingue deux types de processus utilisateurs :
Oracle Server Code, aussi appel noyau d'Oracle, est charg d'interprter et
d'excuter les requtes SQL, ainsi que de grer la mmoire et les fichiers de donnes
Code spcifique de l'outil, l'implmentation qui excute rellement les commandes
SQL.
les processus systmes (oracle process).
Les processus Oracle (processus systme) se classent en deux catgories :
Les processus serveurs (process server) grant les requtes des utilisateurs
provenant des connections la base de donnes gnres par des outils tels que
SQL*Plus. Le processus serveur est charg de la communication entre la SGA et le
processus utilisateur. Il permet ainsi d'analyser et d'excuter les requtes SQL des
utilisateurs, de lire les fichiers de donnes et de placer les blocs de donnes
correspondants dans la SGA.
Les processus d'arrire-plan (background process) chargs d'assurer le
fonctionnement interne du SGBD Oracle (gestion de la mmoire, criture dans les
fichiers, ...).
Un processus utilisateur est cr pour chaque programme excut par un utilisateur (par
exemple Oracle Forms ou Server Manager) afin de fournir l'environnement ncessaire
l'excution de celui-ci. Le processus utilisateur ainsi cr communique avec les processus
systmes travers le programme interface.
Chaque processus a pour nom ora_nomduprocessus_SID o SID reprsente le nom de
l'instance laquelle le processus est associ.
Les 4 principaux processus systmes sont :
DBWR (DataBase Writer ou Dirty Buffer Writer), le processus charg d'crire le contenu
des buffers dans les fichiers de donnes
LGWR (Log Writer), le processus charg d'crire le contenu des buffers dans les fichiers
Redo Log
PMON (Process Monitor), le processus charg de nettoyer les ressources, les verrous et
les processus utilisateurs non utiliss

SMON (System Monitor), le processus charg de vrifier la cohrence de la base de


donnes et ventuellement sa restauration lors du dmarrage si besoin
Il existe galement d'autres processus d'importance secondaire :
CKPT (CheckPoint), le processus charg d'crire le contenu des buffers dans les fichiers
de donnes
RECO (Recoverer), il s'agit d'un processus optionnel permettant de rsoudre les
transactions interrompues brutalement dans un systme de bases de donnes distribues
(par exemple un systme de rplication de bases de donnes)
ARCH (Archiver). Ce processus est optionnel et n'existe qu'en mode ARCHIVELOG. Il
permet de dupliquer les fichiers Redo-Log dans un espace d'archivage.
Dnnnn (Dispatcher, nnnn reprsente une suite de nombre entiers) : Ce processus est
optionnel et n'est prsent que dans les configurations MTS (multi-threaded server). Il
permet de router les requtes des postes clients-serveurs distants vers les autres serveurs.
Il existe au moins un processus Dnnnn pour chaque protocole de communication
Snnnn (Server, nnnn reprsente une suite de nombre entiers) : Ce processus est n'est
galement prsent que dans les configurations MTS. Il permet de recevoir les demandes
de connexions distantes envoyes par le processus Dnnnn d'un serveur distant.
LCKn (Lock) est un processus de verrouillage utilis lorsque Oracle Parallel Server est
install.

Le processus DBWR
Le processus Database Writer (DBWR) a pour but de transfrer les blocs de donnes modifis
(appels dirty blocks) de la System Global Area vers les fichiers de la base de donnes, afin de
sauvegarder de manire permanente les donnes de la base. Ainsi, lorsqu'un ordre SQL modifie
la base de donnes (c'est--dire lorsqu'une requte SQL DELETE, INSERT ou UPDATE est
reue), les blocs de donnes affects sont modifis dans le fichier de donnes associ.

Le processus LGWR
Le rle du processus LGWR (Log Writer) est de mettre jour les fichiers journaux (Redo Log)
dans la SGA et sur le disque. Ainsi ce processus est charg d'crire le contenu du cache Redo
Log de la SGA dans le fichier Redo Log chaque fois qu'un ordre COMMIT est rceptionn.

Le processus SMON
Le processus SMON (System Monitor) est charg de vrifier la cohrence du systme et de la
rtablir suite un incident au dmarrage de la base suivant. Ainsi, si la base n'a pas t stoppe
correctement, le processus analyse les informations stockes dans les rollback segments (les
rollback segments sont les zones de stockage des oprations n'ayant pas encore t valides)
puis annule toutes les informations en attente mais pour lesquelles aucune validation n'a t
enregistres (appeles deadlocks).
Ainsi SMON a un rle de libration des ressources utilises inutilement par le systme.
D'autre part SMON surveille les espaces libres des fichiers de la base de donnes et les
rorganise si ncessaire afin de les dfragmenter.

Le processus PMON
Le processus PMON (Process Monitor) a pour but de rcuprer les ressources associes des
dfaillances de processus utilisateurs. Ainsi il supprime les processus en erreur, il annule les
transactions n'ayant pas t valides (par exemple si un client est dconnect brutalement lors
de la transaction); il libre les verrous, et libre les ressources utilises inutilement dans la SGA.
Ce document intitul Oracle - Les processus issu de CommentCaMarche (www.commentcamarche.net) est mis
disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette
page, dans les conditions fixes par la licence, tant que cette note apparat clairement.

S-ar putea să vă placă și