後台進程

後台進程,計算機專業術語,是指由Oracle Server隱含執行的進程。

後台進程簡介

啟動例程時,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)

4. SMON 系統監視進程

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

相關詞條

相關搜尋

熱門詞條

聯絡我們