2012-03-05 77 views
0

最近,我已經從DBA移交了ash reportOracle ash報告

對我而言,這份報告就像法文。我不知道這是什麼以及本報告寫的是什麼。有人能指導我閱讀並解釋我應該採取哪些步驟來使我的查詢穩定,減少CPU消費。而且,哪個查詢需要更多的CPU。
1.請推薦我應該執行的操作。
2.哪個查詢消耗了更多的CPU,我該怎麼做才能改善它。

+1

這些是探索性報告。閱讀它們不會有1-2-3簡單的指導。以下是一些出發點:http://oracledoug.com/serendipity/index.php?/plugin/tag/ASH http://dbakevlar.com/2011/02/for-the-love-of-awr-and-灰/ – MatthewMartin 2012-03-05 17:41:30

回答

2

ASH(活動會話歷史記錄)報告顯示數據庫在一段時間內發生了什麼。

例如,SQL with Top Events顯示第一個查詢消耗了31%的時間。該SQL ID列可以鏈接到使用的Complete List of SQL Text是:

select some_giant_list_of_columns 
    from VU_PERSON_MINI 
where lower (person_id) = ? 

Top SQL with Top Row Sources同一份聲明中說,它正在做一個全表掃描(TABLE ACCESS = FULL)。

我懷疑VU_PERSON_MINI上的LOWER(PERSON_ID)上沒有基於函數的索引。添加一個或修復潛在問題(是否可以在應用程序中強制執行數字列,以便始終以小寫形式存儲)應該有助於提高性能。

另外,在該查詢中存在direct path read事件有點麻煩。這通常表示對磁盤進行排序 - 或者您正在讀取LOB數據。你的意思是作爲該SQL的一部分嗎?

+0

什麼是「31%的時間」的百分比? 31%的時間花在等待事件上?報告中已用時間的31%?謝謝 – 2013-04-04 09:00:05

+1

31%的整體活動,所以如果等待的話,這個時間既不是31%,也不是報告中已用時間的31%。 31%被進一步細分爲「直接路徑讀取」和「CPU +等待CPU」。 – 2013-04-09 15:28:19