oracle11g自動維護任務
Automatic Optimizer Statistics Collection(自動優化器統計信息收集)
收集數據庫中所有無統計信息或僅有過時統計信息的 Schema 對象的 Optimizer(優化器)統計信息。SQL query optimizer(SQL 查詢優化器)使用此任務收集的統計信息提高 SQL 執行的性能。 *
Automatic Segment Advisor(自動段指導)
識別有可用回收空間的段,並提出如何消除這些段中的碎片的建議。您也可以手動運行 Segment Advisor 獲取更多最新建議,或獲取 Automatic Segment Advisor 沒有檢查到的那些有可能做空間回收的段的建議。*
* Automatic SQL Tuning Advisor(自動 SQL 優化指導)
檢查高負載 SQL 語句的性能,並提出如何優化這些語句的建議。您可以配置此指導,自動應用建議的SQL profile。
啟用/禁用維護任務:
client_name來自:select * from DBA_AUTOTASK_CLIENT
---禁用
BEGIN dbms_auto_task_admin.disable( client_name => ‘sql tuning advisor‘, operation => NULL, window_name => NULL); END; /
---啟用
BEGIN
dbms_auto_task_admin.enable(
client_name => ‘sql tuning advisor‘,
operation => NULL,
window_name => NULL);
END;
/
要為所有窗口啟用或禁用所有自動維護任務,請在不帶參數的情況下調用ENABLE或DISABLE過程:
---禁用 EXECUTE DBMS_AUTO_TASK_ADMIN.DISABLE; ---啟用 EXECUTE DBMS_AUTO_TASK_ADMIN.DISABLE; ---結果 select * from DBA_AUTOTASK_WINDOW_CLIENTS;
禁用特定的維護窗口:
BEGIN
dbms_auto_task_admin.disable(
client_name => ‘sql tuning advisor‘,
operation => NULL,
window_name => ‘MONDAY_WINDOW‘);
END;
/
10g與11g預定義調度程序窗口的區別:
Oracle10g : WEEKNIGHT_WINDOW and WEEKEND_WINDOW
Oracle11g : MONDAY_WINDOW .... SUNDAY_WINDOW.
為了向下兼容,WEEKNIGHT_WINDOW 和 WEEKEND_WINDOW 仍然存在。
窗口打開持續的時間在 11g 中有所更改。星期一到星期五從晚上10點到淩晨2點,星期六到星期日從上午6點到淩晨2點。
修改自動任務的運行時間開始於23點,持續時間60分鐘:
exec dbms_scheduler.disable( name => ‘MONDAY_WINDOW’, force => TRUE);
exec dbms_scheduler.set_attribute( name => ‘MONDAY_WINDOW’, attribute => ‘repeat_interval’,value => ‘freq=daily;byday=MON;byhour=23;byminute=0;bysecond=0’);
exec dbms_scheduler.set_attribute( name => ‘MONDAY_WINDOW’, attribute => ‘DURATION’,value => numtodsinterval(60,‘minute‘)));
exec dbms_scheduler.enable( name => ‘MONDAY_WINDOW’);
結果查看:select * from dba_scheduler_windows;
默認使用DEFAULT_MAINTENANCE_PLAN資源計劃:
SQL> select window_name, resource_plan from dba_scheduler_windows;
WINDOW_NAME RESOURCE_PLAN
------------------------------ ------------------------------
MONDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
TUESDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
WEDNESDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
THURSDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
FRIDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
SATURDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
SUNDAY_WINDOW DEFAULT_MAINTENANCE_PLAN
WEEKNIGHT_WINDOW
WEEKEND_WINDOW
默認資源管理
DEFAULT_MAINTENANCE_PLAN defines the following resource allocations:
Consumer Group/subplan Level 1 Level 2 Maximum Utilization Limit
ORA$AUTOTASK_SUB_PLAN - 25% 90
ORA$DIAGNOSTICS - 5% 90
OTHER_GROUPS - 70%
SYS_GROUP 75% -
在此計劃中,SYS_GROUP消費者組中的任何會話都將獲得優先權。(此組中的會話是由用戶帳戶創建的會話SYS和SYSTEM。)會話中未使用的任何資源分配SYS_GROUP隨後由屬於計劃中其他使用者組和子計劃的會話共享。在該分配中,25%用於維護任務,5%用於執行診斷操作的後臺進程,70%用於用戶會話。用於最大利用率限制ORA$AUTOTASK_SUB_PLAN和ORA$DIAGNOSTICS為90。因此,即使CPU空閑,該計劃不能被分配超過90%的CPU資源。
相關視圖:
dba_scheduler_window_groups; --維護窗口組
dba_scheduler_wingroup_members --維護窗口組對應窗口
dba_scheduler_windows --維護窗口歷史信息
DBA_AUTOTASK_CLIENT_JOB --查詢自動收集任務正在執行的job
DBA_AUTOTASK_JOB_HISTORY --查詢自動收集任務歷史執行狀態
DBA_AUTOTASK_CLIENT_HISTORY --查詢自動收集任務歷史job
參考:調度程序維護任務或 Autotasks (文檔 ID 1526120.1)
oracle11g自動維護任務