snapshot维护

数据库的快照是性能调整的时候的依据,所以说,一般不要禁用快照。
下面将介绍下日常维护内容
数据块照存储在SYSAUX 表空间当中,默认保留时间为一个星期,每一个小时收集一次
1 首先确认自己数据库快照当前设置
SQL> select * from dba_hist_wr_control;

    DBID SNAP_INTERVAL                                                              RETENTION                                                                  TOPNSQL
———- ————————————————————————— ————————————————————————— ———-
3704746844 +00000 01:00:00.0                                                          +00007 00:00:00.0                                                          DEFAULT

对以上各列解释下:
snap_interval:是快照的收集间隔,默认为1小时,最短为10分钟,最长为1年,一般为一小时就OK,有问题的时候可以根据情况适度调整
                    不过不要过于频繁)
RETENTION  :快照保留时间 默认为一个星期,最短为一天,最长为100年 ,一般一个星期就可以,如果SYSAUX空间富于,可以调整为2个星期或者更长)
TOPNSQL:一般默认为30条,和AWR报告相关,可以调整

2 一下给例子,以作参考(慎重更改)
要求 :保留时间调整为2个星期,每半个小时收集一次,每次TOPSQL为100条

exec DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS( retention => 20160,
                interval => 30, topnsql => 100, dbid => 30800234);
retention和interval单位分钟 dbid 可以用一下sql获得
select dbid from v$database;

3  手动创建快照
exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
4 手动删除快照
首先用一下SQL确认你要删除快照的ID范围,一般从前往后删除)
select * from dba_hist_snapshot;

exec  DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE (low_snap_id => 183,
                          high_snap_id => 229, dbid => 559040097);

5 禁用快照
exec DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(10080,0); (慎用)

一般来说如果SYSAUX空间足够的话,快照默认保留一个星期,之前会自动删除掉



评论暂缺

(Required)
(Required, will not be published)