【調優】AWR腳本功能簡介



大家知道在$ORACLE_HOME/rdbms/admin下,有如下的相關腳本(我的環境爲11.2.0.4.2):
[oracle@rh64 ~]$ cd $ORACLE_HOME/rdbms/admin
[oracle@rh64 admin]$ ls -ltr awr*
-rw-r--r-- 1 oracle oinstall 1999 Oct 24 2003 awrrpt.sql
-rw-r--r-- 1 oracle oinstall 49166 Sep 1 2004 awrinfo.sql
-rw-r--r-- 1 oracle oinstall 1469 Jan 5 2005 awrsqrpt.sql
-rw-r--r-- 1 oracle oinstall 2462 Jan 5 2005 awrinpnm.sql
-rw-r--r-- 1 oracle oinstall 20892 May 23 2005 awrddinp.sql
-rw-r--r-- 1 oracle oinstall 2005 May 27 2005 awrddrpt.sql
-rw-r--r-- 1 oracle oinstall 8603 Mar 3 2006 awrinput.sql
-rw-r--r-- 1 oracle oinstall 1148 Dec 1 2006 awrblmig.sql
-rw-r--r-- 1 oracle oinstall 7440 Mar 13 2008 awrginp.sql
-rw-r--r-- 1 oracle oinstall 16457 Mar 13 2008 awrgdinp.sql
-rw-r--r-- 1 oracle oinstall 11082 Mar 24 2009 awrextr.sql
-rw-r--r-- 1 oracle oinstall 1523 Apr 29 2009 awrgrpt.sql
-rw-r--r-- 1 oracle oinstall 1897 Apr 29 2009 awrgdrpt.sql
-rw-r--r-- 1 oracle oinstall 10368 Jul 15 2009 awrload.sql
-rw-r--r-- 1 oracle oinstall 6803 Jul 25 2011 awrsqrpi.sql
-rw-r--r-- 1 oracle oinstall 7704 Jul 25 2011 awrrpti.sql
-rw-r--r-- 1 oracle oinstall 6444 Jul 25 2011 awrgrpti.sql
-rw-r--r-- 1 oracle oinstall 7393 Jul 25 2011 awrgdrpi.sql
-rw-r--r-- 1 oracle oinstall 7450 Jul 25 2011 awrddrpi.sql


我們一一來介紹下:
1.awrrpt.sql
這個腳本大家都不陌生了吧,我們幾乎去分析系統性能的時候都要去執行下這個腳本。我們來看看這裏面有啥好玩的東西。
[oracle@rh64 admin]$ cat awrrpt.sql


Rem $Header: awrrpt.sql 24-oct-2003.12:04:53 pbelknap Exp $
Rem
Rem awrrpt.sql
Rem
Rem Copyright (c) 1999, 2003, Oracle Corporation. All rights reserved. 
Rem
Rem NAME
Rem awrrpt.sql
Rem
Rem DESCRIPTION
Rem This script defaults the dbid and instance number to that of the
Rem current instance connected-to, then calls awrrpti.sql to produce
Rem the Workload Repository report.
Rem
Rem NOTES
Rem Run as select_catalog privileges. 
Rem This report is based on the Statspack report.
Rem
Rem If you want to use this script in an non-interactive fashion,
Rem see the 'customer-customizable report settings' section in
Rem awrrpti.sql
Rem
Rem MODIFIED (MM/DD/YY)
Rem pbelknap 10/24/03 - swrfrpt to awrrpt 
Rem pbelknap 10/14/03 - moving params to rpti 
Rem pbelknap 10/02/03 - adding non-interactive mode cmnts 
Rem mlfeng 09/10/03 - heading on 
Rem aime 04/25/03 - aime_going_to_main
Rem mlfeng 01/27/03 - mlfeng_swrf_reporting
Rem mlfeng 01/13/03 - Update comments
Rem mlfeng 07/08/02 - swrf flushing
Rem mlfeng 06/12/02 - Created
Rem


--
-- Get the current database/instance information - this will be used 
-- later in the report along with bid, eid to lookup snapshots


set echo off heading on underline on;
column inst_num heading "Inst Num" new_value inst_num format 99999;
column inst_name heading "Instance" new_value inst_name format a12;
column db_name heading "DB Name" new_value db_name format a12;
column dbid heading "DB Id" new_value dbid format 9999999999 just c;


prompt
prompt Current Instance
prompt ~~~~~~~~~~~~~~~~


select d.dbid dbid
, d.name db_name
, i.instance_number inst_num
, i.instance_name inst_name
from v$database d,
v$instance i;


@@awrrpti


undefine num_days;
undefine report_type;
undefine report_name;
undefine begin_snap;
undefine end_snap;
--
-- End of file






------>>>看到說明了嗎?這個腳本只能抓取本示例的性能信息,其實這個腳本是調用的awrrpti.sql,AWR的開發是基於以前9i的Statspack report.
從10G開始纔有AWR的,以前9I都是statspack,以前都是經常聽老DBA說statspack,表示不明覺歷。同時要運行這個腳本起碼要有select_catalog的權限。
由於這個是交付式的,如果你不想使用交互式,只能使用awrrpti.sql了。


2.awrrpti.sql
這個就是原始的生成AWR的腳本了,裏面說了運行此腳本要選擇兩個相應的時間點,運行需要以SYSDBA用戶,使用這個腳本可以在本實例取另外一個實例的
AWR報告。如果你想是使用非交互式模式,可以參考下面的樣例:
Rem If you want to use this script in an non-interactive fashion,
Rem without executing the script through awrrpt, then
Rem do something similar to the following:
Rem
Rem define inst_num = 1;
Rem define num_days = 3;
Rem define inst_name = 'Instance';
Rem define db_name = 'Database';
Rem define dbid = 4;
Rem define begin_snap = 10;
Rem define end_snap = 11;
Rem define report_type = 'text';
Rem define report_name = /tmp/swrf_report_10_11.txt
Rem @@?/rdbms/admin/awrrpti


3.awrinfo.sql
這個腳本輸出些awr的一些信息,報告系統平臺,AWR所佔的空間大小等等,默認是txt的格式,大家可以看看。


4.awrsqrpt.sql
這個腳本是輸出SQL報告的腳本,後臺調用的awrsqrpti.sql


5.awrsqrpi.sql
這個腳本是取SQL信息報告的腳本,同樣可以自定義,可以採用非交付模式


6.awrinpnm.sql
這個腳本運行了一篇,沒看出具體啥作用


7.awrddinp.sql
沒看出來有啥用啊


8.awrgrpt.sql/awrgrpti.sql
這個比較好用啊,取全局的AWR報告。不過要11G以上纔有的。看RAC的網卡流量什麼的比較好用,不過不知道準不準


9.awrddrpt.sql/awrddrpi.sql
對比AWR報告的腳本,在分析性能的時候比較常用


10.awrgdrpt.sql/awrgdrpi.sql
全局的AWR報告


11.awrinput.sql
沒看出來有價值的東西


12.awrblmig.sql
AWR基線遷移的腳本,升級的時候可能會用到


13.awrginp.sql
AWR全局的input的腳本


14.awrgdinp.sql
awrgdinp.sql - AWR Glopal Compare Period Report Input variables


15.awrextr.sql
AWR導出數據庫信息的腳本,在遷移的時候可能會用到


16.awrload.sql

AWR導入信息的腳本,和上面的配合使用


原文鏈接:

https://www.2cto.com/database/201406/308219.html

發佈了6 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章