Oracle資料庫組件

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   使用   java   sp   檔案   

首先聲明一下,我的學習筆記參考書主要是官方教材,oracle9i database administration fundaments ed2.0
我覺得學習是一個循序漸進的過程,從面到點,從宏觀到微觀,逐步滲透,各個擊破,對於oracle,怎麼樣從宏觀上來理解呢?
先來看一個圖,這個圖取自於上面提到的教材,這個圖對於從整體上理解ORACLE的體繫結構組件,非常關鍵. 下面來解釋下這個圖.對於一個資料庫系統來說,假設這個系統沒有運行,我們所能看到的和這個資料庫相關的無非就是幾個基於作業系統的物理檔案,這是從靜態角度來看,如果從動態角度來看呢,也就是說這個資料庫系統運行起來了,能夠對外提供服務了,那就意外著資料庫系統啟動了自己的一個執行個體,綜合以上2個角度,oracle如何定義上述描述呢?
我們來引入第一個概念,oracle伺服器,所謂oracle伺服器是一個資料庫管理系統,它包括一個oracle執行個體(動態)和一個oracle資料庫(靜態)。oracle執行個體是一個啟動並執行概念(如作業系統的進程),提供了一種訪問oracle資料庫的方式,始終開啟一個,並且只能開啟一個oracle資料庫,oracle執行個體有SGA和一些後台服務進程組成,在後台服務進程當中,DBWn PMON CKPT LGWR SMON是必備的後台進程,而ad queue,rac,shared server,ad replication則是可選的,之所以可選,要們是因為離開它oracle也能正常運行,要麼是一些進階的功能才可以用得到。
oracle資料庫是一個被統一處理的的資料的集合,從物理角度來看包括三類檔案資料檔案,控制檔案,重做記錄檔。從邏輯角度來看,oracle資料庫至少包含一個資料表空間,資料表空間至少包含一個段,段由區做成,區有塊組成。需要注意的是資料表空間可以包含若干個資料檔案,段可以跨同一個資料表空間的多個資料檔案,區只能在同一個資料檔案內。
oracle還設計了其他的關鍵檔案用來為整個系統服務,如設定檔,密碼檔案,歸檔記錄檔,還有還有使用者進程和服務進程,現在可以簡單理解下執行sql語句就要用到這2個進程。下表是SGA和PGA的總結

SGA

SHARE POOL

(共用池)

用如下命令可以調整

ALTER SYSTEM SET

SHARED_POOL_SIZE=64M

LIBRARY CACHE

(庫快取)

1儲存最近使用的SQL和PL/SQL語句資訊

2包括SHARED SQL和SHARED PL/SQL

3用LRU演算法管理

4大小由SHARE POOL大小決定

DATA DICTIONARY CACHE

(資料字典快取)

1資料庫中最近使用的定義的集合

2包含資料庫檔案,表,索引,列,使用者,許可權和其他的資料庫物件相關資訊

3在文法分析階段,伺服器處理序會在資料字典中尋找用於對象解析和驗證訪問的資訊

4將資料字典資訊快取到記憶體中,可縮短查詢和DML的回應時間

5大小由共用池的大小決定

DATABASE BUFFER CACHE

(資料緩衝區快取)

1儲存已從資料檔案檢索到的資料的複本

2大幅提高讀取和更新資料的效能

3使用LRU演算法管理

4主塊的大小由DB_BLOCK_SIZE確定

REDO LOG BUFFER

(重做日誌緩衝區)

1記錄對資料庫資料區塊作的全部更改

2主要用來恢複

3其中記錄的更改被稱作重做條目

4重做條目包含用於重新構建或重做更改的資訊

5大小由LOG_BUFFER定義

LARGE POOL

(大型池)

1 SGA可選的記憶體區

2分擔了共用池的一部分工作

3用於共用伺服器的UGA

4用於I/O伺服器處理序

5備份和恢複操作或RMAN

6並存執行訊息緩衝區(前提PARALLEL_POOL_SIZE=TRUE)

7不使用LRU列表

8大小由LARGE_POOL_SIZE確定

JAVA POOL

(JAVA池)

1儲存JAVA命令服務分析要求

2安裝和使用JAVA時必須的

3大小有JAVA_POOL_SIZE確定

PGA

PRIVATE SQL AREA

(專用SQL區)

 

專用SQL 區的位置取決於為會話建立的連線類型。在專用伺服器環境中,專用SQL 區位於各自伺服器處理序的PGA中。在共用伺服器環境中,專用SQL 區位於SGA 中。

