AWR報告基礎操作

wddwr7307914發表於2021-03-16

1 手工取樣資料
exec dbms_workload_repository.create_snapshot;
2.2 常用指令碼
@?/rdbms/admin/awrrpt   --生成AWR報告
@?/rdbms/admin/awrddrpt  --AWR比對報告(2個時間區間對比)
@?/rdbms/admin/awrsqrpt --生成SQL報告
@?/rdbms/admin/awrsqrpi 生成其他例項SQL報告  --對比其他地方遷移過來的AWR


建立一個AWR基線
exec dbms_workload_repository.create_baseline(start_snap_ id,end_snap_id ,baseline_name);
2 檢視當前的AWR儲存策略
select * from dba_hist_wr_control;


DBID SNAP_INTERVAL                           RETENTION                                TOPNSQL
---------- ---------------------------------------  --------------------------------------- ----------
1564637639 +00000 01:00:00.0                       +00007  00:00:00.0                       DEFAULT


注:以上結果表示,每小時產生一個SNAPSHOT,保留7天


3 調整AWR相關引數
exec  dbms_workload_repository.modify_snapshot_settings(retention=>10*24*60);  --收集間隔時間改為保留10天時間
exec dbms_workload_repository.modify_snapshot_settings(interval=>30);  --集間隔時間改為30 分鐘一次


4 生成AWR報告的步驟
4.1 Linux系統
sqlplus / as sysdba
SQL> @$ORACLE_HOME/rdbms/admin/awrrpt.sql
輸入 report_type 的值:html     (注:確定報告的格式)
輸入 num_days 的值:7 (注:選擇快照的天數)
輸入 begin_snap 的值:425       (注:起始快照)
輸入 end_snap 的值:427          (注:結束快照)
輸入 report_name 的值:/home/oracle/scr/awr_report/awr-2020-01-18.html


注:sqlplus sys/sys@192.168.1.61/PEDBDB as sysdba  可以遠端生成AWR報告   --其中 PEDBDB為service_names


4.2 windows系統
1.執行cmd,然後進入到 oracle的安裝目錄
例: E:\app\Administrator\product\11.2.0\dbhome_1\
2.再進入到下面的目錄 RDBMS\ADMIN,確ADMIN下面有 awrrpt.sql這個檔案
3.輸入 sqlplus ,然後以管理員身份登入。
4.輸入命名:@awrrpt
5.輸入 report_type 的值:html  --可以選擇text或html型別
6.輸入 num_days 的值:7 --選擇快照的天數
輸入1,則表示要生成今天0點開始到現在之內的某個時間段的報告,以此類推,預設記錄最近7天
7.輸入 begin_snap 的值:425  --起始快照
8.輸入 end_snap 的值:427    --結束快照
9.輸入 report_name 的值  --D:\awr.html(指定位置)
注:生成的oracle報告的位置若不指定預設位置在: $ORACLE_HOME\RDBMS\ADMIN


5 生成ASH報告的步驟
ASH (Active SessionHistory)
   ASH以V$SESSION為基礎,每秒取樣一次,記錄活動會話等待的事件。
不活動的會話不會取樣,取樣工作由新引入的後臺程式MMNL來完成,v$active_session_history檢視提供了在例項級別抽取會話活動資訊
一般線上上實時診斷資料庫效能問題,特別是負載高,CPU 100%,這個時候用ASH實時出日誌報告,就能很大程度上準確定位問題所在。
sqlplus / as sysdba
SQL> @?/rdbms/admin/ashrpt.sql    --?代表環境變數$ORACLE_HOME
輸入 report_type 的值:html     --確定報告的格式
Enter value for begin_time    --輸入ASH 開始的時間,時間格式上面的示例有說明
Enter value for duration:             
--輸入ASH 結束時間,預設是SYSDATE - begin_time,一般輸入的分析統計的總時間,一般預設是秒,
比如這裡7200就是2個小時,拿出2個小時的ash分析日誌來
Enter value for report_name:/home/oracle/scr/ash_report/ash-2020-12-13.html  --指定位置


6 備份或遷移AWR資料
遷移指令碼位於 $ORACLE_HOME/rdbms/admin   --將AWR資料匯出來,匯入到其他地方分析


完成任務                                                                          SQL指令碼                      執行
抽取AWR資料,轉儲為datapump檔案                           awrextr.sql           @?/rdbms/admin/awrextr

將awrextr.sql轉儲的datapump檔案載入到資料庫中       awrload.sql           @?/rdbms/admin/awrloa

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69947868/viewspace-2762999/,如需轉載,請註明出處,否則將追究法律責任。

相關文章