一、查询快照信息
select snap_id,dbid,instance_number,to_char(end_interval_time, 'YYYY-MM-DD HH24:MI:SS')from dba_hist_snapshotwhere end_interval_time >=to_date('2022-12-1 09:00:00', 'yyyy-mm-dd hh24:mi:ss') -- 开始时间,值自己修改到需要查询awr报告的时间段and end_interval_time <=to_date('2022-12-1 18:01:00', 'yyyy-mm-dd hh24:mi:ss') -- 结束时间,值自己修改到需要查询awr报告的时间段order by end_interval_time;
例如:
select snap_id,dbid,instance_number,to_char(end_interval_time, 'YYYY-MM-DD HH24:MI:SS')from dba_hist_snapshotwhere end_interval_time >=to_date('2023-11-30 09:00:00', 'yyyy-mm-dd hh24:mi:ss')and end_interval_time <=to_date('2023-11-30 18:01:00', 'yyyy-mm-dd hh24:mi:ss')order by end_interval_time;
结果如下:
序号 snap_id |dbid |instance_number |end_interval_time |
1 836 | 1905484708 | 1 | 2023-11-30 09:00:51 |
2 837 | 1905484708 | 1 | 2023-11-30 10:00:54 |
3 838 | 1905484708 | 1 | 2023-11-30 11:00:56 |
4 839 | 1905484708 | 1 | 2023-11-30 12:00:59 |
5 840 | 1905484708 | 1 | 2023-11-30 13:00:02 |
6 841 | 1905484708 | 1 | 2023-11-30 14:00:05 |
7 842 | 1905484708 | 1 | 2023-11-30 15:00:07 |
二、查询报告内容
语法:
select output from table(dbms_workload_repository.awr_report_html(DBID,1,快照开始ID,快照结束ID));
从第一步中查询结果取值,修改上面查询awr报告的语句中的具体的dbid以及快照开始结束ID。如果查最新的awr报告,一般快照开始ID取倒数第二个大的,结束ID取倒数第一大的。如下:
select outputfrom table(dbms_workload_repository.awr_report_html(1905484708, 1,841,842));
三、查看分析AWR报告
将第二步中查询出的结果复制到txt文档中,保存后,修改文件后缀为.html,之后用浏览器打开即可。
说明:
1、以上生成awr报告的方法,不限于用oracle官方的client以及sqldeveloper工具,可以使用其他客户端,比如pl/sql developer 、navicat等。