【sga】資料庫啟動時的的SGA大小顯示

ballontt發表於2013-04-23
SYS@PROD> startup
ITPUB個人空間/aE/Fl,U:^9`O`/[$\2^
ORACLE instance started.
Total System Global Area  536870912 bytes
Fixed Size                  1220460 bytes
Variable Size             381681812 bytes
Database Buffers          150994944 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.
這些引數的顯示都代表著SGA中哪些元件的大小呢?

fs#N*}&c)`]0
我們進入資料庫後,緊接著在在資料庫裡檢視一下SGA相關的引數:
SYS@PROD> select * from v$sgainfo;
ITPUB個人空間"fQ yc`*xm
NAME                                  BYTES RES
-------------------------------- ---------- ---
Fixed SGA Size                      1220460 No
Redo Buffers                        2973696 No
Buffer Cache Size                 138412032 Yes
Shared Pool Size                   54525952 Yes
Large Pool Size                     4194304 Yes
Java Pool Size                    209715200 Yes
Streams Pool Size                   8388608 Yes
Granule Size                        4194304 No
Maximum SGA Size                  536870912 No
Startup overhead in Shared Pool    33554432 No
Free SGA Memory Available         117440512

gVvw-l-QOL0
11 rows selected.

:[et7_|c0
SYS@PROD> show parameter sga_max_size;
 
NAME                                 TYPE                                VALUE
-------------------                  - -------------------     ------------------
sga_max_size                         big integer               512M
ITPUB個人空間y/M9ghQ;p$w
SYS@PROD> show parameter sga_target;

T$ta(S|F0
NAME                                 TYPE                VALUE
------------------------------------ --------------                   ------------------
ITPUB個人空間'L#VLH%Y%l8s
sga_target                           big integer400M

8eg!c7i7A5zj:{h-R0
SYS@PROD> show parameter java_pool;
ITPUB個人空間!?n)?(A"T
NAME                                 TYPEVALUE
-----------------------         -------------                                   ----------------
java_pool_size                       big integer200M

AL(h&}_`sP$F0
SYS@PROD> show parameter 16k;
ITPUB個人空間fX)XS?;Gx``5@
NAME                                 TYPE    VALUE
------------------------------------ --------------------------------
ITPUB個人空間~o1[I0|!Z'q~6R&I
db_16k_cache_size                    big integer       60M
ITPUB個人空間w6k2C |#vH&D|!R
經過對比,可以大致發現:
Total System Global Area  536870912 bytes      =sga_max_size=512M
Fixed Size                  1220460 bytes                       =fixed sga  =11.6M,fixed sga是sga中的一個元件,其中儲存了sga中其它元件  的位置和引數,相當於SGA的自啟區,我們無法控制此元件的大小,但通常很小。
Variable Size             381681812 bytes                 =364M,sga_target_size中去除redo、database buffer、fixed sga元件大小後的總大小,其中有share pool,java pool,large poo等.
Database Buffers          150994944 bytes            =144M,和v$sgainfo中的Buffer Cache Size 大小相近(資料庫啟動 後會不斷變化),為資料緩衝區的大小,其中default pool,recycle pool,keeppool
Redo Buffers                2973696 bytes                   =redo buffer區的大小,儲存redo log.此引數大小不受sga自動調整,需要自己手動調整。

$c a'IA$da[0
在oracle10g中,與記憶體相關的引數可以歸為兩類:
自動調優的sga引數:目前這些引數包括:db_cache_size(預設緩衝區大小),shared_pool_size,large_pool_size,java_pool_size。這些引數不需要手動設定大小,如果手動設定了大小,設定的值為自動分配最小值。
手動SGA引數:這些引數包括log_buffer、streams_pool、db_nk_cache_size、db_keep_cache_size、db_recycle_cache_size。這些引數不會受到sga的自動調整,需要手動設定大小。

WIi(U3A$K!}!v0
buffer cache(資料緩衝區)包括了預設緩衝區(default pool),回收區(recycle pool), 保持區(keep pool),以及db_nk_cache區域。
ITPUB個人空間U"c5NJr.o
oracle啟動時,會根據sga_target設定的大小,從中減去那些手動設定的元件大小:recycle pool,keep pool,,並使用計算得到的記憶體量來設定預設緩衝區、共享池、大池和JAVA池的大小。sga的大小可以超過sga_target,最大為sga_max_size,sga_target只是我們試圖期望oracle所使用的記憶體大小,oracle在使用sga時,也會依據該引數進行元件的大小自動分配,但如果迫不得已要超過sga_target時,分配的sga總大小也會超越sga_target。

ballontt

2013/4/23

---The End---


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27425054/viewspace-759134/,如需轉載,請註明出處,否則將追究法律責任。

相關文章