Oracle调度程序中的作业循环

问题描述 投票:1回答:2

在oracle 11g中,如果我有一份工作A,是否可以按照这样的方式安排工作,即每天上午10点到11点重复执行工作。

oracle oracle11g jobs job-scheduling dbms-scheduler
2个回答
0
投票

你可以这样做,下面将从上午10点开始执行。到上午11点每10分钟重复一次(根据您的要求改变频率)

BEGIN
   DBMS_SCHEDULER.create_job (
      job_name          => 'JOB_NAME',
      job_type          => 'PLSQL_BLOCK',
      job_action        => 'BEGIN your_procedure_name; END;',
      start_date        => SYSDATE,
      repeat_interval   => 'FREQ=DAILY; BYHOUR=10,11; BYMINUTE=0,10;',
      enabled           => TRUE,
      auto_drop         => FALSE);
END;
/

“它应该尽可能多地执行”

请记住,在一小时内尽可能多地执行的工作不应该是矫枉过正


1
投票

是的,它可以安排。

Oracle Job Queue

Oracle作业队列允许在预定义的时间安排和执行PL / SQL例程(作业)和/或定期重复执行作业。 Oracle提供了一个内置的包DBMS_JOB来安排作业。 DBMS_JOB包实际上是一个称为作业队列的Oracle子系统的API。安装Oracle数据库时会创建DBMS_JOB包。

您可以获得有关的详细信息:https://www.developer.com/db/article.php/3713896/Scheduling-Jobs-in-the-Database.htm

© www.soinside.com 2019 - 2024. All rights reserved.