1、找出快照点snap_id与时间的对应关系
SYS.WRM$_SNAPSHOT表中记录了快照点snap_id与时间的对应关系
例如如下语句可以得出2023-09-04这一天各个时间点对应的快照点snap_id
select snap_id,end_interval_time from SYS.WRM$_SNAPSHOT where end_interval_time between to_date('2023-09-04 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2023-09-04 23:59:00','yyyy-mm-dd hh24:mi:ss');
2、收据awr报告
SQL> CALL SYS.AWR_REPORT_HTML(开始的snap_id,结束的snap_id,'awr报告文件的存放路径','awr报告文件的名称');
awr报告文件的存放路径可以自定义,但是必须是数据库服务器上真实的路径
awr报告文件的名称可以自定义,但扩展名要为.html
例如需要收集2023年09月04日10:00--11:00的awr报告,并将生成的文件存放在H盘0904文件夹下,生成的文件命名为1675_1676.html,方法如下:
SQL> CALL SYS.AWR_REPORT_HTML(1675,1676,'H:\0904','1675_1676.html');
3、补充
-
检查是否启用awr:
SELECT SF_CHECK_AWR_SYS 返回值默认是0,不启用;1代表启用
-
a wr 包 的启用与禁用
--启用awr包: SQL> CALL SP_INIT_AWR_SYS(1);
--禁用awr包: SQL> CALL SP_INIT_AWR_SYS(0);
-
查询快照参数:SQL> SELECT * FROM SYS.WRM$_WR_CONTROL;
-
设置间隔为 60 分钟: SQL> CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(60);
-
修改 snapshot 的间隔时间为 60 分钟、保留时间为 10 天
SQL> CALL DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(14400,60);
-
手动创建快照: SQL> CALL DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
-
查看创建的快照信息 : SQL> SELECT * FROM SYS.WRM$_SNAPSHOT;
-
删除 id 在 1 ~2 之间的 snapshot : SQL> CALL DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE( 1 ,2);
-
清理全部snapshot: SQL> CALL DBMS_WORKLOAD_REPOSITORY.AWR_CLEAR_HISTORY();