STACK SPACE)、Session 額外資料 (USER SESSION DATA)SORT_AREA_SIZE、SORT_AREA_RETAINED_SIZE-- 參數檔
SORT_AREA_SIZE=65536
SORT_AREA_RETAINED_SIZE=65536
-- SQL 查詢
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME LIKE '%SIZE';
SHOW PARAMETER SORT_AREA_SIZE;
SELECT NAME, VALUE FROM V$SYSSTAT WHERE NAME LIKE '%SORT%';
關鍵指標:SORTS (MEMORY) vs SORTS (DISK),磁碟排序比例過高需增大排序區或優化 SQL。
LARGE_POOL_SIZE,查詢:SHOW PARAMETER LARGE_POOL_SIZEJAVA_POOL_SIZE,建議 不小於 20MBSTATISTICS_LEVEL = TYPICAL (預設) 或 ALLSGA_TARGET 指定 SGA 總大小SHARED_POOL_SIZE、DB_CACHE_SIZE 等,Oracle 自動動態分配SGA_TARGET,ASMM 停用,退回手動模式DBA 可為關鍵組件設定最小值,自動分配時不低於此值:
SGA_TARGET = 256M
SHARED_POOL_SIZE = 32M -- 最小保障
DB_CACHE_SIZE = 100M -- 最小保障
-- 剩餘 124M 由 Oracle 動態分配給其他組件
查詢動態分配結果:SELECT * FROM V$SGA_DYNAMIC_COMPONENTS;
LOG_BUFFERDB_KEEP_CACHE_SIZE, DB_RECYCLE_CACHE_SIZEDB_nK_CACHE_SIZESTREAMS_POOL_SIZE設定上述參數會減少可供自動分配的記憶體池。
SELECT SUM(VALUE) FROM V$SGA (含 Fixed SGA ~16M)SELECT (SUM(VALUE) - (SELECT CURRENT_SIZE FROM V$SGA_DYNAMIC_FREE_MEMORY)) FROM V$SGASHARED_POOL_SIZE, DB_CACHE_SIZE, LARGE_POOL_SIZE 等)SGA_TARGET = 計算值-- 手動參數
SHARED_POOL_SIZE = 200M
DB_CACHE_SIZE = 500M
LARGE_POOL_SIZE = 200M
LOG_BUFFER = 16M
-- SGA_MAX_SIZE = 1200M
-- 查詢
SELECT SUM(VALUE) FROM V$SGA; -- 1200M
SELECT CURRENT_SIZE FROM V$SGA_DYNAMIC_FREE_MEMORY; -- 208M
-- SGA_TARGET = 1200 - 208 = 902M
10g ASMM 透過 SGA_TARGET 實現 SGA 組件動態平衡,大幅降低手動調校負擔。理解 PGA/排序區/大池/Java 池各自定位,配合 V$SGA_DYNAMIC_COMPONENTS 監控,能在自動化基礎上進行精準干預。遷移時務必用 SPFILE 保留調優成果。