溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么理解ORACLE 11G維護(hù)窗口和自動維護(hù)任務(wù)

發(fā)布時間:2021-11-11 15:30:20 來源:億速云 閱讀:363 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要講解了“怎么理解ORACLE 11G維護(hù)窗口和自動維護(hù)任務(wù)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么理解ORACLE 11G維護(hù)窗口和自動維護(hù)任務(wù)”吧!

維護(hù)窗口是一個連續(xù)的時間間隔,用于管理自動維護(hù)任務(wù),所謂自動維護(hù)窗口是按照預(yù)定義一個時間段,比如晚上22:10~04:00就可以稱為一個窗口。自動維護(hù)任務(wù)是一種按規(guī)則自動啟動的數(shù)據(jù)庫維護(hù)操作任務(wù)。自動維護(hù)任務(wù)在維護(hù)窗口打開時自動運行。(就例如鬧鐘響了,該起床了,時間到了,任務(wù)自動執(zhí)行,)

在Oracle Database 11g中,自動維護(hù)任務(wù)功能依賴于在維護(hù)窗口期間啟用的資源管理器。因此,窗口打開時,會自動啟用與窗口關(guān)聯(lián)的資源計劃,其目標(biāo)是防止維護(hù)工作消耗過多的系統(tǒng)資源。每個維護(hù)窗口都與一個資源計劃關(guān)聯(lián);該計劃指定了窗口持續(xù)期間的資源分配方式。

oracle11g數(shù)據(jù)庫有三種預(yù)定義的自動維護(hù)任務(wù):

■ Automatic Optimizer Statistics Collection:

■ Automatic Segment Advisor     

■ Automatic SQL Tuning Advisor(這個是oracle 11g新添加的自動維護(hù)任務(wù))

缺省情況下,這三個任務(wù)配置為在所有維護(hù)窗口運行。

維護(hù)窗口:維護(hù)窗口是oracle 調(diào)度窗口,屬于窗口組MAINTENANCE_WINDOW_GROUP。

 控制自動維護(hù)任務(wù)

“自動維護(hù)任務(wù)”功能可以確定任務(wù)的執(zhí)行時間和順序。DBA 可以控制以下項目:

? 在維護(hù)窗口最終不足以承受維護(hù)工作量時,調(diào)整維護(hù)窗口的持續(xù)時間和開始時間。

? 控制在每個窗口期間將資源分配給自動維護(hù)任務(wù)的資源計劃。

? 啟用或禁用部分或全部維護(hù)窗口中的單個任務(wù)。

? 在RAC 環(huán)境中,通過將維護(hù)工作映射到某項服務(wù),將維護(hù)工作轉(zhuǎn)移至一個或多個實例。對實例子集啟用服務(wù)會將維護(hù)工作轉(zhuǎn)移至這些實例。

一:配置自動維護(hù)任務(wù):

1:啟用和禁止維護(hù)任務(wù):

使用DBMS_AUTO_ADMIN pl/sql包來啟用或禁用任務(wù):

禁用任務(wù):

BEGIN

dbms_auto_task_admin.disable(

    client_name => 'sql tuning advisor',

    operation   => NULL,

    window_name => NULL);

END;

啟用任務(wù):

BEGIN

dbms_auto_task_admin.enable(

    client_name => ‘sql tuning advisor ‘,

    operation   => NULL,     

    window_name => NULL);

END;

這里client_name參數(shù)可以通過數(shù)據(jù)字典視圖DBA_AUTOTASK_CLIENT來查詢。

sys@ ORA> select client_name from dba_autotask_client;

CLIENT_NAME

------------------------------------------------------------

auto optimizer stats collection

auto space advisor

sql tuning advisor

如果想啟用或禁用所有窗口自動維護(hù)任務(wù),調(diào)用ENABLE或DISABLE過程:

EXECUTE DBMS_AUTO_TASK_ADMIN.DISABLE;
 

2:為某一個維護(hù)窗口啟用或禁用維護(hù)窗口

缺省情況下,所有維護(hù)任務(wù)在所有預(yù)定義的維護(hù)窗口都運行??梢詫δ骋粋€維護(hù)窗口啟用或禁用自動化任務(wù)。

BEGIN

dbms_auto_task_admin.disable(

client_name => 'sql tuning advisor', 

operation   => NULL, 

window_name => 'MONDAY_WINDOW');

END;

上面的例子是對維護(hù)窗口monday_window進(jìn)行禁用sql tuning advisor。
 

二:配置維護(hù)窗口:
 

可是使用DBMS_SCHEDULER 包來修改窗口屬性。

1:修改維護(hù)窗口

--先禁用維護(hù)窗口

BEGIN

dbms_scheduler.disable(

    name  => 'SATURDAY_WINDOW');

--修改維護(hù)窗口屬性:

dbms_scheduler.set_attribute(

    name      => 'SATURDAY_WINDOW',

    attribute => 'DURATION',

    value     => numtodsinterval(4, 'hour'));

--啟用維護(hù)窗口     

dbms_scheduler.enable(

    name => 'SATURDAY_WINDOW');

END;

/

對于當(dāng)前打開的窗口,你需要首先禁用,然后修改再啟用,配置立即生效,如果你不通過這三個過程來修改屬性,屬性是不會生效的,直到下一次窗口打開。

2:創(chuàng)建新窗口:

BEGIN

dbms_scheduler.create_window(

    window_name     => 'EARLY_MORNING_WINDOW',

    duration        =>  numtodsinterval(1, 'hour'),

    resource_plan   => 'DEFAULT_MAINTENANCE_PLAN',

    repeat_interval => 'FREQ=DAILY;BYHOUR=5;BYMINUTE=0;BYSECOND=0');

dbms_scheduler.add_window_group_member(

    group_name  => 'MAINTENANCE_WINDOW_GROUP',

    window_list => 'EARLY_MORNING_WINDOW');

END;

/

3:刪除窗口:

BEGIN

DBMS_SCHEDULER.REMOVE_WINDOW_GROUP_MEMBER(

    group_name  => 'MAINTENANCE_WINDOW_GROUP',

    window_list => 'EARLY_MORNING_WINDOW');

END;     

/

三:跟蹤job運行情況:

可以通過查詢視圖DBA_AUTOTASK_HISTORY追蹤job運行情況:

SQL> select client_name,job_name,job_start_time from dba_autotask_job_history;

CLIENT_NAME          JOB_NAME             JOB_START_TIME

--------------------        -------------------       ----------------------------------

auto optimizer stats ORA$AT_OS_OPT_SY_1   12-JUN-18 12.00.02.039000 PM +08:50

auto space advisor   ORA$AT_SA_SPC_SY_2   12-JUN -18 12.00.02.050000 PM +08:50

sql tuning advisor   ORA$AT_SQ_SQL_SW_3   12-JUN -18 12.00.02.015000 PM +08:50

感謝各位的閱讀,以上就是“怎么理解ORACLE 11G維護(hù)窗口和自動維護(hù)任務(wù)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么理解ORACLE 11G維護(hù)窗口和自動維護(hù)任務(wù)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI