oracle 11g_排程程式維護任務或 Autotasks

renjixinchina發表於2015-12-09

Purpose

本文件提供了關於自動維護任務或 AUTOTASK 作業的更多資訊,這些作業是 11g 系統自動生成的新設定。

本文件介紹了 10g 和 11g 之間關於維護任務的一些主要差異。

Scope

本文件與 Oracle 11g 相關,目標受眾是 Oracle DBA 和支援分析人員。

Details

Introduction


Oracle 11g 資料庫有三個預定義自動維護任務:

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。
 - 11g New Feature: Health Monitor


 - New 11g Default Jobs

實施


它們在 Oracle10g 中為獨立作業,且在 DBA_SCHEDULER_JOBS.JOB_NAME 中可見。

這在 Oracle11g 中有所更改。相關檢視為 DBA_AUTOTASK_WINDOW_CLIENTS。
現在,這些作業只有當被真正執行時,才在 DBA_SCHEDULER_JOBS 中可見,且名稱為系統生成的名稱。

SQL> desc DBA_AUTOTASK_WINDOW_CLIENTS
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 WINDOW_NAME                               NOT NULL VARCHAR2(30)
 WINDOW_NEXT_TIME                                   TIMESTAMP(6) WITH TIME ZONE
 WINDOW_ACTIVE                                      VARCHAR2(5)
 AUTOTASK_STATUS                                    VARCHAR2(8)
 OPTIMIZER_STATS                                    VARCHAR2(8)
 SEGMENT_ADVISOR                                    VARCHAR2(8)
 SQL_TUNE_ADVISOR                                   VARCHAR2(8)
 HEALTH_MONITOR                                     VARCHAR2(8)

 select * from DBA_AUTOTASK_WINDOW_CLIENTS;

WINDOW_NAME
------------------------------
WINDOW_NEXT_TIME
---------------------------------------------------------------------------
WINDO AUTOTASK OPTIMIZE SEGMENT_ SQL_TUNE HEALTH_M
----- -------- -------- -------- -------- --------
MONDAY_WINDOW
08-DEC-08 10.00.00.000000 PM EUROPE/VIENNA
FALSE ENABLED ENABLED ENABLED ENABLED DISABLED

...

SUNDAY_WINDOW
07-DEC-08 06.00.00.000000 AM EUROPE/VIENNA
FALSE ENABLED ENABLED ENABLED ENABLED DISABLED
7 rows selected.


要啟用或禁用所有視窗的所有自動維護任務,在不使用任何引數的情況下呼叫 ENABLE 或 DISABLE 程式。

SQL> execute DBMS_AUTO_TASK_ADMIN.DISABLE;


要禁用特定維護任務,使用 DISABLE 程式,如下所示:

SQL> BEGIN
       dbms_auto_task_admin.disable(
       client_name => 'sql tuning advisor',
       operation => NULL,
       window_name => NULL);
     END;  
    /


要再次啟用該特定維護任務,使用 ENABLE 程式,如下所示:

SQL> BEGIN
       dbms_auto_task_admin.enable(
       client_name => 'sql tuning advisor',
       operation => NULL,
       window_name => NULL);
     END;
     /



client_name 引數使用的任務名稱列在 DBA_AUTOTASK_CLIENT 資料庫字典檢視中。

示例:
auto optimizer stats collection
auto space advisor
sql tuning advisor



另一個差異是預定義排程程式視窗:

  •   Oracle10g : WEEKNIGHT_WINDOW and WEEKEND_WINDOW
  •   Oracle11g : MONDAY_WINDOW .... SUNDAY_WINDOW. 

為了向下相容,WEEKNIGHT_WINDOW 和 WEEKEND_WINDOW 仍然存在。

視窗開啟持續的時間在 11g 中有所更改。星期一到星期五從晚上 10 點到凌晨 2 點,星期六到星期日從上午 6 點到凌晨 2 點。

您可以使用 DBMS_SCHEDULER.SET_ATTRIBUTE 程式調整預定義維護視窗時間,使其適用於您的資料庫環境。
示例:以下指令碼將 WEEKNIGHT_WINDOW 改為每個工作日從午夜至上午 8 點(視窗持續時間為 8 小時不變):
EXECUTE DBMS_SCHEDULER.SET_ATTRIBUTE(
'WEEKNIGHT_WINDOW', 
'repeat_interval',
'freq=daily;byday=MON, TUE, WED, THU, FRI;byhour=0;byminute=0;bysecond=0');

每個視窗還有一個名為 DEFAULT_MAINTENANCE_PLAN 的預定義資源計劃,一旦開啟相關視窗,該計劃將啟用。這是 10g 和 11g 之間的另一個差異。


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

