oracle程序分三種:User process,Server process,Background processes。
user process和server process在“我的oracle學習日志(1)”中介紹過,在此不再贅述。容易迷惑的地方可能就是connection和session的差別,請看下圖:
<a target="_blank" href="http://blog.51cto.com/attachment/201002/134350627.png"></a>
Background Processes
有5個必須啟動的程序和若幹個可選程序。必須啟動的程序:DBWn,PMON ,CKPT,LGWR和SMON。可選程序:
ARCn: Archiver
CJQ0: Coordinator Job Queue background process
Dnnn: Dispatcher
LCKn: RAC Lock Manager-instance Locks
LMDn: RAC DLM Monitor-remote Locks
LMON: RAC DLM Monitor-global Locks
LMS: RAC Global Cache Service
Pnnn: Parallel Query Slaves
QMNn: Advanced Queuing
RECO: Recoverer
Snnn: Shared Server
DBWn(Database Writer):
功能如圖所示:
<a target="_blank" href="http://blog.51cto.com/attachment/201002/134434319.png"></a>
n表示可以有多個,如DBW0,DBW1… …,oracle9i可以支援20個DBW,通常隻啟動一個。
LGWR(Log Writer)
功能如圖:
<a target="_blank" href="http://blog.51cto.com/attachment/201002/134503640.png"></a>
SMON (System Monitor)
主要功能是恢複資料庫的instance,當instance發生錯誤而停止時,在下次啟動instance後負責将資料庫復原到錯誤發生前的狀态。另外還有整理記憶體碎片和回收記憶體的功能。
PMON(Process Monitor)
負責監視程序(包括PGA和SGA内的所有程序 )的狀态,若發現有程序出現錯誤或僵死則結束異常程序然後重新生成新的程序。
CKPT(Checkpoint)
主要功能是輔助DBW和LGWR,如圖:
<a target="_blank" href="http://blog.51cto.com/attachment/201002/134535436.png"></a>
ARCn (Archiver)
這是一個可選程序,但在實際應用中幾乎是必選的。功能如下圖所示:
<a target="_blank" href="http://blog.51cto.com/attachment/201002/134557798.png"></a>
n表示可以有多個這樣的程序。
本文轉自 d185740815 51CTO部落格,原文連結:http://blog.51cto.com/luotaoyang/277314,如需轉載請自行聯系原作者