生成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操作.
而且生成的报告放在服务端.其实比较方便又简单的方法是使用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/