又一次发现Oracle太美之awr相关脚本简介

又一次发现Oracle太美之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导入信息的脚本。和上面的配合使用


-----------太烂。没啥干货。以后没有干货的东西坚决不写。



猜你喜欢

转载自www.cnblogs.com/ldxsuanfa/p/10805137.html