【Oracle】Oracle 11g 中的自動資料庫維護任務管理

kingsql發表於2016-04-11
對於11g版本的oracle 有三個自動維護定時任務。
1 自動最佳化器統計收集:為所有方案物件收集陳舊的或缺少的統計資料,所收集的統計資訊將被用來提高sql的執行的效能,任務名是“auto optimizer stats collection”
2 自動分段顧問:標識資料庫中的段是否有可以回收的空間,並以此資訊統計為基礎做出怎樣整理段的碎片以節約空間。你也可以手動的執行此job來獲取最新的建議資訊,或者獲取自動段advisor 不檢測的但又可以回收的段的資訊,任務名是“auto space advisor”
3 自動SQL調整顧問:自動標識並嘗試調整高負載的SQL,任務名是“sql tuning advisor”
sys@RAC> select client_name ,status from DBA_AUTOTASK_CLIENT;
CLIENT_NAME                                                      STATUS
---------------------------------------------------------------- --------
auto optimizer stats collection                                  ENABLED
auto space advisor                                               ENABLED
sql tuning advisor                                               ENABLED
管理自動維護的job
在oracle 10g中這些job被分別建立並且以DBA_SCHEDULER_JOBS.JOB_NAME的名稱出現
然而在11g中則有所改變,透過檢視DBA_AUTOTASK_WINDOW_CLIENTS可以檢視他們一週七天的執行情況,包括
時間視窗,下次執行時間,job的名稱,健康檢查
sys@RAC> select * from DBA_AUTOTASK_WINDOW_CLIENTS;
WINDOW_NAME        WINDOW_NEXT_TIME                   WINDO AUTOTASK OPTIMIZE SEGMENT_ADVISOR SQL_TUNE HEALTH_M
------------------ ---------------------------------- ----- -------- -------- --------------- -------- --------
WEDNESDAY_WINDOW   28-SEP-11 10.00.00.000000 PM PRC   FALSE DISABLED ENABLED  ENABLED         ENABLED  DISABLED
SATURDAY_WINDOW    01-OCT-11 06.00.00.000000 AM PRC   FALSE DISABLED ENABLED  ENABLED         ENABLED  DISABLED
THURSDAY_WINDOW    29-SEP-11 10.00.00.000000 PM PRC   FALSE DISABLED ENABLED  ENABLED         ENABLED  DISABLED
TUESDAY_WINDOW     27-SEP-11 10.00.00.000000 PM PRC   FALSE DISABLED ENABLED  ENABLED         ENABLED  DISABLED
SUNDAY_WINDOW      02-OCT-11 06.00.00.000000 AM PRC   FALSE DISABLED ENABLED  ENABLED         ENABLED  DISABLED
MONDAY_WINDOW      03-OCT-11 10.00.00.000000 PM PRC   FALSE DISABLED ENABLED  ENABLED         ENABLED  DISABLED
FRIDAY_WINDOW      30-SEP-11 10.00.00.000000 PM PRC   FALSE DISABLED ENABLED  ENABLED         ENABLED  DISABLED
7 rows selected.

DBMS_AUTO_TASK_ADMIN包的ENABLE和DISABLE儲存過程能夠實現關閉或者開啟的三種job(不要任何引數):
execute DBMS_AUTO_TASK_ADMIN.DISABLE;
execute DBMS_AUTO_TASK_ADMIN.ENABLE;


關閉指定的job 
BEGIN
  dbms_auto_task_admin.disable(
  client_name => 'sql tuning advisor',
  peration => NULL,
  window_name => NULL);
END;  
/
開啟指定的job:
BEGIN
  dbms_auto_task_admin.enable(
  client_name => 'sql tuning advisor',
  peration => NULL,
  window_name => NULL);
END;  
/
關閉週三sql最佳化器顧問的執行視窗
sys@RAC> BEGIN
  2         dbms_auto_task_admin.disable(
  3         client_name => 'sql tuning advisor',
  4         peration => NULL,
  5         window_name => 'MONDAY_WINDOW');
  6       END;  
  7      /
PL/SQL procedure successfully completed.
sys@RAC> select * from DBA_AUTOTASK_WINDOW_CLIENTS;