9 rows selected.


SQL> select * from dba_rsrc_plans where plan='DEFAULT_MAINTENANCE_PLAN'
PLAN_ID PLAN NUM_PLAN_DIRECTIVES
---------- ------------------------------ -------------------
CPU_METHOD MGMT_METHOD
------------------------------ ------------------------------
ACTIVE_SESS_POOL_MTH PARALLEL_DEGREE_LIMIT_MTH
------------------------------ ------------------------------
QUEUEING_MTH SUB
------------------------------ ---
COMMENTS
--------------------------------------------------------------------------------
STATUS MAN
------------------------------ ---
11187 DEFAULT_MAINTENANCE_PLAN 4
EMPHASIS EMPHASIS
ACTIVE_SESS_POOL_ABSOLUTE PARALLEL_DEGREE_LIMIT_ABSOLUTE
FIFO_TIMEOUT NO
Default plan for maintenance windows that prioritizes SYS_GROUP operations and a
llocates the remaining 5% to diagnostic operations and 25% to automated maintena
nce operations.
YES


SQL> select * from DBA_RSRC_PLAN_DIRECTIVES where plan='DEFAULT_MAINTENANCE_PLAN';

PLAN GROUP_OR_SUBPLAN TYPE
------------------------------ ------------------------------ --------------
CPU_P1 CPU_P2 CPU_P3 CPU_P4 CPU_P5 CPU_P6 CPU_P7
---------- ---------- ---------- ---------- ---------- ---------- ----------
CPU_P8 MGMT_P1 MGMT_P2 MGMT_P3 MGMT_P4 MGMT_P5 MGMT_P6
---------- ---------- ---------- ---------- ---------- ---------- ----------
MGMT_P7 MGMT_P8 ACTIVE_SESS_POOL_P1 QUEUEING_P1 PARALLEL_DEGREE_LIMIT_P1
---------- ---------- ------------------- ----------- ------------------------
SWITCH_GROUP SWITC SWITCH_TIME SWITCH_IO_MEGABYTES
------------------------------ ----- ----------- -------------------
SWITCH_IO_REQS SWITC MAX_EST_EXEC_TIME UNDO_POOL MAX_IDLE_TIME
-------------- ----- ----------------- ---------- -------------
MAX_IDLE_BLOCKER_TIME SWITCH_TIME_IN_CALL
--------------------- -------------------
COMMENTS
--------------------------------------------------------------------------------
STATUS MAN
------------------------------ ---
DEFAULT_MAINTENANCE_PLAN SYS_GROUP CONSUMER_GROUP
100 0 0 0 0 0 0
0 100 0 0 0 0 0
0 0
FALSE
FALSE

Directive for system operations
NO

DEFAULT_MAINTENANCE_PLAN OTHER_GROUPS CONSUMER_GROUP
0 70 0 0 0 0 0
0 0 70 0 0 0 0
0 0
FALSE
FALSE

Directive for all other operations
NO

DEFAULT_MAINTENANCE_PLAN ORA$AUTOTASK_SUB_PLAN PLAN
0 25 0 0 0 0 0
0 0 25 0 0 0 0
0 0
FALSE
FALSE

Directive for automated maintenance tasks
NO

DEFAULT_MAINTENANCE_PLAN ORA$DIAGNOSTICS CONSUMER_GROUP
0 5 0 0 0 0 0
0 0 5 0 0 0 0
0 0
FALSE
FALSE

Directive for automated diagnostic tasks
NO

10g 與 11g 之間變化的摘要:

主題 10g 11g
作業 在 DBA_SCHEDULER_JOBS 中獨立作業 AUTOTASKS 有命名字首“ORA$AT”,且只有作業執行後才可見
維護視窗 2 個視窗:WEEKNIGHT 和 WEEKEND 每天有不同的視窗
Resource manager 預設不啟用 每個視窗都有預定義資源計劃
     


相關檢視:


DBA_AUTOTASK_CLIENT
DBA_AUTOTASK_CLIENT_HISTORY
DBA_AUTOTASK_CLIENT_JOB
DBA_AUTOTASK_JOB_HISTORY
DBA_AUTOTASK_OPERATION
DBA_AUTOTASK_SCHEDULE
DBA_AUTOTASK_TASK
DBA_AUTOTASK_WINDOW_CLIENTS
DBA_AUTOTASK_WINDOW_HISTORY

References

 - 11g New Feature: Health monitor
 - New 11g Default Jobs

 - DBA_AUTOTASK_TASK and DBA_AUTOTASK_CLIENT Shows Different Status For Auto Optimizer Stats Collection

SELECT * FROM dba_tab_stats_history 檢視錶統計時間

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

相關文章