日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle12 快照保存时间,【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 --

總結

以上是生活随笔為你收集整理的oracle12 快照保存时间,【AWR】调整AWR数据采样时间间隔及历史快照保留时间的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。