WINDOW_NAME        WINDOW_NEXT_TIME                   WINDO AUTOTASK OPTIMIZE SEGMENT_ADVISOR      SQL_TUNE HEALTH_M
------------------ ---------------------------------- ----- -------- -------- -------------------- -------- --------
WEDNESDAY_WINDOW   28-SEP-11 10.00.00.000000 PM PRC   FALSE ENABLED  ENABLED  ENABLED              ENABLED  DISABLED
SATURDAY_WINDOW    01-OCT-11 06.00.00.000000 AM PRC   FALSE ENABLED  ENABLED  ENABLED              ENABLED  DISABLED
THURSDAY_WINDOW    29-SEP-11 10.00.00.000000 PM PRC   FALSE ENABLED  ENABLED  ENABLED              ENABLED  DISABLED
TUESDAY_WINDOW     27-SEP-11 10.00.00.000000 PM PRC   FALSE ENABLED  ENABLED  ENABLED              ENABLED  DISABLED
SUNDAY_WINDOW      02-OCT-11 06.00.00.000000 AM PRC   FALSE ENABLED  ENABLED  ENABLED              ENABLED  DISABLED
MONDAY_WINDOW      03-OCT-11 10.00.00.000000 PM PRC   FALSE ENABLED  ENABLED  ENABLED              DISABLED DISABLED
FRIDAY_WINDOW      30-SEP-11 10.00.00.000000 PM PRC   FALSE ENABLED  ENABLED  ENABLED              ENABLED  DISABLED
7 rows selected.
關閉星期天的自動段顧問job的時間視窗:
sys@RAC> BEGIN
  2         dbms_auto_task_admin.disable(
  3         client_name => 'auto space advisor',
  4         peration => NULL,
  5         window_name => 'SUNDAY_WINDOW');
  6       END;  
  7      /
PL/SQL procedure successfully completed.

sys@RAC> select * from DBA_AUTOTASK_WINDOW_CLIENTS;

WINDOW_NAME        WINDOW_NEXT_TIME                   WINDO AUTOTASK OPTIMIZE SEGMENT_ADVISOR      SQL_TUNE HEALTH_M
------------------ ---------------------------------- ----- -------- -------- -------------------- -------- --------
WEDNESDAY_WINDOW   28-SEP-11 10.00.00.000000 PM PRC   FALSE ENABLED  ENABLED  ENABLED              ENABLED  DISABLED
SATURDAY_WINDOW    01-OCT-11 06.00.00.000000 AM PRC   FALSE ENABLED  ENABLED  ENABLED              ENABLED  DISABLED
THURSDAY_WINDOW    29-SEP-11 10.00.00.000000 PM PRC   FALSE ENABLED  ENABLED  ENABLED              ENABLED  DISABLED
TUESDAY_WINDOW     27-SEP-11 10.00.00.000000 PM PRC   FALSE ENABLED  ENABLED  ENABLED              ENABLED  DISABLED
SUNDAY_WINDOW      02-OCT-11 06.00.00.000000 AM PRC   FALSE ENABLED  ENABLED  DISABLED             ENABLED  DISABLED
MONDAY_WINDOW      03-OCT-11 10.00.00.000000 PM PRC   FALSE ENABLED  ENABLED  ENABLED              DISABLED DISABLED
FRIDAY_WINDOW      30-SEP-11 10.00.00.000000 PM PRC   FALSE ENABLED  ENABLED  ENABLED              ENABLED  DISABLED

7 rows selected.
更詳細的資訊請看:
http://download.oracle.com/docs/cd/E11882_01/appdev.112/e23448/d_autotaskadm.htm#ARPLS032
sys@RAC> 
10g 和 11g 中的對比資訊 :
Subject                   10g                         11g
Jobs              以不同的job顯示在           自動維護程式有一個'ORA$AT'字首並且
                  DBA_SCHEDULER_JOBS中        一旦執行,則只是顯示一個job而非多個!
Maintenance      10g有兩個維護視窗
Window           WEEKNIGHT and WEEKEND        每天有自己的時間視窗
Resource   預設不啟用                        為每週的視窗預定義資源計劃
manager

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28389881/viewspace-2078804/,如需轉載,請註明出處,否則將追究法律責任。

相關文章