MEMORY_TARGET 和 MEMORY_MAX_TARGET 是 Oracle 資料庫 11g 版中兩個新增的參數。這兩個參數可決定 Oracle 資料庫如何使用「自動記憶體管理」。Oracle 強烈建議使用「自動記憶體管理」來管理您系統上的記憶體。將這兩個參數設定成非零值後,Oracle 會啟用「自動記憶體管理」及調整為目標記憶體大小,並視需要在系統全域區域 (SGA) 與例項程式全域區域 (PGA) 之間重新分配記憶體。因此,下列參數會自動調整大小:
SGA_TARGET
SGA_MAX_SIZE
DB_CACHE_SIZE
SHARED_POOL_SIZE
LARGE_POOL_SIZE
JAVA_POOL_SIZE
STREAMS_POOL_SIZE
PGA_AGGREGATE_TARGET
不過,LOG_BUFFER 不會受到「自動記憶體管理」影響,而且仍然需要手動調整大小。LOG_BUFFER 的調整將在本節稍後討論。
由於 MEMORY_TARGET 可指定 SGA 和 PGA 的記憶體大小總計,因此應該被設為相對高值才能夠達到更好的效能。Oracle Hyperion Financial Management 整合與報表是耗用記憶體的任務,而且需要大量記憶體。考量到 32 位元作業系統的可用定址空間受到限制 (通常為 2 GB 或 3 GB),Oracle 建議將此參數至少設定為 1.2 GB。通常,更高的值能夠帶來更好的 Oracle 資料庫效能,因此,我們希望將此參數儘可能設定為最高值,同時不會用完虛擬位址空間。
建議設定:最小 1.2GB,通常高於 1.2GB (視環境而定)。
在確定要配置到 Oracle 11g 例項的記憶體數量時,請檢閱本節:如何計算 Oracle 資料庫 11g 版的處理程序數目。