程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle調度程序作業dbms_scheduler

Oracle調度程序作業dbms_scheduler

編輯:關於Oracle數據庫

  整理scheduler這一部分,源於最近發現系統上自動采集統計信息的執行時間有些異常,執行時間被定義到了上午(這並不是一個很合理可靠的時間).在重新修改配置的同時,也順便整理了這一塊內容.

  首先簡單講一下oracle 10g scheduler,10g引入dbms_scheduler來替代先前的dbms_job,在功能方面,它比dbms_job提供了更強大的功能和更靈活的機制/管理.它主要由以下幾大塊構成:

  1.作業(job):

  一個調度程序作業的實體.可以由dbms_scheduler.create_job創建生成.它可以自行指定作業屬性,也可以調用我們預先創建的一系列scheduler/ program/ chain/ job_class/ window/ window_group來匹配其作業屬性.

  2.調度(scheduler):

  一個任務計劃執行的時間策略.比如我們想要創建一個晚上3點執行的任務計劃,就可以創建一個調度,凡是符合這個調度要求的,都可以調用這個我們預先創建好的調度.可以用dbms_scheduler.create_schedule來創建一個調度.

  比如我創建一個名字叫MYTEST_SCHEDULE的調度,每天4:00執行.

  Begin
  dbms_scheduler.create_schedule(
  repeat_interval=>'FREQ=DAILY;BYHOUR=4;BYMINUTE=0;BYSECOND=0',
  start_date=>systimestampattimezone'PRC',
  comments=>'---thisismytestschedule---',
  schedule_name=>'MYTEST_SCHEDULE');
  end;

  3.程序(program):

  10g下的program支持分為3種形式,PL/SQL BLOCK/STORED PROCEDURE/EXECUTABLE.可以使用DBMS_SCHEDULER.CREATE_PROGRAM來創建一個program.

  BEGIN
  DBMS_SCHEDULER.CREATE_PROGRAM(
  program_name=>'mytest_program_1',
  program_action=>'updatemytestsetid=id+1;',
  program_type=>'PLSQL_BLOCK',
  number_of_arguments=>0,
  comments=>'',
  enabled=>TRUE);
  END;

  • 首頁
  • 上一頁
  • 1
  • 2
  • 3
  • 4
  • 下一頁
  • 尾頁
  • 共4頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved