Une instance Oracle est constituée de :
Une base de données est constituée de :
Le schema d'architecture interne d'Oracle est représenté ci-dessous.
Les principaux background process sont :
Code | Nom | Description |
---|---|---|
DBWn | db writer process | Ce(s) process écrit les blocs modifiés en mémoire vers les datafiles. Il se déclenche à la demande (un process ne peut écrire dans le buffer cache) Il se déclenche aussi périodiquement et fait avancer le checkpoint, qui est le plus ancien dirty bloc en mémoire. Parametre : DB_WRITER_PROCESSES (default 1 ou CPU_COUNT/8) |
LGWR | Log Writer | Ce(s) process écrit au file de l'eau les buffers de redologs dans le redolog actif. Il doit écrire l'ensemble du buffer dans les cas suivants : - Un utilisateur fait un commit - Un switch de redolog - Si le buffer est plein à un tiers - Toutes les 3 secondes DBW envoit un ordre à LGWR pour que les blocs écrits dans les datafiles soient dans les redologs en premier. |
ARCn | Archival Process | Ce process copie les redologs vers la destination d'archive après chaque switch de redolog.
Parametre : LOG_ARCHIVE_MAX_PROCESSES (defaut 4) |
CKPT | Checkpoint Process | Ce process met à jour le controlfile et le header des datafiles avec un numero SCN indiquant le checkpoint. On distingue les thread checkpoint (equivalent à un database checkpoint sur une base standalone) qui ont lieu : - Quand on a un switch de redolog - Quand on arrete la base par shutdown consistant - Quand on réalise un ALTER DATABASE BEGIN BACKUP - Quand on réalise un ALTER SYSTEM CHECKPOINT On distingue les tablespace checkpoint qui ont lieu : - Quand on realise ALTER TABLESPACE READ ONLY - Quand on realise ALTER TABLESPACE OFFLINE - Quand on realise ALTER TABLESPACE BEGIN BACKUP On distingue les checkpoint incrementaux, qui ne mettent a jour que le controlfile et pas les datafiles - Toutes les 3 secondes, DBW met a jour des blocks et envoie un message à CKPT pour faire avancer le checkpoint. |
RVWR | Recovery Writer | Ce process écrit dans les flashback logs. |
CJQn | Job Queue Coordinator | Ce process est chargé d'executer des jobs du scheduler.
Parametres : JOB_QUEUE_PROCESSES (default 1000) = nombre max de process |
LREG | Listener Registration | Ce process est chargé d'enregistrer la base aupres du listener. Avant la version 12c, c'etait le process PMON qui realisait cette tache. |
PSP0 | Process Spawner | Ce process est chargé de spwaner les autres background process |
PMON | Process Monitor | Ce process est chargé de surveiller les process server (et aussi background). Si un process a été tué, il libère les locks, libère les autres ressources et enlève la ligne dans la liste des sessions. |
SMON | System Monitor | Ce process réalise : - une instance recovery si necessaire au démarrage de la base - un recover de transaction lorsqu'un tablespace ou fichier redevient online - un nettoyage des extents libres dans le tablespace temporaire - un coalesce des free extents dans les tablespace dictionary managed |
RECO | Distributed Recovery | Ce process résoud les problèmes de transactions distribuées. |
MMAN | Memory Manager | Ce process est chargé des opérations dynamiques d'allocation mémoire. |
MMON | Manageability Monitor Process | Ce process est chargé d'alimenter AWR. |
MMNL | Manageability Monitor Process Light | Ce process est chargé d'alimenter AWR en Active Session History (ASH) |
DIA0 | Diagnostic Process | Ce process détecte et résout les hang et deadlocks. |
DIAG | Diagnostic Capture Process | Ce process capture les informations de diagnostic lorsqu'il y a un problème. |
VKTM | Virtual Keeper of Time Process | Ce process fournit l'heure à l'instance Oracle. |
Code | Nom | Description |
---|---|---|
Jnnn | Job Process | Execution de jobs |
Dnnn | Dispatcher Process | Mode MTS |
Snnn | Shared Server Process | Mode MTS |
Pnnn | Parallel Query Slave | Execution parallele |
Les vues donnant des informations sur les process sont :
select NAME, DESCRIPTION from V$BGPROCESS where PADDR != '00' order by NAME; NAME DESCRIPTION ----- ---------------------------------------------------------------- AQPC AQ Process Coord ARC0 Archival Process 0 ARC1 Archival Process 1 ARC2 Archival Process 2 ARC3 Archival Process 3 CJQ0 Job Queue Coordinator CKPT checkpoint DBRM DataBase Resource Manager DBW0 db writer process 0 DIAG diagnosibility process DIA0 diagnosibility process 0 GEN0 generic0 LGWR Redo etc. LREG Listener Registration MMAN Memory Manager MMNL Manageability Monitor Process 2 MMON Manageability Monitor Process PMON process cleanup PSP0 process spawner 0 PXMN PX Monitor RECO distributed recovery SMCO Space Manager Process SMON System Monitor Process TMON Transport Monitor VKRM Virtual sKeduler for Resource Manager VKTM Virtual Keeper of TiMe process