您好,登錄后才能下訂單哦!
? ? 11g 中新增MEMORY_MAX_TARGET參數,此參數一出現就如在10g中第一次出現SGA_MAX_SIZE參數一樣給人以耳目一新的感覺。memory_max_target是設定Oracle能占OS多大的內存空間,一個是Oracle SGA區最大能占多大內存空間。無疑在11gOracle又向自動管理內存更進一步。
? ? 10g 的sga_max_size是動態分配 Shared Pool Size,database buffer cache,large pool,javapool,redo log buffer大小的,只是根據Oracle運行狀況來重新分配SGA各內存塊的大小。PGA在10g中需要單獨設定.
? ? 11gMEMORY_MAX_TARGET 參數包含兩部分內存,一個System global area(SGA),另一個 system globalarea(PGA)。很顯然在11g中可已經將PGA和SGA一起動態管理了。
下面來看看在11g 中Memory_target設置和不設置對SGA/PGA 的影響:
A:如果Memory_target 設置為非0值(下面有四種情況來對SGA 和PGA 的大小進行分配)
1)sga_target 和pga_aggregate_target 已經設置大小如果Oracle 中 已經設置了參數sga_target 和pga_aggregate_target,則這兩個參數將各自被分配為最小值最為它們的目標值。
Memory_Target=SGA_TARGET+PGA_AGGREGATE_TARGET ,大小和 memory_max_size 一致。
2)sga_target 設置大小,pga_aggregate_target沒有設置大小 那么pga_aggregate_target初始化值=memory_target-sga_target
3)sga_target沒有設置大小,pga_aggregate_target設置大小那么sga_target 初始化值=memory_target-pga_aggregate_target
4)sga_target和pga_aggregate_target都沒有設置大小Oracle 11g中對這種sga_target和pga_aggregate_target都沒有設定大小的情況下,Oracle將對這兩個值沒有最小值和默認值。Oracle 將根據數據庫運行狀況進行分配大小。但在數據庫啟動是會有一個固定比例來分配:
sga_target =memory_target *60%
pga_aggregate_target=memory_target *40%
B:如果Memory_target 沒有設置或=0(在11g中默認為0)
11g中默認為0則初始狀態下取消了Memory_target的作用,完全和10g在內存管理上一致,完全向下兼容。(也有三種情況來對SGA和PGA的大小進行分配)
1)SGA_TARGET設置值,則自動調節SGA中的shared pool,buffer cache,redolog buffer,javapool,larger pool等內存空間的大小。PGA則依賴pga_aggregate_target的大小。sga和pga不能自動增長和自動縮小。
2)SGA_target 和PGA_AGGREGATE_TARGET都沒有設置
SGA 中的各組件大小都要明確設定,不能自動調整各組建大小。PGA不能自動增長和收縮。
3)MEMORY_MAX_TARGET設置而MEMORY_TARGET=0 這種情況先和10g一樣,不做說明在11g中可以使用下面看各組件的值.
SQL>?show?parameter?target NAME????????????????????????????TYPE???VALUE ------------------------?-------------------------------- archive_lag_target?????????????????????integer?0 db_flashback_retention_target??????????integer?1440 fast_start_io_target???????????????????integer?0 fast_start_mttr_target?????????????????integer?0 memory_max_target???????????????big????integer?1024M memory_target???????????????????big????integer?1024M pga_aggregate_target????????????big????integer?0 sga_target??????????????????????big????integer?0
如果需要監視Memory_target 的狀況則可以使用下面三個動態試圖: V$MEMORY_DYNAMIC_COMPONENTS
V$MEMORY_RESIZE_OPS
v$memory_target_advice
使用下面Command 來調節大小:
SQL>ALTER?SYSTEM?SET?MEMORY_MAX_TARGET?=1024M?SCOPE?=?SPFILE;?SQL>ALTER?SYSTEM?SET?MEMORY_TARGET?=?1024M?SCOPE?=SPFILE; SQL>ALTER?SYSTEM?SET?SGA_TARGET?=0?SCOPE?=SPFILE; SQL>ALTER?SYSTEM?SET?PGA_AGGREGATE_TARGET=?0?SCOPE?=?SPFILE;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。