ORACLE11G內存管理參數


今天,對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;
僅供大家參考,如需轉載,請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM