91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于Execute to Parse %:比例太低的優化思路

發布時間:2020-08-17 11:55:28 來源:ITPUB博客 閱讀:218 作者:ericwen2015 欄目:關系型數據庫
AWR報告中Execute to Parse %:比例太低,如下所示:
Instance Efficiency Percentages (Target 100%)
Buffer Nowait %: 97.33 Redo NoWait %: 100.00
Buffer Hit %: 96.59 In-memory Sort %: 100.00
Library Hit %: 84.65 Soft Parse %: 93.10
Execute to Parse %: 2.60 Latch Hit %: 99.32
Parse CPU to Parse Elapsd %: 75.73 % Non-Parse CPU: 99.03
Execute to Parse %
表示SQL語句解析后被重復執行命中率 計算公式=100*(1-Parses/Executions)
如果該值偏小,說明分析(硬解析與軟解析 )的比例較大,快速解析(即軟軟解析)較少。
關于session_cached_cursors參數的調整:
open_cursors:該參數含義是同一個session同時打開最多在使用的游標數。在Oracle10.2.0.1.0版本中默認為300
session_cached_cursorsSESSION_CACHED_CURSORS, 就是說的是一個session可以緩存多少個cursor,讓后續相同的SQL語句不再打開游標,從而避免軟解析的過程來提高性能。(綁定變量是解決硬解析的問題),軟解析同硬解析一樣,同樣消耗資源.所以這個參數非常重要。在Oracle10.2.0.1.0版本中默認為20
現在需要改大這個參數,以便于進行更多的軟軟解析,這樣可以省去open一個新的 session cursorclose一個現有session cursor所需要消耗的資源和時間。
通過下面語句查看驗證了session_cached_cursors 的使用率確實為100%,(這是我當時查看驗證的)
SQL> Select 'session_cached_cursors' Parameter,  
       Lpad(Value, 5) Value,  
      Decode(Value, 0, ' n/a', To_Char(100 * Used / Value, '990') || '%') Usage  
   From (Select Max(s.Value) Used  
       From V$statname n, V$sesstat s  
      Where n.Name = 'session cursor cache count'  
         And s.Statistic# = n.Statistic#),  
       (Select Value From V$parameter Where Name = 'session_cached_cursors')  
  Union All  
 Select 'open_cursors',  
     Lpad(Value, 5),  
     To_Char(100 * Used / Value, '990') || '%'  
 From (Select Max(Sum(s.Value)) Used  
         From V$statname n, V$sesstat s  
      Where n.Name In  
         ('opened cursors current', 'session cursor cache count')  
         And s.Statistic# = n.Statistic#  
        Group By s.Sid),  
       (Select Value From V$parameter Where Name = 'open_cursors');  
 
PARAMETER              VALUE      USAGE
---------------------- ---------- -----
session_cached_cursors    50       100%
open_cursors             300        22%
 
再次驗證session_cached_cursors是否合理:
session_cached_cursors的值也不是越大越好,我們可以通過下面兩條語句進一步驗證該參數是否合理:
SQL> SELECT NAME, VALUE FROM V$SYSSTAT WHERE NAME LIKE '%cursor%';  
 
NAME                                                                  VALUE
---------------------------------------------------------------- ----------
opened cursors cumulative                                        1075158364
opened cursors current                                                 1578
pinned cursors current                                                  458
session cursor cache hits                                         140287938
session cursor cache count                                         20425458
cursor authentications                                             18472351
SQL> SELECT NAME, VALUE FROM V$SYSSTAT WHERE NAME LIKE '%parse%';  
 
NAME                                                                  VALUE
---------------------------------------------------------------- ----------
ADG parselock X get attempts                                              0
ADG parselock X get successes                                             0
parse time cpu                                                     13211356
parse time elapsed                                                 19331036
parse count (total)                                              1020611015
parse count (hard)                                                 83024992
parse count (failures)                                               504137
parse count (describe)                                                20927
Session cursor cache hits就是系統在高速緩存區中找到相應cursors的次數,parse count(total)就是總的解析次數,二者比值越高,性能越好。如果比例比較低,并且有較多剩余內存的話,可以考慮加大該參數。如下所示二者的比例比較低,
SQL> select 140289159/1020611015*100  from dual;
 
140289159/1020611015*100
------------------------
               13.745605
 
通過下面的語句來判斷open_cursors的大小是否合理,如下所示,我的是合理的。
SQL>SELECT MAX(A.VALUE) AS HIGHEST_OPEN_CUR, P.VALUE AS MAX_OPEN_CUR FROM V$SESSTAT A, V$STATNAME B, V$PARAMETER P WHERE A.STATISTIC# = B.STATISTIC#  AND B.NAME = 'opened cursors current'  AND P.NAME = 'open_cursors'  GROUP BY P.VALUE;
HIGHEST_OPEN_CUR    MAX_OPEN_CUR
--------------------------------------------------------------------------------
      34               300
綜上所述可以確定需要加大參數session_cached_cursors來提高oracle數據庫的性能,但是參數session_cached_cursors并不是越大越好,太大會引起pga緩存碎片,消耗內存,然后session cursor cache的管理也是使用LRU。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙川县| 江北区| 东宁县| 仙桃市| 清镇市| 连云港市| 阜城县| 平远县| 句容市| 洛扎县| 穆棱市| 古蔺县| 龙泉市| 梁平县| 元谋县| 互助| 三门峡市| 奎屯市| 棋牌| 大宁县| 虎林市| 泰安市| 安远县| 云梦县| 政和县| 通化市| 汉沽区| 呈贡县| 黄石市| 读书| 工布江达县| 贵州省| 会昌县| 福清市| 华亭县| 新乡市| 措勤县| 榆树市| 博白县| 左贡县| 屏东市|