複製鏈接
請複製以下鏈接發送給好友

後台進程

鎖定
後台進程,外文名background task,計算機專業術語,是指由Oracle Server隱含執行的進程
中文名
後台進程
外文名
background task
簡    介
Oracle Server隱含執行的進程
分類介紹
DBWR 數據庫寫入進程
RECO 進程
負責分佈式事務中本地部分的提交

後台進程後台進程簡介

啓動例程時,Oracle不僅會分配SGA,還會啓動後台進程;關閉例程時,Oracle不僅會釋放SGA所佔用的內存空間,而且還會釋放後台進程所佔用的Cpu和內存資源。Oracle提供了很多後台進程,在這介紹常用後台進程SMON、PMON、DBWR、LGWR、CKPT、ARCH。

後台進程分類介紹

1. DBWR 數據庫寫入進程
DBWR (the Database Writer Process)進程負責將髒數據塊從數據緩存(database block buffer)寫回磁盤.當一個事務修改數據塊中的數據以後,不需要立即將數據塊寫回磁盤。由於Oracle所採用的先進機制,修改後的數據可以不用立即寫回,並且及時出現故障也不會丟失。因此,DBWR可以採取更有效寫回方式,而不用再事務提交完之後立即寫回。DBWR通常定時寫回數據,除非數據緩衝區需要清空或已滿。
數據寫回時,採用了最近最少使用原則(least-recently-used).對於支持異步I/O的系統,只需使用一個BWR進程即可,對不支持異步IO的可以通過增加DBWR的個數來提升效率。
2. LGWR 日誌寫入進程
LGWR (the Log Writer Process)負責將日誌緩衝區中的數據寫入重做日誌。由於COMMIT操作依賴於LGWR寫回日誌(commit操作觸發LGWR將日誌緩衝區數據寫入UNDO日誌),因此係統性能容易受到LGWR的影響。
3. PMON 進程監視進程
PMON(the Process Monitor Process)進程負責監視數據庫的處理情況,並負責清除死掉的進程。PMON還負責重啓失敗的調度進程(dispatcher process)
SMON(the System Monitor Process)進程負責在實例啓動時恢復實例,包括清除臨時段以及恢復因系統崩潰而中斷的事物。SMON還可以通過合併空閒分區的方式清除數據庫中的碎片
5.CKPT 檢查點進程
CKPT(the Checkpoint Process)進程負責向DBWR進程發送信號,要求執行一次檢查點,並更新數據庫的所有數據和控制文件。CheckPoint(檢查點),是指有DBWR進程將所有修改過的數據緩衝區寫回數據文件。CKPT是可選的,如果沒有CKPT進程,則有LGWR代行這些任務。
6. ARCHn 歸檔進程
ARCH(the Archiver Process )負責將再現重做日誌複製到歸檔存儲器。進檔RDBMS運行在ARCHIVELOG模式時ARCH才有效,如果系統沒有運行在ARCHIVELOG模式,則系統失效後可能無法恢復。最後讓系統運行在ARCHIVELOG模式下,此時歸檔進程可能有多個。
SQL>archive log list //查看是否為歸檔模式
可以再數據庫Mount 模式下開啓歸檔
SQL>alter database archivelog; //開啓
SQL>alter database noarchivelog;//關閉
7. RECO 恢復進程
RECO (the Recovery Process)進程用於清除分佈式數據庫中的未決(pending)事務,它負責分佈式事務中本地部分的提交與回滾
8. Dnnn 調度進程
如果選擇了Multithreaded Server選項,則對使用的每個通信協議至少有一個調度進程。調度進程(the Dispatcher Process,Dnnn)負責將用户進程的請求轉發到一個可用的共享服務器進程,並負責將用户進程的請求轉發到一個可用的共享服務器進程,並負責回送響應消息。
9. Snnn 共享服務器進程
當使用共享服務器配置或MTS時,會用到共享服務器進程(the Shared Servers Process ,Snnn).這些進程如同專用服務器進程(Dedicated Server Process),但可以被多個用户
共享。
10. LMS Oracle RAC 鎖管理服務
使用RAC時,該服務用語管理集羣中不同節點間的鎖.
11. QMNn 隊列管理進程
使用高級隊列選項時(advanced queueing option),隊列管理進程(Queue Manager Process )用於管理作業隊列,隊列數目可以達到10個,QMN0——QMN9