Oracle Resource Manager和調度任務
oracle的自動維護任務帶來了自動化性能維護的好處,也同時帶來了資源開銷,合理正確的使用才能發揮作用,同時應注意它的啟動時間,錯峰進行。
1、oracle有三種預定義的自動維護任務,在創建數據庫的時候,有一個選項,默認是開啟的。
■ Automatic Optimizer Statistics Collection
■ Automatic Segment Advisor
■ Automatic SQL Tuning Advisor(oracle 11g)
屬於維護窗口組:MAINTENANCE_WINDOW_GROUP
跟蹤job運行情況:
視圖:DBA_AUTOTASK_HISTORY
select client_name,job_name,job_start_time from dba_autotask_job_history;
維護窗口調度一般是在周一到周五的晚上22:00啟動,運行4個小時,周六、日06:00啟動,執行20個小時,表的統計信息、優化建議等都會收集。該維護任務是比較耗資源的,根據業務高峰時段,需要作出調整,甚至停用,而改為自定義執行統計信息等。
維護窗口是以scheduler job啟動的,它依賴scheduler的時間策略配置,這次在客戶環境上就遇到由於scheduler的時區問題,導致窗口在白天運行了,占用了大量IO資源,白天也是客戶的業務高峰時段。
2、客戶案例
awr報告:

resmgr:cpu quantum等待事件出現,是resource manager有關的等待事件,resource manager運行時,會控製cpu的資源使用,其他session會進入申請資源等待中。查看alert日誌,該時段確實運行了該窗口
Sat Aug 19 13:00:00 2017
Setting Resource Manager plan SCHEDULER[0x32DD]:DEFAULT_MAINTENANCE_PLAN via scheduler window
Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter
Sat Aug 19 13:00:00 2017
Starting background process VKRM
Sat Aug 19 13:00:00 2017
VKRM started with pid=191, OS id=2988
Sat Aug 19 13:00:02 2017
Begin automatic SQL Tuning Advisor run for special tuning task "SYS_AUTO_SQL_TUNING_TASK"
Sat Aug 19 13:04:13 2017
Thread 1 advanced to log sequence 1136629 (LGWR switch)
客戶反饋說數據庫使用統一的模板創建,其他庫正常,有2個庫該資源運行不正常,時間配置是一樣的,於是進行檢查。
select WINDOW_NAME,RESOURCE_PLAN,START_DATE,END_DATE,NEXT_START_DATE ,ACTIVE from DBA_SCHEDULER_WINDOWS;
客戶問題環境:

我的正常環境:

發現調度窗口的時間雖然正確,但是後麵的時區不正確,問題環境的窗口使用的是PST8PDT(美國的太平洋標準時間,西8區),而我的正常環境是RPC(中國時區)。
查看數據庫的時區
問題庫:

正常的測試庫:

我的測試庫:

和問題庫一樣的,但是我的scheduler運行就沒有問題,應該問題還是出在scheduler調度時間使用了不正確的時區。
檢查scheduler的時區配置:
問題庫:

我的測試庫:

問題就出在這裏,修改scheduler配置的時區:
begin
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE ('default_timezone','PRC');
end;
/
調整window的調度
BEGIN
dbms_scheduler.disable( --這裏要先disable,再修改啟用才會生效
name => 'MONDAY_WINDOW');
dbms_scheduler.set_attribute(
name => 'MONDAY_WINDOW',
attribute => 'REPEAT_INTERVAL',
value => 'freq=daily;byday=MON;byhour=22;byminute=0; bysecond=0');
dbms_scheduler.enable(
name => 'MONDAY_WINDOW');
END;
/
第二天確認任務已經在正確的時間調度了,等待事件也消失了。
最後更新:2017-09-01 11:33:26