ORACLE 性能分析報告的獲取
ORACLE 性能分析報告的獲取:
我們都知道,在oracle資料庫當中有性能分析報告的設計,如ASH,AWR,ADDM,AWRDD,AWRSQRPT,這些報告就像我們去醫院的檢查報告一樣,我們在這個報告上會得到一些性能指標,從而判斷我們的資料庫是否有一些問題。
AWR報告就像是我們的體檢報告一樣,會顯示你哪裡有問題但是不會告知你問題出在哪,ASH報告就是告訴你問題出現的原因是什麼。如果在你的ASH報告當中,有一些你看不懂的問題,ADDM報告會給與你一些支持和建議。我們也經常會遇到將兩個不同時段的AWR報告進行對比從而分析資料庫的瓶頸的發展趨勢,這樣我們就可以將兩個AWR報告進行合併,這個時候用到的是AWRDD。當我們通過ASH定位到問題出在SQL上,但是沒有sql語句的執行計劃和詳細信息,那麼我們會用到AWRSQRPT。
現在我們就逐個說一下用法:
一、AWR獲取
AWR獲取的方法有兩種:
1.通過awrrpt.sql腳本,生成HTML或者是TXT格式的文件
2.通過diaoyongdbms_workload_repository中的awr_report_html/awr_report_text程序,通過SQL的形式輸出。
awr_report_html當中只會產生一些html語句,看起來費勁,我們經常使用awr_report_text
select output from table(dbms_workload_repository.awr_report_text(dbid,instance_number,min_snap_id,max_snap_id));
3.手動時間截斷
Oracle在默認的情況下會每小時收集一次AWR報告,如果時間的粒度過大,想要獲取一小時之內的AWR報告,我們可以手動設置時間節點。
我們做個實驗:
時間上不是1小時的粒度的。
二、ASH報告獲取
ASH報告是針對我們出現的問題的一個更詳細的報告,獲取的方法也有兩種:
1.通過腳本ashrpt.sql進行創建,生成html文件和txt文件。
2.通過調用dbms_workload_repository這個包的ash_report_html/ash_report_text程序。
和AWR的操作方法一致。
三、ADDM報告方式也有兩種:
1.通過腳本@?/rdbms/admin/addmrpt.sql
2.通過dbms_workload_repository包的addm_report_html程序。
spool /home/oracle/addm_rpt.html
select dbms_advisor.get_task_report(advisor_name,task_name,task_desc) from dual;
spool off
四、AWRDD的獲取
獲取AWRDD報告一般只是使用腳本的方法
@?/rdbms/admin/awrddrpt.sql
五、AWRSQ的獲取
獲取的方法一般都使用awrsqlrpt.sql腳本,創建的時候會需要輸入需要的sql_id。之後會出現對應的執行計劃等。
這些步驟都十分簡單,我這篇文章不做報告分析,如何看報告,我會在之後的文章當中寫出來。。。
THAT"S ALL
BY CUI PEACE!!!!
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
TAG:最帥dba工作筆記 |