ORACLE11G記憶體管理引數

sqysl發表於2016-06-08
今天,對ORACLE11G的幾個記憶體引數看了一下,記錄如下,大家可以參考: 
1、首先,在ORACLE11G的INIT.ORA裡,有“__”開頭的引數,也就是以兩個下劃線開頭的引數,這種引數應該是系統自動調整的結果,第一次啟動系統後,系統對這些引數進行了調整,然後,把調整後的結果記錄在了引數檔案裡,我想可能在SPFILE裡也有的。而以一個下劃線開頭的引數,我們大家都知道,是隱含引數,就是在ORACLE的公開的文件裡沒說明的,也就是ORACLE不主張使用者自己調整的引數。
2、現在開始討論一下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;
僅供大家參考,如需轉載,請註明出處。

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

相關文章