oracle awr快照历史,【AWR】调整AWR数据采样时间间隔及历史快照保留时间

1.AWR默认的采样间隔和历史快照保留时间默认是保留七天,采集间隔是1小时,这个信息可以从DBA_HIST_WR_CONTROL视图中获得。sys@ora10g> col SNAP_INTERVAL for a20sys@ora10g> col RETENTION for a20sys@ora10g> select * from dba_hist_wr_control;DBID SNAP_INTERVAL        RETENTION            TOPNSQL---------- -------------------- -------------------- ----------3973098169 +00000 01:00:00.0    +00007 00:00:00.0    DEFAULTSNAP_INTERVAL=+00000 01:00:00.0 表示采样间隔是1小时RETENTION=+00007 00:00:00.0 表示采样数据保留期限是7天关于DBA_HIST_WR_CONTROL视图的更多参考可参见Oracle官方文档2.修改AWR默认的采样间隔和历史快照保留时间之GC方法请按照如下的顺序操作即可。1)点击Targets2)点击Databases,选择需要调整的数据库并进入3)搜索“Automatic Workload Repository”关键字(该内容属于Administration - Database Administration - Statistics Management)进入,此时可以看到系统当前的设置情况4)点击Edit进行修改,注意这里System Snapshot Interval只有10 Minutes、15 Minutes、20 Minutes、30 Minutes、1Hour、2 Hours这几种选项,多少有些局限(命令行修改方法不受这个约束)。3.修改AWR默认的采样间隔和历史快照保留时间之SQL方法万变不离其宗,任何能从界面上进行修改的内容都可以通过SQL调整的方法来完成。我们即将使用到的是DBMS_WORKLOAD_REPOSITORY包中的MODIFY_SNAPSHOT_SETTINGS存储过程。该存储过程的简单描述信息如下。sec@ora10g> desc DBMS_WORKLOAD_REPOSITORY…… ……PROCEDURE MODIFY_SNAPSHOT_SETTINGSArgument Name                  Type            In/Out Default?------------------------------ --------------- ------ --------RETENTION                      NUMBER          IN     DEFAULTINTERVAL                       NUMBER          IN     DEFAULTTOPNSQL                        VARCHAR2        INDBID                           NUMBER          IN     DEFAULT例如我们需要将采集间隔调整为15分钟,采样数据保留2天,可以做如下调整sys@ora10g> BEGIN2  DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(3    interval  =>  15,4    retention =>  2*24*60);5  END;6  /PL/SQL procedure successfully completed.验证修改结果sys@ora10g> select * from dba_hist_wr_control;DBID SNAP_INTERVAL        RETENTION            TOPNSQL---------- -------------------- -------------------- ----------4134757407 +00000 00:15:00.0    +00002 00:00:00.0    DEFAULT更多关于该存储过程的说明请参考Oracle官方文档http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_wkrpos.htm#BACEHJJI。值得注意的是:RETENTION参数的取值范围要求是1天到100年,即快照至少需要保留1天,最长可以保留100年;INTERVAL参数的取值范围要求是10分钟到100年,即快照采集间隔最少可以是10分钟,最长可以是100年(官方文档这里描述的有问题,不但用词不正确,而且给出的最长是1年也是不正确的,用词方面的错误在11gR1文档中得到修改)。1)验证RETENTION参数的取值范围当RETENTION参数被赋予少于1天或超过100年的时候都会给出提示性错误ORA-13510,从提示信息中也可以得到该参数的取值范围(1440, 52560000),1440分钟即1天, 52560000分钟即100年。sys@ora10g> BEGIN2  DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(3    interval  =>  60,4    retention =>  0.5*24*60);5  END;6  /BEGIN*ERROR at line 1:ORA-13510: invalid RETENTION 720, must be in the range (1440, 52560000)ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 85ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 133ORA-06512: at line 2sys@ora10g> BEGIN2  DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(3    interval  =>  60,4    retention =>  36501*24*60);5  END;6  /BEGIN*ERROR at line 1:ORA-13510: invalid RETENTION 52561440, must be in the range (1440, 52560000)ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 85ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 133ORA-06512: at line 22)验证INTERVAL参数的取值范围sys@ora10g> BEGIN2  DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(3    interval  =>  9,4    retention =>  7*24*60);5  END;6  /BEGIN*ERROR at line 1:ORA-13511: invalid INTERVAL 9, must be in the range (10, 52560000)ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 85ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 133ORA-06512: at line 2可见此处INTERVAL参数的取值是10分钟到52560000分钟(即100年),当间隔取到整100年的时候是没有问题的。sys@ora10g> BEGIN2  DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(3    interval  =>  36500*24*60,4    retention =>  7*24*60);5  END;6  /PL/SQL procedure successfully completed.sys@ora10g> select * from dba_hist_wr_control;DBID SNAP_INTERVAL        RETENTION            TOPNSQL---------- -------------------- -------------------- ----------4134757407 +36500 00:00:00.0    +00007 00:00:00.0    DEFAULT4.停止AWR采样发生的迂回方法我们可以将采样时间间隔调整为最长100年,同时把采样数据保留时间调整到最小1天的方式实现“禁用”AWR。sys@ora10g> BEGIN2  DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(3    interval  =>  36500*24*60,4    retention =>  1*24*60);5  END;6  /PL/SQL procedure successfully completed.sys@ora10g> select * from dba_hist_wr_control;DBID SNAP_INTERVAL        RETENTION            TOPNSQL---------- -------------------- -------------------- ----------4134757407 +36500 00:00:00.0    +00001 00:00:00.0    DEFAULT5.小结本文通过简单的演示给大家展示了一下调整AWR数据采样时间间隔及历史快照保留时间的方法。Oracle官方文档亦存在瑕疵,尽信书不如无书。验证Oracle官方文档正确性的最有效的工具是你的双手。Good luck.secooler10.07.18-- The End --

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值