ORACLE記憶體管理 之三 PGA v$sql_workarea_histogram v$pga_target_advice
另外還有一個很重要的試圖來觀察PGA的效率v$sql_workarea_histogram
pga_aggregate_target big integer 1236648591
1 SELECT
2 case when low_optimal_size < 1024*1024
3 then to_char(low_optimal_size/1024,'999999') ||
4 'kb <= PGA < ' ||
5 (HIGH_OPTIMAL_SIZE+1)/1024|| 'kb'
6 else to_char(low_optimal_size/1024/1024,'999999') ||
7 'mb <= PGA < ' ||
8 (high_optimal_size+1)/1024/1024|| 'mb'
9 end ||' '||
10 optimal_executions||' '||
11 onepass_executions||' '||
12 multipasses_executions
13 from v$sql_workarea_histogram
14 where total_executions <> 0
15* order by low_optimal_size
SQL> /
CASEWHENLOW_OPTIMAL_SIZE<1024*1024THENTO_CHAR(LOW_OPTIMAL_SIZE/1024,'999999')||'
--------------------------------------------------------------------------------
16kb <= PGA < 32kb 53646550 0 0
32kb <= PGA < 64kb 26062 0 0
64kb <= PGA < 128kb 20361 0 0
128kb <= PGA < 256kb 893 0 0
256kb <= PGA < 512kb 941 0 0
512kb <= PGA < 1024kb 8331 0 0
1mb <= PGA < 2mb 1836 0 0
2mb <= PGA < 4mb 505 0 0
4mb <= PGA < 8mb 218 4 0
8mb <= PGA < 16mb 294 8 0
16mb <= PGA < 32mb 261 16 0
CASEWHENLOW_OPTIMAL_SIZE<1024*1024THENTO_CHAR(LOW_OPTIMAL_SIZE/1024,'999999')||'
--------------------------------------------------------------------------------
32mb <= PGA < 64mb 51 8 0
64mb <= PGA < 128mb 5 6 2
128mb <= PGA < 256mb 0 6 52
256mb <= PGA < 512mb 0 24 59
512mb <= PGA < 1024mb 1 2 0
按PGA 的workarea去分析. 32mb <= PGA < 64mb 51 8 0 表示workarea在32m-64m 之間的在記憶體裡執行的有51次,8次需要用到一次disk,0次多次用到disk.
128mb <= PGA < 256mb 0 6 52,為什麼不用MEM而用DISK呢,因為每一個PGA PIECE最多隻能是PGA_AGGREGATE的5%(估計),所以大於這部分的就只能用DISK了.
v$pga_target_advice
1 select
2 trunc(pga_target_for_estimate/1024/1024)
3 pga_target_for_estimate,
4 to_char(pga_target_factor * 100,'999.9') ||'%'
5 pga_target_factor,
6 trunc(bytes_processed/1024/1024) bytes_processed,
7 trunc(estd_extra_bytes_rw/1024/1024) estd_extra_bytes_rw,
8 to_char(estd_pga_cache_hit_percentage,'999') || '%'
9 estd_pga_cache_hit_percentage,
10 estd_overalloc_count
11* from v$pga_target_advice
SQL> /
PGA_TARGET_FOR_ESTIMATE PGA_TARGET_FAC BYTES_PROCESSED ESTD_EXTRA_BYTES_RW
----------------------- -------------- --------------- -------------------
ESTD_PGA_C ESTD_OVERALLOC_COUNT
---------- --------------------
147 12.5% 1074286 211218 84% 44
294 25.0% 1074286 180162 86% 0
589 50.0% 1074286 170085 86% 0
884 75.0% 1074286 168992 86% 0
1179 100.0% 1074286 167579 87% 0
1415 120.0% 1074286 51551 95% 0
1651 140.0% 1074286 51551 95% 0
1886 160.0% 1074286 51380 95% 0
2122 180.0% 1074286 51186 95% 0
2358 200.0% 1074286 51186 95% 0
3538 300.0% 1074286 51186 95% 0
4717 400.0% 1074286 51186 95% 0
7076 600.0% 1074286 51186 95% 0
9434 800.0% 1074286 51186 95% 0
可以看到統計資料表現這個庫有很大的問題.現在是1179M, estd_pga_cache_hit_percentage=87%,即便將PGA_TARGET擴大到8倍命中率還是不高95%.(會在以後的文章裡修改次問題的)
當你重新設定pga_aggregate_target後這個view的資料會重新開始.
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/633084/viewspace-888422/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 記憶體管理 之二 PGA v$pgastatOracle記憶體AST
- v$pga_target_advice
- V$PGA_TARGET_ADVICE的用法
- ORACLE記憶體管理 之一 ORACLE PGAOracle記憶體
- V$PGA_TARGET_ADVICE 動態效能檢視
- SGA和PGA記憶體管理記憶體
- PGA 記憶體的管理 (zt)記憶體
- Oracle9i 自動管理PGA記憶體(zt)Oracle記憶體
- v$shared_pool_advice,v$db_cache_advice,v$pga_target_advice 建議器的使用
- Oracle PGA記憶體的配置和使用Oracle記憶體
- Oracle記憶體結構研究-PGA篇Oracle記憶體
- oracle v$lock系列之三Oracle
- JVM快速調優手冊v1.0之三:記憶體分配策略JVM記憶體
- V8記憶體管理及垃圾回收機制記憶體
- oracle例項記憶體(SGA和PGA)調整Oracle記憶體
- oracle資料庫記憶體分配(sga和pga)Oracle資料庫記憶體
- 【SGA】【PGA】普適的Oracle記憶體分配策略Oracle記憶體
- Oracle 記憶體管理Oracle記憶體
- Oracle體系結構之記憶體結構(SGA、PGA)Oracle記憶體
- v8記憶體分配淺談記憶體
- 【記憶體管理】Oracle AMM自動記憶體管理詳解記憶體Oracle
- V8 記憶體分配與垃圾回收記憶體
- 黃金記憶體 V3.1 破解教程記憶體
- SUN FIRE V440記憶體問題記憶體
- system-v IPC共享記憶體通訊記憶體
- 【記憶體管理】Oracle如何使用ASMM自動共享記憶體管理記憶體OracleASM
- Oracle 記憶體管理方式Oracle記憶體
- 記憶體管理 記憶體管理概述記憶體
- 2 Day DBA-管理Oracle例項-管理記憶體-修改記憶體設定-自動記憶體管理Oracle記憶體
- 2 Day DBA-管理Oracle例項-管理記憶體-關於記憶體管理Oracle記憶體
- 更換SUN V480記憶體步聚記憶體
- oracle12c之 控制pdb中sga 與 pga 記憶體使用Oracle記憶體
- Oracle PGA管理(一)Oracle
- ORACLE 記憶體管理 之四 SGAOracle記憶體
- oracle的自動記憶體管理Oracle記憶體
- oracle記憶體結構與管理Oracle記憶體
- 自動共享記憶體管理 自動記憶體管理 手工記憶體管理記憶體
- 當實體記憶體小於sga+pga時記憶體