今天,對ORACLE11G的幾個內存參數看了一下,記錄以下,你們能夠參考:
一、首先,在ORACLE11G的INIT.ORA裏,有「__」開頭的參數,也就是以兩個下劃線開頭的參數,這種參數應該是系統自動調整的結果,第一次啓動系統後,系統對這些參數進行了調整,而後,把調整後的結果記錄在了參數文件裏,我想可能在SPFILE裏也有的。而以一個下劃線開頭的參數,咱們你們都知道,是隱含參數,就是在ORACLE的公開的文檔裏沒說明的,也就是ORACLE不主張用戶本身調整的參數。
二、如今開始討論一下ORACLE11G裏的內存參數:MEMORY_MAX_TARGET,MEMORY_TARGET,SGA_MAX_SIZE,SGA_TARGET,PGA_AGGREGATE_TARGET,WORK_SIZE_POLICY,DB_BLOCK_BUFFERS,DB_CACHE_SIZE等。
(1)MEMORY_MAX_TARGER:肯定DBA能肯定的MEMORY_TARGET的最大值,K|M|G;
(2)MEMORY_TARGET:肯定ORACLE系統範圍可用的內存大小,數據庫系統調整SGA和PGA的大小來適應MEMORY_TARGET,在初始化參數裏,若是你肯定了MEMORY_TARGET的大小,而沒肯定MEMORY_MAX_TARGET,那麼系統自動肯定MEMORY_MAX_TARGET爲MEMORY_TARGET的大小,反之,系統肯定MEMORY_TARGET爲0,系統啓動後再動態調整MEMORY_TARGET的大小,但不會超過MEMORY_MAX_TARGET,K|M|G。
(3)SGA_MAX_SIZE:肯定SGA在整個實例生命期的最大值,K|M|G。
(4)SGA_TARGET:肯定SGA各組件的總大小,若是SGA_TARGET被肯定,那麼下面各SGA組件ORACLE自動調整:DB_CACHE_SIZE,SHARED_POOL_SIZE,LARGE_POOL_SIZE,JAVA_POOL_SIZE,STREAMS_POOL_SIZE;當你設置這些POOL爲非零值時,那麼,ORACLE的自動共享內存管理會把這些值當作這些POOL的最低值。而下面這些POOL須要手工調整,不受SGA_TARGET的影響:
Log buffer;Other buffer caches, such as KEEP, RECYCLE, and other block sizes;Fixed SGA and other internal allocations
(5)PGA_AGGREGATE_TARGET:肯定屬於ORACLE實例的全部服務器進程的、可用的、總的PGA的目標大小,肯定這個參數的值爲非零,會自動設置WORK_SIZE_POLICY爲AUTO,這樣,系統會自動調整每一個SQL工做區大小,來適應該PGA_AGGREGATE_TARGET大小,若是你沒肯定它的值,那麼系統缺省該值爲SGA的20%和10M中最大的值;當你設置這個值爲0時,系統自動設置WORK_SIZE_POLICY爲MANUAL,這時,系統會啓用系統的*_AREA_SIZE,K|M|G。
(6)WORK_SIZE_POLICY:肯定WORK AREA調整模式:AUTO,MANUAL。
(7)DB_BLOCK_BUFFERS:該參數和DB_CACHE_SIZE不能一塊兒使用的,同時,也不能和SGA_TARGET參數一塊兒使用,由於該參數是9i之前配置DATA BUFFERS的參數,留着它多是爲了向後兼容,通常不使用它了,使用它時,不能使用DB_CACHE_SIZE和SGA_TARGET參數,該參數不能設置大小,只能設置成塊數,而不能設置成K|M|G。
(8)DB_CACHE_SIZE:設置數據庫緩衝的大小,當SGA_TARGET設置爲非零值時,那麼該參數設置數據緩衝的最小值;
(9)11g新特性,從內存參數生成SPFILE文件:
之前只能:CREATE SPFILE FROM PFILE;
如今能夠:CREATE SPFILE FROM MEMORY;
僅供你們參考,如需轉載,請註明出處。