Oracle Process Structures
- User Process:在資料庫使用者請求連接到 Oracle Server時啟動
- Server Process:可以連接到 Oracle Instance,它在使用者建立連線時啟動
- Background Processes:在啟動 Oracle Instance時啟動
使用應用程式或Oracle 工具時,如使用 Enterprise Manager 時,Oracle Server會透過建置Server Process來執行應用程式發出的指令。Oracle Server還會針對一個Instance建置一組Background Process。這些Process不僅彼此進行交交互操作,還與作業系統進行交交互操作,以便管理記憶體結構,透過非同步執行 I/O 操作將資料寫入磁片,並執行其它所需的任務。有些Background Process取決於資料庫中當前所使用的功能。
背景處理程序(Background Process)做的是專業化的事情,就好像一間大企業裡有總經理、經理、工程師等人專業分工,Oracle也是將每個工作切成一個個小小元件,每個背景處理程序負責一或兩件事情,第一個做完了交第二個做、再交給第三個做,如此類推,直到做完為止(就像工廠裡的作業員一樣),因此,不同的工作會有不同的處理程序去參與,如此一來,將可提昇系統效能。也因為不用開太多個處理程序,不論是有100人進來、或是1000人進來,都是開這幾個處理程式;如果每進來一個人就開一個處理程序,系統效能肯定會很差。
當Oracle開啟時,會有5個基本的背景處理程序會永遠在上面,當有人要用時就拿來用,就像UNIX上的daemand、NT上的service,背景處理程序不會因為user logging時而增加,或是因為user logoff 而減少。
背景處理程序可分為以下兩大類:
- 標準配備(Mandatory Background Processes):當Oracle開啟時所必須要有的背景處理程序,缺一不可,也就是說,當這些標準配備的背景處理程序突然死了,資料庫也就等同損毀。這些標準配備的背景處理程序包含 DBWRn、PMON、CKPT、LGWR、SMON。
- 選用配備(Optional Background Processes):當有需要開啟特殊功能時才會啟動的處理程序,也就是說,當這些選用配備的背景處理程序突然死了,資料庫並不會因此而損毀。這些選用配備的背景處理程序包含ARCn等。
沒有留言:
張貼留言