ORACLE 手动创建或删除snapshot

来源:互联网 发布:潘多拉克隆mac地址 编辑:程序博客网 时间:2024/05/22 02:08
--如果需要的话DBA可以通过DBMS_WORKLOAD_REPOSITORY过程手动创建、删除或修改snapshots.
调用DBMS_WORKLOAD_REPOSITORY包需要拥有DBA权限。
--1.手动创建Snapshots 手动创建Snapshots通过DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT过程
--例如
exec dbms_workload_repository.create_snapshot();


-- 然后可以通过 DBA_HIST_SNAPSHOT 视图查看刚刚创建的Snapshots信息。
SELECT * FROM DBA_HIST_SNAPSHOT;


-- 2手动删除Snapshots
--删除Snapshots是使用DBMS_WORKLOAD_REPOSITORY包的另一个过程DROP_SNAPSHOT_RANGE 该过程在执行时可以通过指定snap_id的范围的方式一次删除多个Snapshot
--例如
select count(0) from dba_hist_snapshot where snap_id between 6770 and 6774;


select max(snap_id) from dba_hist_snapshot;
select dbid from v$database;
exec dbms_workload_repository.drop_snapshot_range(low_snap_id => 6770,high_snap_id => 6774,dbid => 4059638244);
--或者
begin
dbms_workload_repository.drop_snapshot_range(
low_snap_id => 6770,
high_snap_id => 6774,
dbid => 4059638244);
end;


select count(0) from dba_hist_snapshot where snap_id between 6770 and 6774;
原创粉丝点击