Цикл заданий в планировщике Oracle - PullRequest
0 голосов
/ 30 августа 2018

В oracle 11g, если у меня есть задание A, можно ли запланировать его таким образом, чтобы задание многократно выполнялось с 10 до 11 утра каждый день.

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Вы можете сделать следующее, ниже будет выполняться с 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;
/

"оно должно выполняться как можно больше времени"

Имейте в виду, что работа, которую вы выполняете в течение одного часа, не должна быть чрезмерной

0 голосов
/ 30 августа 2018

Да, это может быть запланировано.

Очередь заданий Oracle

Очередь заданий Oracle позволяет планировать и выполнять подпрограммы (задания) PL / SQL в заранее определенное время и / или повторное выполнение заданий через регулярные промежутки времени. Oracle предоставляет встроенный пакет DBMS_JOB для планирования заданий. Пакет DBMS_JOB на самом деле представляет собой API в подсистеме Oracle, известной как очередь заданий. Пакет DBMS_JOB создается при установке базы данных Oracle.

Вы можете получить подробную информацию о: https://www.developer.com/db/article.php/3713896/Scheduling-Jobs-in-the-Database.htm

...