【问题标题】:scheduler job in oracle [closed]oracle中的调度程序作业[关闭]
【发布时间】:2017-10-20 16:36:43
【问题描述】:

我想使用以下属性创建 oracle dbms 调度程序作业:

FREQ=MINUTELY INTERVAL=10 BYDAY=MON TUE WED THU FRI 
BYHOUR=7,8,9,10,11,12,13,14,15,16,17,18

但是,除此之外,我希望在下午 14 点到 16 点期间,同样的工作每 5 分钟工作一次,并且在下午 14 点之前和下午 16 点之后工作 10 分钟。

【问题讨论】:

标签: oracle scheduler jobs


【解决方案1】:

最好的方法是创建时间表:

BEGIN
 DBMS_SCHEDULER.CREATE_SCHEDULE (
  schedule_name     => 'my_first_schedule',
  start_date        => SYSTIMESTAMP,
  repeat_interval   => 'FREQ=MINUTELY;INTERVAL=5;BYHOUR=14,15,16;BYDAY=MON,TUE,WED,THU,FRI',
  comments          => 'Every 10 minutes from 2pm to 4pm');
END;
/

BEGIN
 DBMS_SCHEDULER.CREATE_SCHEDULE (
  schedule_name     => 'my_second_schedule',
  start_date        => SYSTIMESTAMP,
  repeat_interval   => 'FREQ=MINUTELY;INTERVAL=10;BYHOUR=7,8,9,10,11,12,13,17,18;BYDAY=MON,TUE,WED,THU,FRI',
  comments          => 'Every 5 minutes from 7am to 2pm and from 5pm to 6pm');
END;
/

BEGIN
  DBMS_SCHEDULER.CREATE_JOB(
     JOB_NAME           =>  'JOB',
     JOB_TYPE           =>  'STORED_PROCEDURE',
     JOB_ACTION         =>  'SCHED_TEST_JOB_PROCEDURE',
     START_DATE         =>  SYSTIMESTAMP,
     REPEAT_INTERVAL    =>  'FREQ=my_first_schedule,my_second_schedule;',
     AUTO_DROP          =>  FALSE,
     ENABLED            =>  TRUE);
END;
/

【讨论】:

  • 我为什么要使用第三份工作?
  • 有 2 个计划和 1 个作业。该作业使用 2 个时间表
  • 这第三份工作是否有必要..?
  • 只有 1 个作业,前 2 个是计划。您需要创建计划,然后在创建作业时使用它们
  • 这绝对是个好方法,我不知道
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-17
  • 2017-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多