oracle SGA(11g)


1. buffer cache


2.redo log buffer


3.shared pool  包含 library cache


4.java pool


5.large pool(optional)


6.streams pool


7.data dictionary cache


8.other miscellaneous information



10g參數:

db_cache_size cache of stardard blocks的大小

log_buffer 分配給redo log buffer的字節數

shared_pool_size 給配共享sql或者pl/sql語句的字節大小

large_pool_size large_pool的大小;默認0

java_pool_size  java pool的大小


1.AMM Auto Memory Management

指定實例內存大小,自動分配給SGA和PGA。

2.ASMM Auto Shared Memory Management

部分自動化的。當你設定SGA目標值大小後,你可以選擇設定一個總的PGA目標大小,或者分別管理PGA工作區。英文不好,不能理解,付上原文:

This management mode is partially automated. You set a target size for the SGA and then have the option of setting an aggregate target size for the PGA or managing PGA work areas individually.

3.Manual memory management

可以通過參數手工分別制定SGA和PGA個部件的大小。


UGA: user global area

session variables

OLAP pool

當session裝載一個PL/SQL package到內存,那麼UGA就獲取(contain)這個包的詳情(package state),即存儲在session variables的值的集合。

OLAP Pool用來管理OLAP數據塊,OLAP session連接時被分配,斷開時釋放。

在共享服務器模式中,UGA在SGA中,因爲PGA只會分配給一個進程;在專有服務器模式中,UGA在PGA中。


PGA:program golbal area

PGA是分配給operating processes or thread的內存,這些process或者thread之間是互不共享的。

PGA可能出現的內容(並非每次出現):

Sort Area Hash Area Bitmap Merge Area       --------稱爲 SQL work areas

Session Memory        persistent area         Runtime Area   --------後面2個稱爲 private sql area

private SQL area 包含解析過多sql語句和其他一些session信息。當服務進程執行SQL或者PL/SQL代碼, private SQL area會被用來存儲綁定變量、query execution state information, and query execution work areas。

private SQL area, which is in the UGA。

shared SQL area, which stores execution plans in the SGA。



to be continued...




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章