AWR(Automatic Workload Repository)報告是咱們進行平常數據庫性能評定、問題SQL發現的重要手段。熟練掌握AWR報告,是作好開發、運維DBA工做的重要基本功。 html
AWR報告的原理是基於Oracle數據庫的定時鏡像功能。默認狀況下,Oracle數據庫後臺進程會以必定間隔(一小時)收集系統當前狀態鏡像,而且保存在數據庫中。生成AWR報告時,只須要指定進行分析的時間段(開始鏡像編號和結束鏡像編號),就能夠生成該時間段的性能分析狀況。AWR鏡像保存在數據庫中的時間爲一個月左右。 sql
目前Oracle10g以後,AWR報告取代了原先的Statspack報告成爲一個主流性能分析報告。一般能夠從OEM(Oracle Enterprise Manager Console)平臺上生成查看AWR報告。在OEM中,使用圖形化方法更加容易。本篇中介紹使用手工腳本方式生成AWR的方法,脫離OEM的限制。 數據庫
一、一、運行腳本 瀏覽器
首先,切換到Oracle用戶身份,報告會生成在當前路徑 oracle
# su - oracle
啓動sqlplus等開發工具,調用生成腳本。程序腳本通常保存在$ORACLE_HOME下的rdbms/admin中,名稱爲awrrpt.sql。 運維
$ sqlplus / as sysdba ssh
SQL*Plus: Release 11.2.0.3.0 Production on Fri Nov 27 10:45:08 2015 工具
SQL> @?/rdbms/admin/awrrpt.sql
性能
2、輸入報告參數 開發工具
以後,要持續輸入一系列的報告參數。
輸入生成報告類型,目前AWR提供txt和html兩種格式。須要確認生成格式,默認是html格式。
Current Instance
~~~~~~~~~~~~~~~~
DB Id DB Name Inst Num Instance
----------- ------------ -------- ------------
1986520570 ZLRTDB 1 zlrtdb
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would you like an HTML report, or a plain text report?
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
Enter value for report_type: html
Type Specified: html
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
------------ -------- ------------ ------------ ------------
* 1986520570 1 ZLRTDB zlrtdb sjk1
Using 1986520570 for database Id
Using 1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return> without
specifying a number lists all completed snapshots.
Enter value for num_days: 7
ü 報告涉及天數範圍
啓動報告後,會顯示生成實例的名稱等基本信息。
默認狀況下,AWR會將鏡像信息保留一個月。手工生成的時候,須要確認生成AWR報告的時間範圍。通常狀況下,特別是生產環境下,咱們一般設置1-7天也就夠用了。
輸入天數信息後,AWR生成代碼會將天數範圍內的snapshot鏡像點列出,供輸入選擇,以下所示:
下面省略了不少快照列表 ……
14735 27 Nov 2015 08:00 1
14736 27 Nov 2015 09:00 1
14737 27 Nov 2015 10:00 1
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 14583
Begin Snapshot Id specified: 14583
Enter value for end_snap: 14737
ü 輸入開始和結束的snapshot編號,這裏開始輸入14583,結束輸入14737
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_14583_14737.html. To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name: 2015-11-21-27.awr.html #默認報告名是awrrpt_1_14583_14737.html
以後輸出報告的內容到屏幕上,此處不加以累述。最後提示報告成功寫入了文件2015-11-21-27.awr.html。
Report written to 2015-11-21-27.awr.html
SQL> quit
退出SQL工具,能夠在當前目錄下能夠發現報告文件。
三、能夠把該報告文件經過ssh工具下載到本地,用瀏覽器打開就能夠分析了。