oracle體系結構(2)

2021-09-24 04:37:13 字數 2310 閱讀 4426

1.shared pool(共享池)

share pool 是由library cache和data dictionary cache 構成

共享池是對sql,pl/sql程式語法分析,編譯執行的記憶體區域。

seared pool 的作用:

1.用於儲存:

•最近執行的sql語句

•最近使用的資料定義

2.它由兩個關鍵效能相關的記憶體結構組成:

•庫快取

•資料字典快取

3.根據引數調整大小

libarary cache快取

library cache(庫快取):library cache是shared pool的一部分,它幾乎是oracle記憶體結構中最複雜的一部分,主要存放shared curosor 和plsql物件的資訊,以及這些物件所依賴的table,index,view等物件的資訊。

1.儲存了所有編譯過得sql語句,pl/sql語句

2.由所有使用者共享使用

3.發起一條sql時,首先檢查library cache 中是否有一條已經解析過且準備執行相同語句,若有,oracle就使用library cache的這個語句版本,從而減少更多的處理時間,我們稱之為軟解析。soft parse

4.如果oracle在library cache 有此sql**的執行版本,則必須建立新的可執行**,稱為硬解析 hard parse

5.使用最近最少使用的演算法進行管理(lru)

data dictionary cache (資料字典的快取)

1.主要包含物件定義,使用者名稱,角色,許可權等資訊。

2.當執行一段sql**時:

oracle首先需要檢查你是否具有執行該操作的許可權。在data dictionary cache中檢視是否有相關資訊,若無,oracle 把資訊從資料字典表讀到data dictionary cache 中,

3.資料字典未命中——即oracle未在data dictionary cache 中發現資料,那莫需要花費額外的成本進行資料處理。

4.沒有直接調整library cache 和data dictipnary cache 大小的方,只能通過增加或減少shared pool。

sql在oracle內部的處理流程

sql處理的第一階段就是sql解析。當應用程式發出sql語句時,該應用程式向資料庫發出乙個解析呼叫,以準備執行該語句,解析呼叫會開啟或建立乙個游標,他是乙個特定於會話私有的sql區的控制代碼,器中包含了已解析的sql語句,和其他處理資訊。游標和私有sql區位於pga中。

redo log buffer(重做日誌緩衝區)

1.是sga中的乙個迴圈使用的緩衝區,它儲存有關更改的資訊。此資訊儲存在redo條目中。redo條目通過插入,更新,刪除,建立,更改,和刪除操作重新構造或重做資料庫更愛所需的資訊。

2.redo條目記得不僅是sql語句的本身,還包括執行後對資料庫中某個檔案某個塊的修改,包括dml,ddl操作。

3.重做條目占用緩衝區中連續的,順序的空間。後台程序lgwr將重做入職緩衝區寫到磁碟上的活動重做日誌檔案。

4.記錄所有redo條目,目的是用於資料庫的恢復。

redo log buffer 特點

lgwr會在什麼情況下將資訊寫入磁碟

1.當乙個使用者執行commit語句時

2.每三秒執行一次

3.當rode log buffer 滿三分之一時

4.當乙個dbwn程序向磁碟寫入時

redo log buffer

lgwr 將redo條目從redo log buffer 寫入redo log file,那麼伺服器程序可以將新的日誌項覆蓋寫入,因此資料庫給redo log huffer 分配了較小的記憶體,大約5mb。

較小的redo log buffer將減少redo log file 的io操作,但是提交處理將花費較多的時間。

間。較大的redo log buffer將會在成lgwr歸於繁忙的進進行寫入,會造成系統cpu壓力。

nologging選項。該選項可以繞過redo log不進redo log記錄。減少資源爭用。

檢視log buffer

show parameter log_buffer 檢視

select name,bytes,resizebale from v$sgainfo

oracle體系結構

oracle由例項和資料庫組成 例項是由sga system global area 和一系列後台程序組成的,其中sga最主要劃分為共享池 shared pool 資料緩衝區 db cache 和日誌緩衝區 log buffer 後台程序包括pmon smon lckn reco ckpt dbwr...

oracle體系結構

一.oracle資料庫的後台程序 dbwr 資料庫寫程序,負責將更改的資料從資料庫緩衝區寫入資料檔案 smon 系統監控,檢查資料庫的狀態,恢復資料庫的例項 pmon 程序監控,負責oracle程序失敗時資源清理釋放 chpt 檢查點程序,每當緩衝區資料寫入檔案時,更新控制檔案的資料庫狀態資訊 ar...

oracle體系結構

oracle體系結構圖 1.1 為什麼oracle資料庫管理系統要引進非常複雜的體系結構 更高效的使用記憶體,保證資料庫不丟失任何資料 1.2 常用術語 1.2.1 程序 一段記憶體正在執行的程式 1.2.2 後台程序 可以有多個後台程序 1.2.3 緩衝區 臨時儲存資料的記憶體區 1.3 orac...