如何通过调整系统包来优化Oracle AWR报告自动生成的时间间隔及快照保留策略?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1168个文字,预计阅读时间需要5分钟。
请提供需要改写的伪原创开头内容,以便我为您进行简化改写。
如何用 DBMS_WORKLOAD_REPOSITORY 修改 AWR 快照保留时间
oracle 默认 awr 快照保留 8 天(即 7×24 小时),但很多生产环境需要更长(如 30 天)或更短(如审计要求 7 天内自动清理)。直接改数据字典会破坏 oracle 支持资格,必须走官方接口。
调用 DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS 是唯一安全方式。注意它不修改快照采集频率,只管“保留多久”和“多久采一次”——后者其实是另一个参数。
-
retention:单位是分钟,比如 30 天 →30*24*60 = 43200 -
interval:单位是分钟,比如每 30 分钟一个快照 →30(默认是 60) - 两个参数可单独设,也可一起设;未指定的保持原值
- 执行需
DBA权限,且实例必须处于 OPEN 状态
示例:
EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(retention => 43200, interval => 30);
为什么改了 interval 后快照没按新间隔生成
AWR 快照由后台进程 MMON 负责触发,但它依赖数据库内部定时器,不是“改完立刻生效”。
本文共计1168个文字,预计阅读时间需要5分钟。
请提供需要改写的伪原创开头内容,以便我为您进行简化改写。
如何用 DBMS_WORKLOAD_REPOSITORY 修改 AWR 快照保留时间
oracle 默认 awr 快照保留 8 天(即 7×24 小时),但很多生产环境需要更长(如 30 天)或更短(如审计要求 7 天内自动清理)。直接改数据字典会破坏 oracle 支持资格,必须走官方接口。
调用 DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS 是唯一安全方式。注意它不修改快照采集频率,只管“保留多久”和“多久采一次”——后者其实是另一个参数。
-
retention:单位是分钟,比如 30 天 →30*24*60 = 43200 -
interval:单位是分钟,比如每 30 分钟一个快照 →30(默认是 60) - 两个参数可单独设,也可一起设;未指定的保持原值
- 执行需
DBA权限,且实例必须处于 OPEN 状态
示例:
EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(retention => 43200, interval => 30);
为什么改了 interval 后快照没按新间隔生成
AWR 快照由后台进程 MMON 负责触发,但它依赖数据库内部定时器,不是“改完立刻生效”。

