Oracle AWR快照
AWR伴随Oracle 10g出现(AWR:Automatic Workload Repository)用以取代9i 的Statspack。
AWR 由mmon进程和它的影子进程每一小时采集一次与性能相关的统计数据。10g保留7天快照,11g保留8天。
也可以使用dbms_workload_repository包手工修改保留的时间和快照采集的间隔,如下每30分采集一次,保留5天
SQL> BEGIN
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
interval => 30,
retention => 5*24*60);
END;
/
采集来的AWR快照数据存放在 SYSAUX 表空间,以WRM$_ 和 WRH$_开头的表
(1)WRM$_*类表存储元数据信息(如检查的数据库和采集的快照)
(2)WRH$_*类保存实际采集的统计数据。
H 代表“历史数据 (historical)”而 M 代表“元数据 (metadata)”。
AWR 快照的相关删除操作:
1.查询保留快照的时间
SQL> select * FROM DBA_HIST_WR_CONTROL;
DBID SNAP_INTERVAL RETENTION TOPNSQL
———- ————————- —————————— ———-
4260912783 +00000 01:00:00.0 +00007 00:00:00.0 DEFAULT
2.AWR信息的导出和导入
–AWR导出脚本:
SQL> @?/rdbms/admin/awrextr.sql
–AWR导入脚本:
SQL> @?/rdbms/admin/awrload.sql
3.删除和手工生成AWR 快照
SQL> select distinct snap_id,dbid from dba_hist_snapshot order by 1;
SQL> execdbms_workload_repository.drop_snapshot_range(low snap_id, high snap_id, dbid)
–手工生成awr快照:
SQL> executedbms_workload_repository.create_snapshot();