中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Oracle的自動維護任務

發布時間:2020-07-19 14:48:42 來源:網絡 閱讀:3234 作者:hbxztc 欄目:關系型數據庫

Oracle數據庫里提供了自動維護任務,以保證Oracle數據庫可以更高效的運行。在不同的Oracle版本中,自動任務的種類和執行方式也有區別。本文以10g和11g為主來認識Oracle里的自動任務。

1、種類

10g里的自動任務有兩種:

  • AUTO_SPACE_ADVISOR_JOB,自動空間顧問JOB

  • GATHER_STATS_JOB,自動收集統計信息JOB

11g里的自動任務有三種:

  • auto optimizer stats collection,自動統計信息收集顧問

  • auto space advisor,自動空間顧問

  • sql tuning advisor,sql調優顧問

2、實現方式

10g里的自動任務是以SCHEDULER的JOB形式運行的,可以在dba_scheduler_jobs視圖里查到相關的JOB。

SQL> set linesize 200
SQL> col owner for a30
SQL> col job_name for a30
SQL> select owner,job_name from dba_scheduler_jobs where job_class='AUTO_TASKS_JOB_CLASS';

OWNER			       JOB_NAME
------------------------------ ------------------------------
SYS			       AUTO_SPACE_ADVISOR_JOB
SYS			       GATHER_STATS_JOB

11g里的自動任務使用的是11g的新特性AUTOTASK的方式實現的。可以從dba_autotask_client視圖中查到相關信息。

sys@TEST>SELECT client_name,status FROM dba_autotask_client;

CLIENT_NAME				 STATUS
---------------------------------------- ------------------------
auto optimizer stats collection 	 ENABLED
auto space advisor			 ENABLED
sql tuning advisor			 ENABLED

3、維護窗口時間

兩個版本中自動任務的執行時間是不同的。

10g中分為兩個時間段WEEKNIGHT_WINDOW和WEEKEND_WINDOW,可以從dba_scheduler_windows視圖中查到。它們分別的運行開始時間和持續時間為:

WEEKNIGHT_WINDOW,每周一至周五晚22:00:00開始,持續8小時

WEEKEND_WINDOW,第周六00:00:00,持續2天

11g中維護窗口分得更細,分為7個,即第一天個維護窗口,可以針對不同的需求做出更細粒度的調整,dba_scheduler_windows視圖中查到,分別為MONDAY_WINDOW,TUESDAY_WINDOW,WEDNESDAY_WINDOW,THURSDAY_WINDOW,FRIDAY_WINDOW,SATURDAY_WINDOW,SUNDAY_WINDOW。開始時間和持續時間分別為:

周一到周五晚22:00:00開始,持續4小時,周六和周日早6:00:00開始,執行20小時。

4、維護方式

由于10g和11g中實現方式的不同,維護方式自然就不一樣了。

10g的維護方式與普通的SCHEDULER的JOB一樣。

--停用JOB
SQL> exec dbms_scheduler.disable('AUTO_SPACE_ADVISOR_JOB');

PL/SQL procedure successfully completed.

SQL> select enabled from dba_scheduler_jobs where job_name='AUTO_SPACE_ADVISOR_JOB';

ENABLED
---------------
FALSE

--啟用JOB

SQL> exec dbms_scheduler.ENABLE('AUTO_SPACE_ADVISOR_JOB');

PL/SQL procedure successfully completed.

SQL> select enabled from dba_scheduler_jobs where job_name='AUTO_SPACE_ADVISOR_JOB';

ENABLED
---------------
TRUE

下面重點介紹11g里自動任務的維護。

1)停用和啟用自動維護任務

--停用sql tuning advisor
sys@TEST>BEGIN
  2    dbms_auto_task_admin.disable(
  3      client_name => 'sql tuning advisor',
  4      operation   => NULL,
  5      window_name => NULL);
  6  END;
  7  /
  
  PL/SQL procedure successfully completed.

sys@TEST>select client_name,status from dba_autotask_client;

CLIENT_NAME                              STATUS
---------------------------------------- ------------------------
auto optimizer stats collection          ENABLED
auto space advisor                       ENABLED
sql tuning advisor                       DISABLED

--啟用sql tuning advisor
sys@TEST>BEGIN
  2    dbms_auto_task_admin.enable(
  3      client_name => 'sql tuning advisor',
  4      operation   => NULL,
  5      window_name => NULL);
  6  END;
  7  /

