oracle小知识点5--通过dbms_workload_repository.awr_report_html产生awr报告

       生成awr报告的方法有很多,常用有通过em,toad,awrrpt.sql.通过em,比较方便,鼠标点点就行了,但需在服务端开启em.通过toad,比较方便,但有些人不习惯使用toad.通过awrrpt.sql,需要手动执行,
而且生成的报告放在服务端.其实比较方便又简单的方法是使用dbms_workload_repository包的awr_report_html函数.
以下一个单实例生成awr报告的示例:
declare
v_begin_date date;
v_end_date date;
v_dbid number;
v_instance_number number;
v_min_snap_id number;
v_max_snap_id number;
begin
--设置要生成的报告的开始时间和结束时间
v_begin_date:=to_date('20150828 0530','yyyymmdd hh24mi');
v_end_date:=to_date('20150828 1130','yyyymmdd hh24mi');
--根据时间找到snap_id
select dbid,instance_number,min(snap_id),max(snap_id) into v_dbid,v_instance_number,v_min_snap_id,v_max_snap_id from dba_hist_snapshot
where end_interval_time>v_begin_date and end_interval_time<v_end_date
group by dbid,instance_number;
--加大dbms_output的buffer防止overflow
dbms_output.enable(500000);
--输出html文本
for i in (select output from table(dbms_workload_repository.awr_report_html(v_dbid, v_instance_number,v_min_snap_id,v_max_snap_id)))
  loop
    dbms_output.put_line(i.output);
    end loop;
end;

这里是用pl/sql develper执行的,所以把输出的结果复制到一个文本文件,改为html扩展名既可.如果用sqlplus可以直接通过spool把结果输出到一个html文件.

备注:

dbms_workload_repository包不仅可以生成awr报告,还可以创建删除快照,修改快照设置,创建删除基线,生成ash报告等.
其它工具也是通过对这个包的调用来实现相关awr操作.





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

转载于:http://blog.itpub.net/28539951/viewspace-1784900/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值