转自http://www.5ienet.com/note/html/ash_awr/oracle-managing-awr-setting.shtml
1.手动创建Snapshots
手动创建Snapshots,通过DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT过程,例如:
SQL> exec dbms_workload_repository.create_snapshot();
PL/SQL procedure successfully completed
- 提示:调用DBMS_WORKLOAD_REPOSITORY包需要拥有DBA权限。可以通过DBA_HIST_SNAPSHOT 视图查看刚刚创建的Snapshots信息。
删除Snapshots是使用DBMS_WORKLOAD_REPOSITORY包的另一个过程:DROP_SNAPSHOT_RANGE,该过程在执行时可以通过指定snap_id的范围的方式一次删除多个Snapshots,例如:
SQL> select count(0) from dba_hist_snapshot where snap_id between 7509 and 7518;
COUNT(0)
----------
10
SQL> begin
2 dbms_workload_repository.drop_snapshot_range(
3 low_snap_id => 7509,
4 high_snap_id => 7518,
5 dbid => 3812548755);
6 end;
7 /
PL/SQL procedure successfully completed.
SQL> select count(0) from dba_hist_snapshot where snap_id between 7509 and 7518;
COUNT(0)
----------
0
注意当snapshots被删除的话,与其关联的ASH记录也会级联删除。