oracle-les-processus-704-k8qjjo.pdf

3

Click here to load reader

Upload: hamza

Post on 16-Sep-2015

3 views

Category:

Documents


0 download

TRANSCRIPT

  • Oracle - Les processusJuin 2014

    Les processusLe fonctionnement de la base Oracle est rgi par un certain nombre de processus chargs enmmoire 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 etd'excuter les requtes SQL, ainsi que de grer la mmoire et les fichiers de donnesCode spcifique de l'outil, l'implmentation qui excute rellement les commandesSQL.

    les processus systmes (oracle process). Les processus Oracle (processus systme) se classent en deux catgories :

    Les processus serveurs (process server) grant les requtes des utilisateursprovenant des connections la base de donnes gnres par des outils tels queSQL*Plus. Le processus serveur est charg de la communication entre la SGA et leprocessus utilisateur. Il permet ainsi d'analyser et d'excuter les requtes SQL desutilisateurs, de lire les fichiers de donnes et de placer les blocs de donnescorrespondants dans la SGA.Les processus d'arrire-plan (background process) chargs d'assurer lefonctionnement interne du SGBD Oracle (gestion de la mmoire, criture dans lesfichiers, ...).

    Un processus utilisateur est cr pour chaque programme excut par un utilisateur (parexemple Oracle Forms ou Server Manager) afin de fournir l'environnement ncessaire l'excution de celui-ci. Le processus utilisateur ainsi cr communique avec les processussystmes travers le programme interface.Chaque processus a pour nom ora_nomduprocessus_SID o SID reprsente le nom del'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 contenudes buffers dans les fichiers de donnesLGWR (Log Writer), le processus charg d'crire le contenu des buffers dans les fichiersRedo LogPMON (Process Monitor), le processus charg de nettoyer les ressources, les verrous etles processus utilisateurs non utiliss

  • SMON (System Monitor), le processus charg de vrifier la cohrence de la base dedonnes 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 fichiersde donnesRECO (Recoverer), il s'agit d'un processus optionnel permettant de rsoudre lestransactions 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. Ilpermet de dupliquer les fichiers Redo-Log dans un espace d'archivage.Dnnnn (Dispatcher, nnnn reprsente une suite de nombre entiers) : Ce processus estoptionnel et n'est prsent que dans les configurations MTS (multi-threaded server). Ilpermet de router les requtes des postes clients-serveurs distants vers les autres serveurs.Il existe au moins un processus Dnnnn pour chaque protocole de communicationSnnnn (Server, nnnn reprsente une suite de nombre entiers) : Ce processus est n'estgalement prsent que dans les configurations MTS. Il permet de recevoir les demandesde connexions distantes envoyes par le processus Dnnnn d'un serveur distant.LCKn (Lock) est un processus de verrouillage utilis lorsque Oracle Parallel Server estinstall.

    Le processus DBWRLe 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 desauvegarder de manire permanente les donnes de la base. Ainsi, lorsqu'un ordre SQL modifiela base de donnes (c'est--dire lorsqu'une requte SQL DELETE, INSERT ou UPDATE estreue), les blocs de donnes affects sont modifis dans le fichier de donnes associ.

    Le processus LGWRLe 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 RedoLog de la SGA dans le fichier Redo Log chaque fois qu'un ordre COMMIT est rceptionn.

    Le processus SMONLe processus SMON (System Monitor) est charg de vrifier la cohrence du systme et de lartablir suite un incident au dmarrage de la base suivant. Ainsi, si la base n'a pas t stoppecorrectement, le processus analyse les informations stockes dans les rollback segments (lesrollback 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 tenregistres (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 lesrorganise si ncessaire afin de les dfragmenter.

  • Le processus PMONLe processus PMON (Process Monitor) a pour but de rcuprer les ressources associes desdfaillances de processus utilisateurs. Ainsi il supprime les processus en erreur, il annule lestransactions n'ayant pas t valides (par exemple si un client est dconnect brutalement lorsde 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 cettepage, dans les conditions fixes par la licence, tant que cette note apparat clairement.