利用Windows批处理让ORACLE每日自动生成AWR报告

利用Windows批处理让ORACLE自动生成每日AWR报告

 

 

AWR报告是Oracle调优的重要信息来源,一般在测试、调优时候根据情况调阅。根据网络上各位前辈的分享,根据自己情况整理、测试,最后依照下面步骤,利用windows计划任务,在每天凌晨自动生成前一天的awr报告。

 

 

 

需要三个文件,我将三个文件放在了“C:\AWR\”目录下

awr.cmd,也就是批处理文件,在计划任务中调用。文件内容是在cmd启动sqlplus,执行生成awr报告的语句。

 

awr.sql,在awr.cmd中调用,这个文件主要是生成我们需要检测的时间段。然后作为变量传给下一个文件。

 

mqney_awr.sql,生成awr报告的主要文件,从awr.sql接收时间,生成awr报告到指定的目录下。

 

下面是三个文件的内容。

 

批处理文件awr.cmd的内容

cmd.exe /c sqlplus xxxf1/xxxf@ORCL @C:\AWR\awr.sql

注:xxxf1为账号,xxxf为密码,ORCL为实例,“@C:\AWR\awr.sql”意思是调用C盘AWR目录下的awr.sql文件。

 

 

下面再来看看awr.sql的内容

@@C:\AWR\mqney_awr.sql 0 8

@@C:\AWR\mqney_awr.sql 8 10

@@C:\AWR\mqney_awr.sql 10 12

@@C:\AWR\mqney_awr.sql 12 14

@@C:\AWR\mqney_awr.sql 14 16

@@C:\AWR\mqney_awr.sql 16 18

@@C:\AWR\mqney_awr.sql 20 24

exit

 

注:“@@C:\AWR\mqney_awr.sql 0 8”的意思是把0点作为开始,8点作为结束时间,传两个参数调用C盘AWR目录下的mqney_awr.sql。结尾的exit会让批处理跳出sqlplus。

 

 

最后是mqney_awr.sql内容

set echo off;

set veri off;

set feedback off;

set termout on;

set heading off;

set linesize 500;

 

variable dbid number;

variable inst_num number;

variable bid number;

variable eid number;

variable bhour        number;

variable ehour        number;

begin

  :bhour       :=  &1;

  :ehour       :=  &2;

end;

/

begin

select min(t.snap_id) + :bhour - 1 into :bid from sys.dba_hist_snapshot t  where to_char(t.begin_interval_time,'yyyy-mm-dd') = to_char(sysdate-1,'yyyy-mm-dd');

select min(t.snap_id) + :ehour - 1 into :eid from sys.dba_hist_snapshot t  where to_char(t.begin_interval_time,'yyyy-mm-dd') = to_char(sysdate-1,'yyyy-mm-dd');

select dbid into :dbid from v$database;

select instance_number into :inst_num from v$instance;

end;

/

set termout off;

column report_name new_value report_name noprint;

select 'C:\AWR\mqney_awrrpt_'||to_char(sysdate,'yyyymmddhh24MMss')||'_for_'||to_char(sysdate-1,'yyyymmdd')||'_'||:bhour||'-'||:ehour||'.html' report_name from dual;

set termout on;

spool &report_name;

select output from table(dbms_workload_repository.awr_report_html(:dbid,:inst_num,:bid,:eid,0 ));

spool off;

 

set termout on;

clear columns sql;

ttitle off;

btitle off;

repfooter off;

undefine report_name

 

注:根据传入的时间参数,向C盘AWR文件夹写Html格式的报告。文件用mqney_awrrpt时间戳.html命名。

 

 

最后是批处理,这个大家都知道

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值