Overblog Suivre ce blog
Administration Créer mon blog
15 février 2012 3 15 /02 /février /2012 23:46

 

Processus Process Monitor PMON.

C'est quoi le Processus Process Monitor Oracle. ?
A quoi sert le Processus Process Monitor Oracle. ?

 

Le processus Process Monitor (PMON) a un rôle important dans le bon fonctionnement d'une Instance Oracle.

Process Monitor est chargé principalement du nettoyage lors d'un plantage d'un processus utilisateur, il assure la récuperation des processus utilisateur qui ont échoués, il nettoie les transactions défaillantes. PMON est capable de détecter des transactions orphelines dont le processus utilisateur a disparu suite à une coupure réseau ou un dysfonctionnement de l'application.
Le processus d’arrière plan Process Monitor PMON surveille aussi les sessions pour détecter les dépassements des délais d'inactivités, il enregistre aussi dynamiquement les services de bases de données dans les processus d'écoute.

 

Process Monitor PMON

 

Le processus Process Monitor PMON en action lors d'un échec d'un processus utilisateur.

  • PMON annule la transaction (ROLL BACK)
  • PMON nettoie le cache de tampons de la base de données.
  • PMON libère les zones mémoire allouées, supprime les verrous posés par les transactions et annule les ressources affectées aux threads de la transaction.

 

Le processus Process Monitor PMON en action lors d'un fonctionnement normal de la base de données.

  • PMON scrute et detecte les processus utilisateurs.
  • PMON vérifie le statut des processus Dispatcher et Serveur.
  • PMON redémarre les processus Dispatcher et Serveur si ils sont arrêtés.
  • PMON peut etre appelé par d'autre Processus.

Si le processus Process Monitor PMON s’arrête, l'instance Oracle doit être redémarrée.

Haut de Page www.dba-ora.fr


Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Les Processus d’arrière plan
• Processus Database Writer DBW
• Processus Log Writer LGWR
• Processus ChecKPoinT CKPT
• Processus System Monitor SMON
Repost 0
Published by Daniel R. - dans PROCESSUS
commenter cet article
14 février 2012 2 14 /02 /février /2012 22:02

 

Processus System Monitor SMON.

C'est quoi le Processus System Monitor Oracle. ?
A quoi sert le Processus System Monitor Oracle. ?

 

Le processus System Monitor (SMON) a un rôle important dans le bon fonctionnement d'une Instance Oracle.

System Monitor surveille la base de données lors de son démarrage c'est à dire faire la récupération de l'instance après un arrêt anormal. Lors du démarrage de l'instance Oracle, il vérifie si le dernier arrêt a été correctement effectué.
Le processus d’arrière plan System Monitor SMON est aussi chargé de libérer les segments temporaires, compacter l'espace contigu dans les Tablespaces et surveiller la base de données.

 

System Monitor SMON

 

Le processus System Monitor SMON en action lors d'un arrêt brutal de la base de données.

  • SMON lit les informations contenu dans les segments UNDO (données en attente de validation) puis les annule. (ROLL BACK)
  • SMON récupère dans les fichiers REDO LOG les enregistrements validés mais pas encore écrit dans les fichiers de données et les insère. (ROLL FORWARD).
  • SMON libère toute les ressources de la base de données (vérrous, segments temporaires).

 

Le processus System Monitor SMON en action lors d'un fonctionnement normal de la base de données.

  • SMON surveille l'activité de la base de données.
  • SMON recycle les segments temporaires et assure les espaces de tris.
  • SMON libère toute les ressources de la base de données (vérrous, segments temporaires).
  • SMON verifie que les bases de données composant un Cluster sont actives.
  • SMON peut etre appelé par d'autre Processus pour libérer de l'espace.

Si le processus System Monitor SMON s’arrête, l'instance Oracle doit être redémarrée.

Haut de Page www.dba-ora.fr


Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Les Processus d’arrière plan
• Processus Database Writer DBW
• Processus Log Writer LGWR
• Processus ChecKPoinT CKPT
Repost 0
Published by Daniel R. - dans PROCESSUS
commenter cet article
13 février 2012 1 13 /02 /février /2012 23:00

 

Processus ChecKPoinT CKPT.

C'est quoi le Processus ChecKPoinT. ?
A quoi sert le Processus ChecKPoinT. ?

 

Le processus Checkpoint (CKPT) a un rôle important dans le bon fonctionnement d'une Instance.

Checkpoint inscrit les informations de point de reprise dans les fichiers de Controles et dans l'entête de chaque fichier de données. C'est ce point de reprise (SCN) qui permet de rendre cohérent les fichiers de controles et les fichiers de données, indispensable pour un processus de récupération.

 