PL/SQL procedure successfully completed.

sys@TEST>select client_name,status from dba_autotask_client;

CLIENT_NAME                              STATUS
---------------------------------------- ------------------------
auto optimizer stats collection          ENABLED
auto space advisor                       ENABLED
sql tuning advisor                       ENABLED

--停用所有維護窗口下的所有的自動任務
sys@TEST>exec dbms_auto_task_admin.disable;

PL/SQL procedure successfully completed.

sys@TEST>select window_name,autotask_status from dba_autotask_window_clients;

WINDOW_NAME                    AUTOTASK_STATUS
------------------------------ ------------------------
MONDAY_WINDOW                  DISABLED
TUESDAY_WINDOW                 DISABLED
WEDNESDAY_WINDOW               DISABLED
THURSDAY_WINDOW                DISABLED
FRIDAY_WINDOW                  DISABLED
SATURDAY_WINDOW                DISABLED
SUNDAY_WINDOW                  DISABLED

7 rows selected.
--啟用所有維護窗口下的所有自動任務
sys@TEST>exec dbms_auto_task_admin.enable;

PL/SQL procedure successfully completed.

sys@TEST>select window_name,autotask_status from dba_autotask_window_clients;

WINDOW_NAME                    AUTOTASK_STATUS
------------------------------ ------------------------
WEDNESDAY_WINDOW               ENABLED
FRIDAY_WINDOW                  ENABLED
SATURDAY_WINDOW                ENABLED
THURSDAY_WINDOW                ENABLED
TUESDAY_WINDOW                 ENABLED
SUNDAY_WINDOW                  ENABLED
MONDAY_WINDOW                  ENABLED

7 rows selected.
--停用針對某個維護窗口的自動任務
sys@TEST>BEGIN
  2    dbms_auto_task_admin.disable(
  3      client_name => 'sql tuning advisor', 
  4      operation   => NULL, 
  5      window_name => 'MONDAY_WINDOW');
  6  END;
  7  /

PL/SQL procedure successfully completed.

sys@TEST>select window_name,autotask_status,sql_tune_advisor from dba_autotask_window_clients;

WINDOW_NAME                    AUTOTASK_STATUS          SQL_TUNE_ADVISOR
------------------------------ ------------------------ ------------------------
MONDAY_WINDOW                  ENABLED                  DISABLED
TUESDAY_WINDOW                 ENABLED                  ENABLED
WEDNESDAY_WINDOW               ENABLED                  ENABLED
THURSDAY_WINDOW                ENABLED                  ENABLED
FRIDAY_WINDOW                  ENABLED                  ENABLED
SATURDAY_WINDOW                ENABLED                  ENABLED
SUNDAY_WINDOW                  ENABLED                  ENABLED

7 rows selected.

2、配置維護窗口

這個與10g的類似,都是使用dbms_scheduler包來操作

--修改維護窗口的屬性,把SATURDAY_WINDOW的持續時間修改為4小時
sys@TEST>BEGIN
  2    dbms_scheduler.disable(
  3      name  => 'SATURDAY_WINDOW');
  4    dbms_scheduler.set_attribute(
  5      name      => 'SATURDAY_WINDOW',
  6      attribute => 'DURATION',
  7      value     => numtodsinterval(4, 'hour'));
  8    dbms_scheduler.enable(
  9      name => 'SATURDAY_WINDOW');
 10  END;
 11  /

PL/SQL procedure successfully completed.

sys@TEST>SELECT duration FROM dba_scheduler_windows WHERE window_name='SATURDAY_WINDOW';

DURATION
---------------------------------------------------------------------------
+000 04:00:00

11g自動維護任務參考官方文檔:http://docs.oracle.com/cd/E11882_01/server.112/e25494/tasks.htm#ADMIN12344


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

麻城市| 巫溪县| 五家渠市| 鄱阳县| 周至县| 锦州市| 萍乡市| 东至县| 沁阳市| 报价| 昌都县| 遂溪县| 新沂市| 尚义县| 琼中| 平原县| 汉沽区| 珠海市| 新乐市| 重庆市| 平湖市| 聊城市| 闽清县| 辽源市| 辽宁省| 大城县| 玉田县| 仁布县| 新丰县| 镶黄旗| 汤原县| 岫岩| 英德市| 郯城县| 巴彦淖尔市| 敖汉旗| 西畴县| 平度市| 达尔| 鄂伦春自治旗| 加查县|