手工生成AWR執行期對比報告記錄
AWR(Automatic Workload Repository)報告是Oracle 10g之後推出的重要效能診斷工具。AWR是作為Statspack報告的一種有力延伸。藉助AWR,我們可以方便的對Oracle資料庫的特定工作時間段進行效能分析評價,最終達到發現瓶頸調優的目標。
作為DBA,手工生成AWR報告是工作基本功之一。筆者在之前的《手工生成AWR報告記錄》(http://space.itpub.net/17203031/viewspace-700471)中,就已經詳細介紹過如何在sqlplus工具下生成AWR報告。
1、從AWR到AWR Compare Period Report
AWR是一個產品體系,根據定時收集的系統執行資料,我們其實可以做的更多。在現在主流的運維管理和調優過程中,基線baseline的概念是一直貫穿始終。系統執行負載Baseline、關鍵SQL執行計劃Baseline等等,反覆出現。總之,所謂的Baseline,簡單的說就是一套執行負載指標或者執行計劃指標。當你認為系統出現問題的時候,可以將Baseline作為標準進行對比,發現問題所在。進一步的,可以將Baseline作為應急手段,強制使用應對生產(SQL Profile、SPM)。
我們一般的調優過程中,也的確需要這樣的小工具。比如:業務高峰期和低谷期,資料庫各方面指標有什麼樣顯著的差異?進行調優之後,系統效能指標有何種方式變化?這種時候,生成兩份AWR,看著對比的確是一種方法。但是,Oracle已經為我們提供出AWR Compare Period Report來方便實現這樣的功能。
從原理上,AWR Compare Period Report不難理解。Oracle將各個時間snap的效能資料儲存在SYSAUX表空間的一系列資料字典表中,只要經過合理的組織,compare report不是一件困難的事情。
2、手工生成報告
本文是一篇記錄文章,依然採用手工sqlplus的方法生成報告。
ü 登入sqlplus,執行指令碼
使用sqlplus,登入入指定系統。
D:\>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 5 09:02:42 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL>(登入過程略……)
--呼叫指令碼
SQL> @?/rdbms/admin/awrddrpt.sql
注意:在sqlplus中,?表示$ORACLE_HOME路徑。指定的awrddrpt.sql指令碼,也是確實在客戶端本地的SQL執行指令碼。如果使用如PL/SQL Developer等開發工具,請指定直接路徑。
ü 輸入基本報告型別
首先同AWR報告一樣, Compare Period Report也存在TEXT和HTML兩種格式支援。在建立過程中,我們需要進行選定。
Current Instance
~~~~~~~~~~~~~~~~
DB Id DB Id DB Name Inst Num Inst Num Instance
----------- ----------- ------------ -------- -------- ------------
2351142467 2351142467 NBSTEST 1 1 NBSTEST
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'
輸入 report_type 的值:
Type Specified: html
ü 輸入第一對比時間段專案
既然要做到對比,首先需要指定一個對比時間範圍。這個過程同一般AWR報告相同,過程不予累述。
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
------------ -------- ------------ ------------ ------------
* 2351142467 1 NBSTEST NBSTEST P550_05_LC
Database Id and Instance Number for the First Pair of Snapshots
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using 2351142467 for Database Id for the first pair of snapshots
Using 1 for Instance Number for the first pair of snapshots
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
specifying a number lists all completed snapshots.
--輸入對比時間範圍
輸入 num_days 的值: 3
之後,Oracle會列出三天範圍的snap資訊。
Listing the last 3 days of Completed Snapshots
Snap
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ -----
NBSTEST NBSTEST 10251 03 3月 2012 00:00 1
10252 03 3月 2012 01:00 1
(篇幅原因,省略部分……)
10305 05 3月 2012 06:00 1
Snap
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ -----
NBSTEST NBSTEST 10306 05 3月 2012 07:00 1
10307 05 3月 2012 08:00 1
10308 05 3月 2012 09:00 1
Specify the First Pair of Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
輸入 begin_snap 的值:
--指定時間片
Specify the First Pair of Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
輸入 begin_snap 的值: 10296
First Begin Snapshot Id specified: 10296
輸入 end_snap 的值: 10298
設定了開始和結束時間snap,作為第一個時間。
ü 輸入第二對比時間段專案
第二報告時間snap資訊基本相同,不予累述。
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
------------ -------- ------------ ------------ ------------
* 2351142467 1 NBSTEST NBSTEST P550_05_LC
Database Id and Instance Number for the Second Pair of Snapshots
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using 2351142467 for Database Id for the second pair of snapshots
Using 1 for Instance Number for the second pair of snapshots
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
specifying a number lists all completed snapshots.
輸入 num_days2 的值:
輸入 num_days2 的值: 1
Listing the last day's Completed Snapshots
Snap
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ -----
NBSTEST NBSTEST 10299 05 3月 2012 00:00 1
(篇幅原因,省略……)
10306 05 3月 2012 07:00 1
10307 05 3月 2012 08:00 1
10308 05 3月 2012 09:00 1
Specify the Second Pair of Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
輸入 begin_snap2 的值:
--輸入時間片
Specify the Second Pair of Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
輸入 begin_snap2 的值: 10306
Second Begin Snapshot Id specified: 10306
輸入 end_snap2 的值: 10308
ü 指定生成報告名稱,生成報告
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrdiff_1_10296_1_10306.html To use this name,
press
輸入 report_name 的值: --使用預設名稱,保持為空
Using the report name awrdiff_1_10296_1_10306.html
相關文章
- 【AWR】Oracle批量生成awr報告指令碼Oracle指令碼
- Oracle生成awr報告操作步驟Oracle
- awr報告每天自動生成指令碼指令碼
- Oracle 11.2.0.3.0中執行awrrpt.sql生成awr報告報ora-06502錯誤OracleSQL
- 本機生成遠端資料庫AWR報告資料庫
- 如何在12.2版本ADG備庫生成AWR報告
- 達夢資料庫如何來配置並生成AWR報告資料庫
- 實戰記錄之SQL server報錯手工注入SQLServer
- oracle rac 單個例項不能生成awr報告的問題Oracle
- AWR報告基礎操作
- iOS多執行緒之GCD、OperationQueue 對比和實踐記錄iOS執行緒GC
- oracle awr快照點不記錄問題Oracle
- 四個id 生成器效能比較記錄
- ORACLE AWR效能報告和ASH效能報告的解讀Oracle
- [20230220][20230110]生成相關備庫的awr報表
- awr-----一份經典的負載很高的awr報告負載
- 12.2 如何單為PDB建立AWR報告
- 主備資料庫狀態手工比對(一)資料庫
- 主備資料庫狀態手工比對(二)資料庫
- ASH可以生成指定的session或sql_id的報告,ASH和AWR的區別SessionSQL
- Oracle 12.2 physical standby備庫收集AWR報告Oracle
- job任務均不執行,手工執行報job now running
- Oracle 客戶端生成AWR方法Oracle客戶端
- 【效能調優】Oracle AWR報告指標全解析Oracle指標
- 記錄python介面自動化測試--利用unittest生成測試報告(第四目)Python測試報告
- 生成 Linux 執行時間報告的 Bash 指令碼Linux指令碼
- Pytest學習筆記10-生成html報告筆記HTML
- Java 編譯期和執行期Java編譯
- 渡過難關:病毒流行期間的品牌管理報告
- 達夢資料庫AWR報告日常管理方法資料庫
- jmeter無圖形介面執行測試並生成報告JMeter
- [20230303]生成相關備庫的awr報表(補充說明).txt
- 介面測試返回結構對比實現思路記錄
- TDengine 和 InfluxDB 查詢效能對比測試報告UX測試報告
- MBLM:COVID-19流行期間品牌親密度調查報告
- Oracle AWR無法生成快照(ORA-32701)Oracle
- 微信小程式框架wepy踩坑記錄(與vue對比)微信小程式框架Vue
- 報表工具對比之潤乾報表與銳浪報表對比
- fabric執行記錄