【AWR】測試AWR手動取樣對系統自動取樣的影響
先調整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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- AWR取樣資料存放位置
- ASH buffers 資料取樣到AWR的問題
- 示例說明動態取樣的作用,並演示動態取樣對有內在關係的多列查詢的影響
- awr 自動mailAI
- 【AWR】調整AWR資料取樣時間間隔及歷史快照保留時間
- 【AWR】自動生成AWR報告指令碼以及用法指令碼
- awr自動收集指令碼指令碼
- 移動辦公OA系統,對企業的的辦公有怎樣的影響?
- Oracle 動態取樣Oracle
- 自動生成AWR HTML報告HTML
- CBO與動態統計量取樣
- Oracle動態取樣分析Oracle
- 自動負載資訊庫:AWR的引入負載
- 基於數採儀對水質自動取樣方案的應用
- 定時自動生成awr報告
- AWR報告自動生成指令碼指令碼
- 自動生成awr報告指令碼指令碼
- 《QTP自動化測試進階》樣章QT
- ArcGIS如何自動獲得隨機取樣點?隨機
- Oracle 分析及動態取樣Oracle
- Oracle動態取樣學習Oracle
- 【sql調優】動態取樣SQL
- awr報告每天自動生成指令碼指令碼
- AWR不能自動生成快照解決方法?
- 自動化測試系統開發手記(一)
- MogDB/openGauss 壞塊測試-對啟動的影響-測試筆記1筆記
- AWR 中 top sql 的資訊獲取 - 分析SQL
- 對於沒有任何統計資訊的表,ORACLE可能會動態取樣。Oracle
- AWR 及STATSPACK的snapshot不能自動生成排查
- AWR Report 自動生成指令碼 [final]指令碼
- 使用shell自動傳送Oracle AWR報告Oracle
- 逆機率取樣-接受拒絕取樣-MCMC取樣
- 如何找出使用動態取樣的SQLSQL
- 一個自動生成awr報告的shell指令碼指令碼
- Oracle 分析及動態取樣(轉帖)Oracle
- ECU 自動化生產測試系統
- UIWebView自動快取導致頁面樣式存在問題UIWebView快取
- 自動化介面測試,怎樣判斷 Bug 是否存在