2017-03-06 37 views
0

我的10g oracle prod數據庫有性能問題。一些查詢開始在20秒內返回,這是以毫秒爲單位的。我得到AWR報告和top3等待事件如下所示。我搜索,但我不明白。Oracle 10g直接路徑寫/讀等待事件

有人可以解釋這個事件嗎?謝謝,

Event      Waits   Time(s)  Avg Wait(ms) % Total Call Time Wait Class 
----------------------  ----------  -------  ------------ ----------------- ---------- 
direct path write temp  11,941,557  866,004  73    29.8    User I/O  FEBRUARY 
direct path write temp  16,197,445  957,129  59    17.2    User I/O  MARCH 

db file scattered read  5,826,190  58,095  10    2.0     User I/O  FEBRUARY 
db file scattered read  10,128,657  70,408  7    1.3     User I/O  MARCH 

direct path read temp  34,197,762  324,663  9    11.2    User I/O  FEBRUARY 
direct path read temp  88,688,686  507,715  6    9.1     User I/O  MARCH 

回答

0

您的等待事件中的兩個都涉及到排序:direct path write tempdirect path read temp。這些表明在磁盤上而不是在內存中排序的增加;磁盤I/O總是比較慢。

那麼,關於內存分配的用法有什麼改變?也許您需要重新訪問SORT_AREA_SIZE或PGA_AGGREGATE_TARGET初始參數的值(取決於您是否使用自動PGA內存)。這裏是一個計算存儲/磁盤排序比查詢:

SELECT 100 * (mem.value - dsk.value)/(mem.value) AS sort_ratio 
FROM v$sysstat mem 
    cross join v$sysstat dsk 
WHERE mem.name = 'sorts (memory)' 
AND dsk.name ='sorts (disk)' 

在我們希望它可以達到95%以上的OLTP應用程序。

另一件事,不是看宏觀事件,你需要看看運行速度慢得多的特定查詢。他們有什麼變化?有更多的數據?新的索引或刪除的索引?刷新的統計數據?


「SORT_RATIO ---------- 99.9985462」

所以,各種各樣更高,但不會太高。你需要關注具體的查詢。

「在三月份,我們開始爲一些新用戶的查詢應用植酮。原因可能是這個?」

可能是。當我們的系統展現出不同的行爲時,應用程序更改始終是主要嫌疑人

+0

沒有任何改變。沒有任何新的或刪除的索引。但在3月份,我們開始使用phyton應用程序進行一些新的查詢。原因可以是這樣嗎? – microracl

+0

和邏輯讀取部分中的另一個段包含了新的大值。我應該理解在數據庫上開始的新查詢,並且查詢原因嗎? – microracl

+0

SORT_RATIO ---------- 99.9985462 – microracl