1. 程式人生 > >又一次發現Oracle太美之awr相關腳本簡介

又一次發現Oracle太美之awr相關腳本簡介

rac number .cn oracl popu ber undefine sql comment

又一次發現Oracle太美之awr相關腳本簡介


大家知道在$ORACLE_HOME/rdbms/admin下,有例如以下的相關腳本(我的環境為11.2.0.4.2):
[[email protected] ~]$ cd $ORACLE_HOME/rdbms/admin
[[email protected] 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
這個腳本大家都不陌生了吧。我們差點兒去分析系統性能的時候都要去執行下這個腳本。

我們來看看這裏面有啥好玩的東西。


[[email protected] 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 ? ? [email protected]@?

/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導入信息的腳本。和上面的配合使用


-----------太爛。沒啥幹貨。以後沒有幹貨的東西堅決不寫。



又一次發現Oracle太美之awr相關腳本簡介