先调整AWR自动
采样
的时间间隔,以便在较短的时间内看到测试效果。否则在默认的1小时
采样
一次的环境下,测试周期过长。
1.获取AWR默认采样间隔时间
参考文章《【AWR】调整AWR数据采样时间间隔及历史快照保留时间》(http://space.itpub.net/519536/viewspace-668410)。
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
---------- -------------------- -------------------- ----------
4067278754 +00000 01:00:00.0 +00007 00:00:00.0 DEFAULT
AWR默认的采样时间间隔是1小时。
2.调整自动采样时间间隔
将自动 采样 的时间间隔设置为最小值(最小值是10分钟自动 采样 一次)。
BEGIN
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
interval => 10,
retention => 2*24*60);
END;
/
3.确认自动采样时间间隔调整成功
sys@ora10g> select * from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- -------------------- -------------------- ----------
4068874419 +00000 00:10:00.0 +00002 00:00:00.0 DEFAULT
未来将会在10分钟的整数倍处触发AWR的自动 采样 。
4.手工完成采样的命令
sys@ora10g> exec dbms_workload_repository.create_snapshot;
PL/SQL procedure successfully completed.
5.测试场景设计
1)十分钟的采样间隔,5分钟“之前”手工 采样 一次,观察下一个自动 采样 是否发生;
2)十分钟的 采样 间隔,5分钟“之后”手工 采样 一次,观察下一个自动 采样 是否发生;
6.测试结果及结论
sys@ora10g> col BEGIN_INTERVAL_TIME for a30
sys@ora10g> col END_INTERVAL_TIME for a30
sys@ora10g> select SNAP_ID,BEGIN_INTERVAL_TIME,END_INTERVAL_TIME from dba_hist_snapshot order by 3;
SNAP_ID BEGIN_INTERVAL_TIME END_INTERVAL_TIME
------- ------------------------- -------------------------
……省略其他输出数据……
31 01-MAY-11 22.30.20.211 PM 01-MAY-11 22.31.32.154 PM --手动采样
32 01-MAY-11 22.31.32.154 PM 01-MAY-11 22.40.20.361 PM --自动采样发生
33 01-MAY-11 22.40.20.361 PM 01-MAY-11 22.48.28.451 PM --手动采样
34 01-MAY-11 22.48.28.451 PM 01-MAY-11 23.00.20.617 PM --跳过“22.50”
35 01-MAY-11 23.00.20.617 PM 01-MAY-11 23.01.55.948 PM --自动采样发生
注意:在“22.50”分的自动采样没有如期完成。这便是这个有趣的现象。
测试推测结论:在自动 采样 周期的前半周期如果出现手动 采样 将不会影响自动 采样 的发生;但是,如果是在自动 采样 周期的后半周期内完成的手动 采样 ,紧跟其后的自动 采样 将不会发生。
7.小结
建议对上述现象进行多次测试,以便保证结论的可信性。
由于AWR默认情况下的自动 采样 周期是1小时,因此如果前半小时出现手动 采样 对整点的自动 采样 没有影响;在后半小时出现手动 采样 ,下一次整点的自动 采样 将被取消。
Good luck.
secooler
11.05.01
-- The End --
1.获取AWR默认采样间隔时间
参考文章《【AWR】调整AWR数据采样时间间隔及历史快照保留时间》(http://space.itpub.net/519536/viewspace-668410)。
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
---------- -------------------- -------------------- ----------
4067278754 +00000 01:00:00.0 +00007 00:00:00.0 DEFAULT
AWR默认的采样时间间隔是1小时。
2.调整自动采样时间间隔
将自动 采样 的时间间隔设置为最小值(最小值是10分钟自动 采样 一次)。
BEGIN
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
interval => 10,
retention => 2*24*60);
END;
/
3.确认自动采样时间间隔调整成功
sys@ora10g> select * from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- -------------------- -------------------- ----------
4068874419 +00000 00:10:00.0 +00002 00:00:00.0 DEFAULT
未来将会在10分钟的整数倍处触发AWR的自动 采样 。
4.手工完成采样的命令
sys@ora10g> exec dbms_workload_repository.create_snapshot;
PL/SQL procedure successfully completed.
5.测试场景设计
1)十分钟的采样间隔,5分钟“之前”手工 采样 一次,观察下一个自动 采样 是否发生;
2)十分钟的 采样 间隔,5分钟“之后”手工 采样 一次,观察下一个自动 采样 是否发生;
6.测试结果及结论
sys@ora10g> col BEGIN_INTERVAL_TIME for a30
sys@ora10g> col END_INTERVAL_TIME for a30
sys@ora10g> select SNAP_ID,BEGIN_INTERVAL_TIME,END_INTERVAL_TIME from dba_hist_snapshot order by 3;
SNAP_ID BEGIN_INTERVAL_TIME END_INTERVAL_TIME
------- ------------------------- -------------------------
……省略其他输出数据……
31 01-MAY-11 22.30.20.211 PM 01-MAY-11 22.31.32.154 PM --手动采样
32 01-MAY-11 22.31.32.154 PM 01-MAY-11 22.40.20.361 PM --自动采样发生
33 01-MAY-11 22.40.20.361 PM 01-MAY-11 22.48.28.451 PM --手动采样
34 01-MAY-11 22.48.28.451 PM 01-MAY-11 23.00.20.617 PM --跳过“22.50”
35 01-MAY-11 23.00.20.617 PM 01-MAY-11 23.01.55.948 PM --自动采样发生
注意:在“22.50”分的自动采样没有如期完成。这便是这个有趣的现象。
测试推测结论:在自动 采样 周期的前半周期如果出现手动 采样 将不会影响自动 采样 的发生;但是,如果是在自动 采样 周期的后半周期内完成的手动 采样 ,紧跟其后的自动 采样 将不会发生。
7.小结
建议对上述现象进行多次测试,以便保证结论的可信性。
由于AWR默认情况下的自动 采样 周期是1小时,因此如果前半小时出现手动 采样 对整点的自动 采样 没有影响;在后半小时出现手动 采样 ,下一次整点的自动 采样 将被取消。
Good luck.
secooler
11.05.01
-- The End --
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/519536/viewspace-694232/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/519536/viewspace-694232/