首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle 自動任務管理:啟用/關閉 SQL Tuning Advisor 等維護窗口任務

     編輯:Oracle 教學

Oracle 自動任務管理:啟用/關閉 SQL Tuning Advisor 等維護窗口任務

Oracle 11g/12c 預設啟用自動維護任務 (Auto Optimizer Stats Collection, Auto Space Advisor, SQL Tuning Advisor) 在維護窗口 (預設每天深夜、週末) 執行。本文提供啟用/停用特定任務的標準 PL/SQL 呼叫與查詢驗證語句。

一、啟用特定維護任務 (範例:SQL Tuning Advisor 在 MONDAY_WINDOW)

BEGIN
  DBMS_AUTO_TASK_ADMIN.DISABLE(
    CLIENT_NAME => 'sql tuning advisor',
    OPERATION   => NULL,
    WINDOW_NAME => 'MONDAY_WINDOW');
END;
/
-- 全局停用 (所有窗口)
BEGIN
  DBMS_AUTO_TASK_ADMIN.DISABLE(
    CLIENT_NAME => 'auto optimizer stats collection',
    OPERATION   => NULL,
    WINDOW_NAME => NULL);
END;
/
BEGIN
  DBMS_AUTO_TASK_ADMIN.DISABLE(
    CLIENT_NAME => 'auto space advisor',
    OPERATION   => NULL,
    WINDOW_NAME => NULL);
END;
/
BEGIN
  DBMS_AUTO_TASK_ADMIN.DISABLE(
    CLIENT_NAME => 'sql tuning advisor',
    OPERATION   => NULL,
    WINDOW_NAME => NULL);
END;
/

三、查詢任務狀態與窗口排程

  窗口名稱觸發時間 (預設)持續時間
  MONDAY_WINDOW ~ FRIDAY_WINDOW週一至週五 22:004 小時
  SATURDAY_WINDOW, SUNDAY_WINDOW週六、週日 06:0020 小時
  WEEKEND_WINDOW週六 00:0048 小時 (涵蓋雙日)


五、最佳實踐:生產環境自動任務策略

  1. 統計收集:保持啟用,但調整 REPEAT_INTERVAL 避開業務高峰 (如改為凌晨 03:00)。
  2. SQL Tuning Advisor:若無 SQL Profile 自動實施需求,建議停用或改為人工觸發,避免佔用資源。
  3. Space Advisor:保持啟用,定期收縮段空間、回收碎片。
  4. 資源計劃:確認維護窗口關聯的 RESOURCE_PLAN (預設 DEFAULT_MAINTENANCE_PLAN) 限制 CPU/IO,避免影響線上業務。

查詢當前資源計劃: SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME = 'resource_manager_plan';
查看窗口關聯資源計劃: SELECT WINDOW_NAME, RESOURCE_PLAN FROM DBA_SCHEDULER_WINDOWS WHERE RESOURCE_PLAN IS NOT NULL;

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved