批量生成AWR报告的方法

有些时候,问题不太好定位,处理时间跨度长,我们需要比较长时间段的AWR报告,一个一个生成太麻烦,有什么办法可以快速批量生成AWR报告呢?请看下面:

set serveroutput on size 1000000

 

spool statspack_report_scripts.txt

declare

sp_exe varchar2(100);

sp_id1 varchar2(10);

sp_id2 varchar2(10);

sp_name varchar2(150);

begin

for i in 开始快照号..结束快照号 loop

select '@?/rdbms/admin/awrrpt.sql' into sp_exe from dual;

select to_char(snap_id) into sp_id1 from dba_hist_snapshot where snap_id=i;

select to_char(snap_id) into sp_id2 from dba_hist_snapshot where snap_id=i+1;

select 'AWR报告文件名前缀'||to_char(b.BEGIN_INTERVAL_TIME,'yyyymmdd')||'-'||to_char(b.BEGIN_INTERVAL_TIME,'hh24mi')||'-'||

       (select to_char(a.BEGIN_INTERVAL_TIME,'hh24mi')||'.html' from dba_hist_snapshot a where a.snap_id=b.snap_id+1)

        into sp_name

        from dba_hist_snapshot b where snap_id=i;

dbms_output.put_line(sp_exe);

dbms_output.put_line('html');

dbms_output.put_line('10'); 

dbms_output.put_line(sp_id1);

dbms_output.put_line(sp_id2);

dbms_output.put_line(sp_name);

dbms_output.new_line;

end loop;

end;

/

spool off


然后将生成的statspack_report_scripts.txt中的内容负责出来,全部贴到sqlplus中去就可以批量生成AWR报告了


下面是snapshot报告批量生成的方法

set serveroutput on size 1000000

 

spool statspack_report_scripts.txt

declare

sp_exe varchar2(100);

sp_id1 varchar2(10);

sp_id2 varchar2(10);

sp_name varchar2(150);

begin

for i in 快照开始号码..快照结束号码 loop

select '@?/rdbms/admin/spreport.sql' into sp_exe from dual;

select to_char(snap_id) into sp_id1 from stats$snapshot where snap_id=i;

select to_char(snap_id) into sp_id2 from stats$snapshot where snap_id=i+1;

select '报告名称前缀'||to_char(b.snap_time,'yyyymmdd')||'-'||to_char(b.snap_time,'hh24mi')||'-'||

       (select to_char(a.snap_time,'hh24mi')||'.txt' from stats$snapshot a where a.snap_id=b.snap_id+1)

        into sp_name

        from stats$snapshot b where snap_id=i;

dbms_output.put_line(sp_exe);

dbms_output.put_line(sp_id1);

dbms_output.put_line(sp_id2);

dbms_output.put_line(sp_name);

dbms_output.put_line('kongge');

dbms_output.put_line('kongge');        

end loop;

end;

/

spool off



这里有优化过的脚本

http://space.itpub.net/?uid-469356-action-viewspace-itemid-758911

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/469356/viewspace-758910/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/469356/viewspace-758910/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值