概述
眾所周知,SOL 優化是一個複雜的工程,首先要講究從整體到局部。今天主要從整體的角度來分析問題sql,先介紹下關於資料庫整體優化都有哪些性能工具。

什麼樣的sql需要優化?
不同場景調優工具
這裡我們分成整體和局部兩個場景。
關於局部分析調優工具,這個其實就是在說 SOL 的執行計划了,這是 SOL 優化最重要的手段之一,通過分析執行計劃,我們可以知道 SOL 語旬的訪問路徑,知道它慢在哪裡,從而進行 SOL 優化。前面已經介紹了怎麼生成執行計劃,這裡就不解釋了。
關於整體的調優工具,這裡我們先撇開主機、網路、存儲等層面的因素,暫時從資料庫的整體層面入手。主要工具有 AWR、ASH, ADDM、AWRDD 這四個工具。其中 AWR 是關注資料庫的整 體性能的報告; ASH 是資料庫中的等待事件與哪些 SOL 具體對應的報告, ADDM 是 Oracle 給出的一些建議;而 AWRDD 是 Oracle 針對不同時段的性能的一個比對報告。

整體分析調優
我們一般獲取系統整體信息都是通過報告和日誌獲取。就跟破案一樣, 這就是收集證據的階段。接下來要找到蛛絲馬跡,那就是如何發現問題。下面介紹下整體調優時需要關注提取到的這些報告的哪些要點、哪些關鍵字, 具體流程圖如下:

五大報告關注的要點
1.AWR 的關注點
AWR 是 Oracle 10g 版本 推出的新特性, 全稱叫Automatic Workload Repository-自動負載信息庫,AWR 是通過對比兩次快照(snapshot)收集到的統計信息,來生成報表數據。
AWR 報告是五大報告中最全面最重要的一個報告,它的相關指標也顯得格外重要。這裡我 們列出 DB Time、 load_profi le、 efficiency percentages、 top 5 events、 SOL Statistics、 Segment_statistics 這 6 個指標入手分析。
2.ASH 的關注點
ASH以V$SESSION為基礎,每秒採樣一次,記錄活動會話等待的事件。不活動的會話不會採樣,採樣工作由新引入的後台進程MMNL來完成。
完成了 ASH 報告的獲取後,打開獲得的 ASH 報告,其實對於該報告可關注的東西非常直 接,就是看看哪些 SOL 和哪些等待事件是相關聯的。
3. ADDM 的關注點
ADDM(Automatic Database Diagnostic Monitor),就是通過診斷和分析awr得到的數據來推斷資料庫可能存在的問題,addm給出的建議是依照減少db_time為依據。每次收集完awr報告後,都會產生一個addm分析,分析結果在shared_pool里,mmon進程定期將其寫入磁碟,AWR每產生一次快照,MMON進程就通知ADDM把AWR最近兩次快照之間的差值進行分析。因此,在默認情況下,每當有AWR的快照產生,ADDM將自動運行。通過em可以查看。所以說白了,addm應該是幫助我們發現問題的一個很好的工具。addm可以定位出很多問題,或許你想不到的,它都能幫你想到。
由於這是 Oracle 的一些分析建議,所以 ADDM 的閱讀非常簡單,基本上從 FINDING 1、 FINDING 2 順序往下看就可以了。一般是從資料庫整體配置和局部 SOL 兩方面給出建議。
4. AWRDD 的關注點
AWRDD是用於比較兩個AWR快照,從而獲得不同一時候期的性能,在比較指標的變化。其實這個關注點很簡單,基本上就是 AWR 關注什麼, AWRDD 就關注什麼。
5. AWRSQRPT 的關注點
AWRSQRPT 主要用來查看sql的執行計劃,獲取AWRSQRPT報告的關鍵之處在於,交互部分要輸入所要分析的SQL的SQL_ID,這是關鍵之處。而這個SQL_ID可以從AWR報告中獲取。
注意:oracle 的執行計劃可能會隨著環境的變化而變化,會隨著數據的變化而變化, 因此可能會產生多個執行計劃 , 這個 AWRSQRPT 就會出現多個執行計劃。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/276237.html
微信掃一掃
支付寶掃一掃