1. 程式人生 > >Oracle 11g R2 進程

Oracle 11g R2 進程

HA 頭部 rep 管理 Oz 輸入輸出 什麽是 必須 AC

用戶進程

ps –elf | grep oracleorcl|grep –v grep
技術分享圖片
數據庫進程

ps –elf |grep oracleorcl
技術分享圖片
守護進程

Ps –elf |grep oha
技術分享圖片
大池:在SGA中,大池是一個可選的緩沖區域,管理員可以根據需要對其進行配置,在大規模輸入輸出及備份過程中需要大池作為緩存空間,例如,大數據操作、數據庫備份與恢復之類的操作。

Java池:Java池是一個可選的緩沖區,但是在安裝java或者java程序時必須設置Java池,它用於編譯Java語言編寫指令。
五大核心進程:

DBWn進程:用來將buffer cache中的臟數據寫入到硬盤中數據文件中。

什麽是臟數據,例如我執行如下語句

SQL> update emp setsal=sal+100;

此時修改過的數據存放在內存中,並沒有保存到硬盤上的數據文件中,這些數據緩存在buffer cache中,該事務還沒有提交(commit),這樣修改過還沒有寫入硬盤數據文件的數據我們稱之為臟數據。其實此時在打開一個會話,使用SCOTT用戶連接查看emp表中數據是未修改過的數據。所以在oracle中這樣的操作是異步寫入,多個進程可以同時寫入,多個賬戶就會有多個DBWn進程,其實進程名叫DMW,後面的n是產生的進程標識

SQL> update scott.emp setsal=sal+100;

已更新14行。

SQL>
技術分享圖片
LGWR:日誌寫入進程只有一個

技術分享圖片
當用戶commit(提交事務)時觸發lgwr進程

當red log buffer空間的三分之一空間被使用完時會觸發lgwr進程

把臟數據寫入磁盤之前,該LGWR進程將日誌信息先寫入到日誌文件中,每隔3秒中執行這樣的動作。

LGWR進程不能有多個,因為日誌是順序是寫入的,不能做並行寫入,否則無法做數據恢復。

CKPT進程:檢查所有數據文件和控制文件的頭部是否一致,是確保在數據緩沖區中所有修改過的數據塊都被寫入到數據文件中的一種機制,就是確保數據完整性的一種機制。但檢查點完成後,CKPT進程負責更新數據文件和控制文件的頭部信息,並保存檢查點信息,以保證數據庫日誌文件和數據文件的同步。其原理是在數據庫恢復時,只需找到CKPT保存的最後一次檢查點,就可以根據它確定在日誌文件中恢復數據的起始位置,重新執行之後的日誌信息即可。

SMON進程:如果數據文件和控制文件頭部不一致,就會觸發SMON進程。在實例啟動時SMON進程會檢查所有數據文件的同步信息與控制文件中記錄的檢查點信息是否一致,不一致就啟動實例恢復操作。其實CKPT進程是給SMON進程使用的。

PMON進程:進程監控進程,PMON進程管理用戶會話,這個進程會在某個會話出現問題時執行的適當的操作。例如用戶的個人計算機在登錄到數據庫時重新啟動,PMON就能能夠檢測到這個問題,而且還會整理用戶正在進行的任何操作。

如果對此文有什麽問題的話,請加下面微信一起探討
技術分享圖片

Oracle 11g R2 進程