在Oracle體系結構的基本概念中有兩個一個數據庫,一個是實例,我們今天的文章主要談論的就是實例,涉及實例的實際應用等方面的介紹,希望你浏覽完此篇文章會有所收獲,以下是文章的詳細內容介紹。
數據庫實例也稱作服務器, 是用來訪問數據庫文件集的存儲結構及後台進程的集合.
一個數據庫可以被多個實例訪問(稱為真正的應用群集選項).
決定實例的大小及組成的各種參數或者存儲在名稱init.ora的初始化文件中, 或者隱藏在數據庫內部的服務器參數文件中. 通過spfile引用該文件, spfile存儲在spfile.ora文件中.
Oracle體系結構的基本概念實例中實例啟動時讀取初始化文件, 數據庫系統管理員可以修改該文件, 對初始化文件的修改只有在下次啟動時才有效.
Instance分為兩部分:
1: memory structure(內存結構)
memory structure分為兩部分:SGA(System Global Area)區是用於存儲數據庫信息的內存區,該信息為數據庫進程所共享。它包含Oracle 服務器的數據和控制信息,
它是在Oracle 服務器所駐留的計算機的實際內存中得以分配,如果實際內存不夠再往虛擬內存中寫。
包括:
- share pool
- datafase buffer cache
- redo log buffer
- other structures
PGA(Program Global Area)區包含單個服務器進程或單個後台進程的數據和控制信息,與幾個進程共享的SGA 正相反PGA 是只被一個進程使用的區域,PGA 在創建進程時分配在終止進程時回收
2: background process(後台進程)
包括: .PMON 負責在一個Oracle 進程失敗時清理資源
在Oracle體系結構的基本概念實例中SMON 檢查數據庫的一致性如有必要還會在數據庫打開時啟動數據庫的恢復
DBWR 負責將更改的數據從數據庫緩沖區高速緩存寫入數據文件
LGWR 將重做日志緩沖區中的更改寫入在線重做日志文件
CKPT 負責在每當緩沖區高速緩存中的更改永久地記錄在數據庫中時,更新控制文件和數據文件中的數據庫狀態信息。