手工生成AWR執行期對比報告記錄

發表於2012-03-08

 

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 without

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 without

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 to continue, otherwise enter an alternative.

 

輸入 report_name 的值: --使用預設名稱,保持為空

Using the report name awrdiff_1_10296_1_10306.html

 

 


Back to Top

相關文章