e、大池(large pool)
大池的得名不是因為大,而是因為它用來分配大塊的記憶體,處理比共享池更大的記憶體,在8.0開始引入。
下面物件使用大池:
mts——在sga的large pool中分配uga
語句的並行查詢(parallel executeion of statements)——允許程序間訊息緩衝區的分配,用來協調 並行查詢伺服器
備份(backup)——用於rman磁碟i/o快取
4、後台程序(background process)
後台程序是oracle的程式,用來管理資料庫的讀寫,恢復和監視等工作。server process主要是通過他和user process進行聯絡和溝通,並由他和user process進行資料的交換
。在unix機器上,oracle後台程序相對於作業系統程序,也就是說,乙個oracle後台程序將啟動乙個作業系統程序;在windows
機器上, oracle後台程序相對於作業系統執行緒,開啟任務管理器,我們只能看到乙個oracle.exe的程序,但是通過另外的工具,就可以看到包含在這裡程序中的執行緒。
在unix上可以通過如下方法檢視後台程序:
ps –ef | grep ora_
# ps -ef | grep ora_ | grep xcluat
oracle 29431 1 0 sep 02 2:02 ora_dbwr_sid
oracle 29444 1 0 sep 02 0:03 ora_ckpt_sid
oracle 29448 1 0 sep 02 2:42 ora_smon_sid
oracle 29442 1 0 sep 02 3:25 ora_lgwr_sid
oracle 29427 1 0 sep 02 0:01 ora_pmon_sid
a、oracle系統有5 個基本程序他們是
dbwr(資料檔案寫入程序)
lgwr(日誌檔案寫入程序)
smon(系統監護程序)
pmon(使用者程序監護程序)
ckpt(檢查點程序,同步資料檔案, 日誌檔案,控制檔案)
b、dbwr
將修改過的資料緩衝區的資料寫入對應資料檔案
維護系統內的空緩衝區
這裡指出幾個容易錯誤的概念:
當乙個更新提交後,dbwr把資料寫到磁碟並返回給使用者提交完成.
dbwr會觸發ckpt 後台程序
dbwr不會觸發lgwr 程序
上面的概念都是錯誤的.
dbwr是乙個很底層的工作程序,他批量的把緩衝區的資料寫入磁碟。和任何前台使用者的程序幾乎沒有什麼關係,也不受他們的控制。至於dbwr會不會觸發lgwr和ckpt程序,我們將在下面幾節裡討論。
dbwr工作的主要條件如下
dbwr 超時
系統中沒有多的空緩衝區用來存放資料
ckpt 程序觸發dbwr 等
c、lgwr
將重做日誌緩衝區的資料寫入重做日誌檔案,lgwr是乙個必須和前台使用者程序通訊的程序。當資料被修改的時候,系統會產生乙個重做日誌並記錄在重做日誌緩衝區內。這個重做日誌可以類似的認為是以下的乙個結構:
scn=000000001000
資料塊id
物件id=0801
資料行=02
修改後的資料=0011
Oracle傳統基本體系結構初步介紹(6)
3 區間 extent 關於extent的翻譯有多種解釋,有的譯作擴充套件,有的譯作盤區,我這裡通常譯為區間。在乙個段中可以存在多個區間,區間是為資料一次性預留的乙個較大的儲存空間,直到那個區間被用滿,資料庫會繼續申請乙個新的預留儲存空間,即新的區間,一直到段的最大區間數 max extent 或沒...
Oracle傳統基本體系結構初步介紹(3)
提交的時候,lgwr必須將被修改的資料的重做日誌緩衝區內資料寫入日誌資料檔案,然後再通知前台程序提交成功,並由前台程序通知使用者。從這點可以看出lgwr承擔了維護系統資料完整性的任務。lgwr 工作的主要條件如下 使用者提交 有1 3 重做日誌緩衝區未被寫入磁碟 有大於1m 重做日誌緩衝區未被寫入磁...
kafka的基本體系結構
使用場景 大資料 資料量和速率激增,資料型別越來越複雜 應用開發 訊息引擎,應用解耦,分布式儲存,流處理 topic 主題 訊息的邏輯分類 客戶端 細分為生產者 朝主題傳送訊息 消費者 讀取主題的訊息 服務端 broker 1 處理客戶端傳送和提供消費支援 2 訊息持久化 訊息架構 1,乙個主題可以...