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空间足够的话,快照默认保留一个星期,之前会自动删除掉