Oracle傳統基本體系結構初步介紹(2)

2022-09-16 12:48:10 字數 1656 閱讀 1097

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,乙個主題可以...