Checkpoint CKPT

 

Le processus Checkpoint n'écrit pas les blocs sur le disque, c'est le role du processus Database Writer DBWn.

Les numéros SCN enregistrés dans les fichiers garantissent que toutes les modifications apportées aux blocs de base de données avant un numéro SCN ont été écrites sur le disque.En cas d'arrêt anormal de l'instance, ce SCN marque le début début des données à utiliser pour la récupération de l'instance.

Le processus Log Writer (LGWR) n’écrit pas dans le fichier de journalisation (REDO LOG) tant que le processus CKPT n'a pas synchronisé, car tant que cette synchronisation n'est pas faite, le fichier de journalisation contient des données nécessaires à une éventuelle récupération après défaillance de l'instance.

A savoir qu'une synchronisation se déclenche aussi à chaque basculement de REDO LOG, lors de l’arrêt de la base de données, lors de la mise hors ligne d'un Tablespace.

Comment voir quand a eu lieu le dernier Checkpoint de la base.

  SQL> select checkpoint_change#,current_scn from v$database ; CHECKPOINT_CHANGE# CURRENT_SCN ------------------ ----------- 9082339 9087459 SQL> SELECT checkpoint_change# checkpoint_scn, 2 scn_to_timestamp (checkpoint_change#) checkpoint_time, 3 current_scn, 4 scn_to_timestamp (current_scn) current_time 5 FROM v$database ; CHECKPOINT_SCN CHECKPOINT_TIME CURRENT_SCN CURRENT_TIME -------------- ------------------- ----------- ------------------ 9082339 13/02/12 21:30:38 9090655 13/02/12 22:08:06  

Haut de Page www.dba-ora.fr


Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Les Processus d’arrière plan
• Processus Database Writer DBW
• Processus Log Writer LGWR
Repost 0
Published by Daniel R. - dans PROCESSUS
commenter cet article
12 février 2012 7 12 /02 /février /2012 17:39

 

Processus Log Writer LGWR.

C'est quoi le Processus Log Writer. ?
A quoi sert le Processus Log Writer. ?

 

Le processus Log Writer (LGWR) a un rôle important dans le bon fonctionnement d'une Instance.

Log Writer écrit séquentiellement le contenu des tampons de journalisation (Redo Log Buffer) dans le fichier de journalisation courant.

 

Log Writer

 

Le processus Log Writer écrit dans les cas suivants.

  • Un processus Utilisateur valide une transaction (COMMIT).
  • Un tiers du tampon de journalisation est plein.
  • Avant qu'un processus DBWn écrive des tampons modifiés dans les fichiers de données.
  • Toutes les 3 secondes.

 

Afin que le processus Database Writer DBWn puisse écrire les tampons modifiés (dirty) dans les fichiers de données, le processus Log Writer LGWR doit écrire dans les groupes de journaux en cours le tampon de journalisation et ainsi vider le tampon de journalisation.

Si le processus Database Writer DBWn détecte des enregistrements de journalisation qui n'ont pas encore été écrits sur le disque, il le signale au processus Log Writer LGWR et attend que ce dernier ait terminé l'opération d'écriture pour vider les tampons de journalisation.

Lorsqu'un utilisateur valide une transaction, elle reçoit un numéro SCN (System Change Number). Ces Numéros sont enregistrés dans le fichier de journalisation (pas seulement ) afin de permettre une synchronisation dans le cas d'une reprise ou récupération de données suite à une défaillance.

Haut de Page www.dba-ora.fr


Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Les Processus d’arrière plan
• Processus Database Writer DBW
Repost 0
Published by Daniel R. - dans PROCESSUS
commenter cet article
12 février 2012 7 12 /02 /février /2012 11:19

 

Processus Database Writer DBW.

C'est quoi le Processus Database Writer. ?
A quoi sert le Processus Database Writer. ?

 

Le processus Database Writer (DBWn) a un rôle important dans le bon fonctionnement d'une Instance, laquelle a principalement un processus Database Writer nommé DBW0 (possibilité d'avoir plusieurs processus DBWn sur des systèmes à forte activité et Multi-processeurs).

Database Writer écrit, transfert sur disque le contenu des tampons modifiés (Dirty Block) dans les fichiers de données.

 

Database Writer

 

Le tampon du cache de la base de données modifié est appelé "Dirty", il est ajouté à la file d'attente des points de reprise, triée par SCN.

