簡述」parse calls」
by jonathan lewis, translated by jametong
關於統計資訊」parse calls」的涵義,市面上流傳著大量的含糊的說法.記住下面這一點很重要,這個統計項僅僅統計oci庫一種特定型別的呼叫(call),一次parse call需要的工作量隨著情境的不同可能會產生相差很大,有時它所做的工作量非常小,從而可以不用擔心.
一次」parse calls」可能:
a) 不得不優化這條sql語句,因為它無法在庫快取(library cache)中找到匹配項.
b) 在庫快取中找到了對應的語句,但是仍然由於各種原因需要對其進行優化,例如:之前的執行計畫已經被刷出記憶體,或者由於不同的使用者在呼叫,同樣的sql文字應用到了不同的物件.
(a),(b)是我們一般意義上理解的hasd parse
c) 在庫快取中找到了對應的sql語句,並且不需要對其進行優化,因為它的執行計畫仍然存在,並且使用者也有相應的許可權.
這一條是我們一般意義上理解的soft parse
d) 當通過session cursor cache或pl/sql cursor cache操作時,可以直接找到語句在庫快取中的位置,從而完全不需要搜尋庫快取.
這一條是我們一般理解的soft soft parse (最初應該來自於asktom的敘述)
當oracle增加」parse calls」的計數器時,你仍然需要搞清楚這次呼叫到底對應於(a),(b),(c),(d)中的哪一類呼叫.
或許只是為了混淆問題,oracle也可能僅僅記錄一次」parse count(hard)」而不記錄」parse call」.0
生成awr報告
oracle內部以一定的頻率把系統關鍵的統計資訊和負載情況儲存起來,生成snapshot 快照 全部的snapshot儲存在awr中。即automatic workload repository。當發現資料庫出現效能問題時。就能夠抽取儲存在awr中的snapshot資訊,生成在指定時間段內 即你指定...
AWR報告解讀
1 cpu不足 詳見os效能分析cpu部分 2 存在執行時間較長的sql語句 存在sql語句執行時間較長,占用了較多的cpu 其中exection 為0 說明在本報告結束快照執行時,尚未執行完畢.elapsed time 為sql語句執行總時間,如果乙個sql語句被多個會話同時執行,則此時間可能高於...
awr使用 生成awr報告步驟
生成awr報告步驟 首先需要sqlplus登入,然後步驟如下 第一步 測試開始 結束分別生成乙個快照 begin dbms workload repository.create shapshot end 有時候第一步會出現未定義的錯誤,此時需要用exec dbms workload reposito...