memery structure
oracle的記憶體結構主要由兩部分構成,一部分是sga(system global area),一部分是pga(program global area)。
對于sga而言,它最大可以占到整個實體記憶體的百分之八十,對于資料庫來說,一個instance即對應一個sga。
對于pga而言,一個背景程序對應一個,通常會有多個server對應多個pga。
下面具體介紹一下sga:
sga主要記憶體部件shared pool,database buffer cache,redo log buffer,large pool,java pool包括其他的結構(如lock,latch等)。
sga大小可以這樣來看:

9i以前oracle啟動後sga是不可以改變大小的,9i後sga的大小可以線上動态修改。
我們可以通過修改sgs_max_size這個參數來調整sga大小。sga的記憶體部件在sga_max_size範圍内配置設定大小,其增大減小的機關是granule,對于sga小于128M時granules為4M,大于128M時為16M。
檢視granule大小: