ограничение по времени планировщика заданий базы данных

#oracle #plsql #oracle11g #dbms-scheduler

#Oracle #plsql #oracle11g #СУБД-планировщик

Вопрос:

у меня есть много заданий по расписанию, некоторые из которых работают через 15 минут, некоторые — через 1 час, а некоторые — через 5 секунд, как я могу управлять ими с 6:am до 7:pm. все выполняется в свое время, но с 6: 00 до 7:00. я очень жду вашего любезного ответа. exp

 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;
  

Комментарии:

1. Это процедура UPDATE_UPLOADREQUESTSTATS_JOB, которая вызывает другие процедуры, или вы запланировали все другие процедуры по-другому с помощью Oracle scheduler?

2. это просто имя задания, которое мы можем сохранить ABC, в job_action «CON_UPDATE_UPLOADREQUEST_STATS» это фактическая процедура, вызывающая задание

3. вы можете использовать цепочку заданий планировщика Oracle, чтобы запланировать параллельный запуск заданий или выполнение в зависимости от некоторых условий, пожалуйста, проверьте эту ссылку для получения дополнительной информации, у них есть хорошая example.pmdba.wordpress.com/2020/06/16 /…

Ответ №1:

Я нашел свой лучший способ справиться с этой ситуацией.Если вы хотите выполнять эту процедуру через каждые 3 минуты с 6:00 утра до 7:00 вечера, мы можем использовать, как

     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;