【AWR】调整AWR数据采样时间间隔及历史快照保留时间
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,1.AWR默认的采样间隔和历史快照保留时间默认是保留七天,采集间隔是1小时,这个信息可以从DBA_HIST_WR_CONTROL视图中获得。sys@ora10g> col SNAP_INTERVAL
千家信息网最后更新 2024年11月11日【AWR】调整AWR数据采样时间间隔及历史快照保留时间1.AWR默认的采样间隔和历史快照保留时间
默认是保留七天,采集间隔是1小时,这个信息可以从DBA_HIST_WR_CONTROL视图中获得。
sys@ora10g> col SNAP_INTERVAL for a20
sys@ora10g> col RETENTION for a20
sys@ora10g> select * from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- -------------------- -------------------- ----------
3973098169 +00000 01:00:00.0 +00007 00:00:00.0 DEFAULT
SNAP_INTERVAL=+00000 01:00:00.0 表示采样间隔是1小时
RETENTION=+00007 00:00:00.0 表示采样数据保留期限是7天
关于DBA_HIST_WR_CONTROL视图的更多参考可参见Oracle官方文档
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_3202.htm#REFRN23462
2.修改AWR默认的采样间隔和历史快照保留时间之GC方法
请按照如下的顺序操作即可。
1)点击Targets
2)点击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_SETTINGS
Argument Name Type In/Out Default?
------------------------------ --------------- ------ --------
RETENTION NUMBER IN DEFAULT
INTERVAL NUMBER IN DEFAULT
TOPNSQL VARCHAR2 IN
DBID NUMBER IN DEFAULT
例如我们需要将采集间隔调整为15分钟,采样数据保留2天,可以做如下调整
sys@ora10g> BEGIN
2 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> BEGIN
2 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 85
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 133
ORA-06512: at line 2
sys@ora10g> BEGIN
2 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 85
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 133
ORA-06512: at line 2
2)验证INTERVAL参数的取值范围
sys@ora10g> BEGIN
2 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 85
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 133
ORA-06512: at line 2
可见此处INTERVAL参数的取值是10分钟到52560000分钟(即100年),当间隔取到整100年的时候是没有问题的。
sys@ora10g> BEGIN
2 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 DEFAULT
4.停止AWR采样发生的迂回方法
我们可以将采样时间间隔调整为最长100年,同时把采样数据保留时间调整到最小1天的方式实现"禁用"AWR。
sys@ora10g> BEGIN
2 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 DEFAULT
5.小结
本文通过简单的演示给大家展示了一下调整AWR数据采样时间间隔及历史快照保留时间的方法。
Oracle官方文档亦存在瑕疵,尽信书不如无书。验证Oracle官方文档正确性的最有效的工具是你的双手。
Good luck.
secooler
10.07.18
-- The End --
默认是保留七天,采集间隔是1小时,这个信息可以从DBA_HIST_WR_CONTROL视图中获得。
sys@ora10g> col SNAP_INTERVAL for a20
sys@ora10g> col RETENTION for a20
sys@ora10g> select * from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- -------------------- -------------------- ----------
3973098169 +00000 01:00:00.0 +00007 00:00:00.0 DEFAULT
SNAP_INTERVAL=+00000 01:00:00.0 表示采样间隔是1小时
RETENTION=+00007 00:00:00.0 表示采样数据保留期限是7天
关于DBA_HIST_WR_CONTROL视图的更多参考可参见Oracle官方文档
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_3202.htm#REFRN23462
2.修改AWR默认的采样间隔和历史快照保留时间之GC方法
请按照如下的顺序操作即可。
1)点击Targets
2)点击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_SETTINGS
Argument Name Type In/Out Default?
------------------------------ --------------- ------ --------
RETENTION NUMBER IN DEFAULT
INTERVAL NUMBER IN DEFAULT
TOPNSQL VARCHAR2 IN
DBID NUMBER IN DEFAULT
例如我们需要将采集间隔调整为15分钟,采样数据保留2天,可以做如下调整
sys@ora10g> BEGIN
2 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> BEGIN
2 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 85
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 133
ORA-06512: at line 2
sys@ora10g> BEGIN
2 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 85
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 133
ORA-06512: at line 2
2)验证INTERVAL参数的取值范围
sys@ora10g> BEGIN
2 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 85
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 133
ORA-06512: at line 2
可见此处INTERVAL参数的取值是10分钟到52560000分钟(即100年),当间隔取到整100年的时候是没有问题的。
sys@ora10g> BEGIN
2 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 DEFAULT
4.停止AWR采样发生的迂回方法
我们可以将采样时间间隔调整为最长100年,同时把采样数据保留时间调整到最小1天的方式实现"禁用"AWR。
sys@ora10g> BEGIN
2 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 DEFAULT
5.小结
本文通过简单的演示给大家展示了一下调整AWR数据采样时间间隔及历史快照保留时间的方法。
Oracle官方文档亦存在瑕疵,尽信书不如无书。验证Oracle官方文档正确性的最有效的工具是你的双手。
Good luck.
secooler
10.07.18
-- The End --
时间
调整
参数
快照
文档
方法
数据
官方
范围
历史
最长
验证
信息
过程
存储
内容
小时
时候
更多
视图
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
河南浪潮服务器虚拟主机
win7搭建服务器教程
青年官兵网络安全保密
数据库安全的第一层保障
嵌入式软件开发贴吧
四川云能手网络技术有限公司
进一步落实网络安全工作责任制
网络安全审计职业规划
小学网络安全知识视频
南京嵌入式软件开发教程
苹果自带的邮件收件服务器
华为云服务器合作
芜湖市有做软件开发的吗
网络安全追究责任
网络安全班会记录
数据库 库名 表名
软件开发大专生好就业吗
软件开发年终个人总结报告
四级数据库工程师难么
用友数据库链接
服务器波动是被攻击了吗
龙芯服务器功率
西安学开发软件开发
网络安全与对策论文项目摘要
北同网络安全手抄报
服务器主板报65
云锁管理服务器
株洲精益管理软件开发
网络安全公司排行榜
时序时空数据库TSDB