Le processus Database Writer écrit les tampons rarement utilisés dans les fichiers de données lorsque les processus serveurs ont du mal à obtenir des tampons disponibles mais aussi pour faire avancer le point de reprise determinant le point de départ d'une récuperation d'instance dans le fichier de journalisation (REDO LOG).

Il est important de savoir qu'il n'y a pas de synchronisation entre une transaction validée (COMMIT) et l'écriture des blocs sur disque.

Le paramètre DB_WRITER_PROCESSES initialise le nombre de Processus DBWn.
- Oracle 10g 1 à 20 processus Database Writer.
- Oracle 11g 1 à 36 processus Database Writer.

Haut de Page www.dba-ora.fr


Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Les Processus d’arrière plan
Repost 0
Published by Daniel R. - dans PROCESSUS
commenter cet article
9 janvier 2010 6 09 /01 /janvier /2010 23:06

 

Oracle Background Processes.

Processus d’arrière plan.

 

Les processus permettent d'assurer le bon fonctionnement de l’instance.

Ils gèrent les flux entre la mémoire et les disques, et sont nécessaires au bon fonctionnement de la base de données.

 

 

1 - Scruter les processus d’arrière plan en cours

 

SQL> select * from v$bgprocess where paddr <> '00' ;

 

ou

 

SQL> select p.pid, bg.name, bg.description, p.program

            from  v$bgprocess bg, v$process p

            where bg.paddr = p.addr

            order by p.pid;

 

 

PID NAME DESCRIPTION PROGRAM
2
PMON process cleanup ORACLE.EXE (PMON)
3
PSP0 process spawner 0 ORACLE.EXE (PSP0)
4
MMAN Memory Manager ORACLE.EXE (MMAN)
5
DBW0 db writer process 0 ORACLE.EXE (DBW0)
6
LGWR Redo etc. ORACLE.EXE (LGWR)
7
CKPT checkpoint ORACLE.EXE (CKPT)
8
SMON System Monitor Process ORACLE.EXE (SMON)
9
RECO distributed recovery ORACLE.EXE (RECO)
10
CJQ0 Job Queue Coordinator ORACLE.EXE (CJQ0)
11
MMON Manageability Monitor Process ORACLE.EXE (MMON)
12
MMNL Manageability Monitor Process 2 ORACLE.EXE (MMNL)
16
QMNC AQ Coordinator ORACLE.EXE (QMNC)



ou

 

                SQL> select p.spid "Thread",

                   b.name "Process",

                   s.username "User Name",
                   s.osuser "OS User",

                   s.status "STATUS",

                   s.sid "Session",

                   s.serial# "Serial",

                   s.program "Program"

from  v$process p,

      v$bgprocess b,

      v$session s

where s.paddr = p.addr

and   b.paddr(+) = p.addr

 

2 - Lister tous les autres processus d’arrière plan existants

 

SQL> select * from v$bgprocess where paddr = '00' ;

 


3 - Les processus d’arrière plan importants

 

DBWn - DataBase Writer (1 jusqu'à 20)

 

Chargés d’écrire les blocs modifiés du Database Buffer Cache dans les fichiers de données (COMMITées ou Non).

 


LGWRLoG WRiter

 
Chargé d’écrire le Redo Log Buffer dans le fichier de journalisation courant (Redo Log) après un Chekpoint. En effet si une synchronisation n’est pas terminée, le fichier de journalisation (Redo Log) contient des informations qui seraient nécessaires pour une récupération de l’instance en cas d’arrêt anormal.

 

 

CKPTChecKPoinT


Mécanisme de synchronisation (checkpoint). Ce processus d’arrière plan a pour rôle d’enregistrer le point de reprise dans l’entête des fichiers de données et dans les fichiers de contrôle.

 


SMONSystem MONnitor

 

Chargé de récupérer une instance après un arrêt anormal.

Roll Forward pour appliquer les transactions validées

Roll Back pour enlever les transactions non validées.

Libère les segments temporaires.

Compacte l’espace contigu dans les tablespaces gérés par le dictionnaire.

 


PMONProcess MONitor

Chargé du nettoyage en effectuant une annulation (rollback) lorsqu’un processus utilisateur est planté. Il libère les verrous et les ressources.

 


ARCnARChiver

 

Chargés de l’archivage des fichiers de journalisation pleins.

 


MMAN
Memory MANager


Management automatique de la taille des composants de la SGA.



 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Processus Process Monitor PMON
• Processus Database Writer DBW
• Processus Log Writer LGWR
• Processus ChecKPoinT CKPT
• Processus System Monitor SMON
Repost 0
Published by Daniel R. - dans PROCESSUS
commenter cet article