【问题标题】:data base job scheduler time limit数据库作业调度程序时间限制
【发布时间】:2021-02-18 05:19:40
【问题描述】:

我有很多计划工作,有些在 15 分钟后工作,有些在 1 小时后,有些在 5 秒后,我如何在早上 6 点到晚上 7 点之间管理它们。 都在自己的时间执行,但在早上 6 点到晚上 7 点之间。 我非常期待您的友好回应。 经验

BEGIN
  DBMS_SCHEDULER.CREATE_JOB (
   job_name           =>  'UPDATE_UPLOADREQUESTSTATS_JOB',
   job_type           =>  'STORED_PROCEDURE',
   job_action         =>  'CON_UPDATE_UPLOADREQUEST_STATS',
   start_date         =>  '30-OCT-18 12.10.00 PM Asia/Riyadh',
   repeat_interval    =>  'FREQ=SECONDLY; INTERVAL=6', 
   end_date           =>  '31-DEC-25 07.00.00 PM Asia/Riyadh',
   auto_drop          =>   FALSE,
   enabled             =>   TRUE,
   comments           =>  'TEVS JOB');
END;

【问题讨论】:

  • 这是调用其他程序的程序 UPDATE_UPLOADREQUESTSTATS_JOB 还是您使用 Oracle 调度程序以不同方式调度了所有其他程序?
  • 它只是我们可以保留ABC的作业名称,在job_action“CON_UPDATE_UPLOADREQUEST_STATS”中这是作业调用的实际过程
  • 您可以使用 Oracle Scheduler Job Chain,调度作业并行运行或根据某些条件执行,请查看此链接以获取更多信息,他们有一个很好的例子。@987654321 @

标签: oracle plsql oracle11g dbms-scheduler


【解决方案1】:

我找到了处理这种情况的最佳方法。如果您想在早上 6:00 到晚上 7:00 之间每 3 分钟执行一次此过程,我们可以使用 like

    BEGIN
      DBMS_SCHEDULER.CREATE_JOB (
       job_name           =>  'UPDATE_UPLOADREQUESTSTATS_JOB',
       job_type           =>  'STORED_PROCEDURE',
       job_action         =>  'CON_UPDATE_UPLOADREQUEST_STATS',
       start_date         =>  'TRUNC(SYSDATE)',
       repeat_interval    => 'FREQ=DAILY;BYHOUR=6,7,8,9,10,11,12,13,14,15,16,17,18,19;BYMINUTE=3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57', 
       end_date           =>  '31-DEC-25 07.00.00 PM Asia/Riyadh',
       auto_drop          =>   FALSE,
       enabled             =>   TRUE,
       comments           =>  'TEVS JOB');
    END;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多