V$PGA_TARGET_ADVICE的用法

531968912發表於2016-04-29
Oracle給出了一系列的自動最佳化的建議,分配多大能給系統帶來最大的效能?V$PGA_TARGET_ADVICE檢視給出了很好的“預測”!

看一下這個檢視能給我們帶來什麼樣的資訊(檢視中每個列都很有幫助):
sys@ora10g> SELECT   pga_target_for_estimate / 1024 / 1024 "PGA(MB)",
  2           pga_target_factor,
  3           estd_pga_cache_hit_percentage,
  4           estd_overalloc_count
  5    FROM   v$pga_target_advice;

   PGA(MB) PGA_TARGET_FACTOR ESTD_PGA_CACHE_HIT_PERCENTAGE ESTD_OVERALLOC_COUNT
---------- ----------------- ----------------------------- --------------------
        10                .5                            34                   13
        15               .75                            34                   13
        20                 1                           100                   13
        24               1.2                           100                   13
        28               1.4                           100                   13
        32               1.6                           100                    3
        36               1.8                           100                    0
        40                 2                           100                    0
        60                 3                           100                    0
        80                 4                           100                    0
       120                 6                           100                    0
       160                 8                           100                    0

12 rows selected.

透過上面的資料可以得到如下的結論:
1.第一列表示不同的PGA的具體值

2.第二列PGA_TARGET_FACTOR為“1”表示當前的pga_aggregate_target設定大小(其他數值都是以這個資料為基礎的倍數),我這裡是20M,透過pga_aggregate_target引數可以確認一下
sys@ora10g> show parameter pga_aggregate_target;

NAME                    TYPE                 VALUE
----------------------- -------------------- -----------
pga_aggregate_target    big integer          20M

3.第三列表示PGA的估算得到的Cache命中率的百分比
目前系統如果PGA為20M的時候,就可以達到100%的命中率

4.第四列如果為“0”表示可以消除PGA的過載
從上面的資料中可以得到,當PGA為36M的時候,可以消除PGA的過載。

5.綜合以上的結論,我們最終可以將PGA的大小設定為36M。
sys@ora10g> alter system set pga_aggregate_target=36m;

System altered.

6.調整後,再次查詢一下v$pga_target_advice檢視得到如下的建議資訊,可以看到基本上已經滿足現在的系統需求。
sec@ora10g> SELECT pga_target_for_estimate / 1024 / 1024 "PGA(MB)",
  2         pga_target_factor,
  3         estd_pga_cache_hit_percentage,
  4         estd_overalloc_count
  5  FROM   v$pga_target_advice;

   PGA(MB) PGA_TARGET_FACTOR ESTD_PGA_CACHE_HIT_PERCENTAGE ESTD_OVERALLOC_COUNT
---------- ----------------- ----------------------------- --------------------
        18                .5                            94                    2
        27               .75                            94                    2
        36                 1                           100                    0
43.1992188               1.2                           100                    0
50.3994141               1.4                           100                    0
57.5996094               1.6                           100                    0
64.7998047               1.8                           100                    0
        72                 2                           100                    0
       108                 3                           100                    0
       144                 4                           100                    0
       216                 6                           100                    0
       288                 8                           100                    0

12 rows selected.


恭喜你,到這裡,您一定已經會“看”這個v$pga_target_advice檢視了。

這是一個動態的過程,可以定期的檢視這個檢視得到更加有效的PGA大小的設定建議。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2090650/,如需轉載,請註明出處,否則將追究法律責任。

相關文章