管理專用SQL 區是使用者進程的職責。使用者進程可以分配的專用SQL 區的數目始終由

初始化參數OPEN_CURSORS 來限制。該參數的預設值是50。

PERSISTEN AREA

(永久區)

包含綁定資訊,並且只在關閉遊標時釋放

RUNTIME AREA

(運行時區)

在執行請求時的第一步建立。對於INSERT、UPDATE 和DELETE命令,該區在執行語句後釋放,對於查詢操作,該區只在提取所有行或取消查詢後釋放。

SESSION MEMORY

(會話記憶體)

包含為保留會話變數以及與該會話相關的其它資訊而分配的記憶體。對於共用伺服器環境,該會話是共用的而不是專用的。

SQL WORK AREAS

(SQL工作區)

用於大量佔用記憶體的操作,如排序、散列聯結、位元影像合并和位元影像建立。

工作區的大小可進行控制和調整

下表是後台進程總結

DBWn

DBWn 延遲寫入資料檔案,直到發生下列事件之一:

• 增量或正常檢查點

• 灰資料緩衝區的數量達到閾值

• 進程掃描指定數量的塊而無法找到任何空閑緩衝區時

• 出現逾時

• 即時應用叢集(Real Application Clusters, RAC) 環境中出現ping 請求

• 使一般資料表空間或暫存資料表空間處於離線狀態

• 使資料表空間處於唯讀模式

• 刪除或截斷表

• 執行ALTER TABLESPACE 資料表空間名BEGIN BACKUP 操作

LGWR

LGWR 在下列情況下執行從重做日誌緩衝區到重做記錄檔的連續寫入:

• 當提交事務時

• 當重做日誌緩衝區的三分之一填滿時

• 當重做日誌緩衝區中記錄了超過1 MB 的更改時

• 在DBWn 將資料庫緩衝區快取中修改的塊寫入資料檔案以前

• 每隔三秒

SMON

常式恢複

– 前滾重做日誌中的更改

– 開啟資料庫供使用者訪問

– 回退未提交的交易處理

• 合并空閑空間

• 回收臨時段

PMON

進程失敗後,後台進程PMON 通過下面的方法進行清理:

• 回退使用者的當前交易處理

• 釋放當前保留的所有表鎖或行鎖

• 釋放使用者當前保留的其它資源

• 重新啟動已失效的發送器

CKPT

• 在檢查點發訊號給DBWn

• 使用檢查點資訊更新資料檔案的標題

• 使用檢查點資訊更新控制

啟動檢查點的原因如下:

• 確保定期向磁碟寫入記憶體中發生修改的資料區塊,以便在系統或資料庫失敗時不會遺失資料

• 縮短常式恢複所需的時間。只需處理最後一個檢查點後面的重做日誌條目以啟動恢複操作

• 確保提交的所有資料在關閉期間均已寫入資料檔案

由CKPT 寫入的檢查點資訊包括檢查點位置、系統更改號、重做日誌中恢複操作的起始位置以及有關日誌的資訊等等。

註:CKPT 並不將資料區塊寫入磁碟,或將重做塊寫入聯機重做日誌。

ARCn

• 可選的後台進程

• 設定ARCHIVELOG 模式時自動歸檔聯機重做日誌

• 保留資料庫的全部更改記錄

最後,舉一個使用者提交sql語句的的例子來結束本文,如果使用者想提交sql語句,那麼首先你必須要串連到oracle執行個體,串連到oracle執行個體有三種途徑,1如果使用者登陸到運行oracle執行個體的作業系統上,則通過處理序間通訊進行訪問2C/S結構訪問3三層結構
發起連線應用程式程式或工具通常稱為使用者進程,串連發起後,oracle伺服器就會建立一個進程來接受串連,這個進程就成為服務進程,伺服器處理序代表使用者進程與oracle執行個體進行通訊,在專用伺服器串連模式下,使用者進程和服務進程是1對1的關係,在共用伺服器模式下,多個使用者進程可能共用一個服務進程。
當伺服器處理序開始和oracle執行個體進行通訊時,一個會話就被建立了。
顯然處理一個查詢要經過文法分析,綁定,執行,提取等階段。
此篇結束,對自己的學習作個標記,回頭再進行整理。轉載自http://blog.itpub.net/9827752/viewspace-926/

Oracle資料庫組件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.