1.AWR是什么
AWR全稱Automatic Workload Repository,自動負載信息庫,一堆歷史性能數據,放在SYSAUX表空間上,提供了一個時間段內整個系統的報表數據。通過AWR報告,可以分析指定的時間段內數據庫系統的性能。
Oracle12c以后,有了CDB和PDB的概念,Oracle是可以分CDB和PDB來收集各自的AWR報告的, 如果CDB 環境有多個PDB,那么如果收集的是整個CDB 的AWR報告,
那么該報告也是包含所有PDB的數據,無法准確分析是哪個PDB 導致的性能問題。 所以對於多PDB的情況下,建議是按PDB 來收集AWR報告。
2.生成AWR報告的步驟
1.如果需要最新的AWR報告,需要生成數據庫的最新快照,沒有快照生成AWR報告是會報錯的
生成快照語句: call DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
2. 在sqlplus或者plsql使用命令,生成awrrpt報告
sqlplus登錄后執行以下步驟
sqlplus / as sysdba
@?/rdbms/admin/awrrpt.sql 這是CDB的AWR報告 包含了所有PDB 如果要導出PDB自己的AWR報告,先切換session到PDB自己,然后生成PDB自己的快照,使用一樣的導出語句,后面選擇 AWR_PDB
或者 @$ORACLE_HOME/rdbms/admin/awrrpt.sql
輸入要生成報告的文件格式
Type Specified: html
輸入要生成報告相隔的天數
Enter value for num_days: 1
輸入相隔的快照之間的Snap Id開始號和結束號 (select * from dba_hist_snapshot order by snap_id 查詢數據庫的快照記錄)
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 101
Enter value for end_snap: 102
End Snapshot Id specified: 102
輸入生成報告的名字:
Enter value for report_name: awr.html
查看awr報告方式:
生成報告后,退出sqlplus,文件存儲在當前目錄下scp拷貝到電腦上查看;或者打開linux自帶瀏覽器,輸入目錄
home/oracle/ awr.html