Интервал планировщика Oracle

У меня вопрос по работе с Oracle.

Если у меня есть задание, которое должно выполняться каждые 5 с, но если по какой-либо причине есть задание, которое длится 6 с. Каковы будут последствия?

например:

BEGIN
DBMS_SCHEDULER.CREATE_JOB (
   job_name             => 'oe.my_job1',
   job_type             => 'PLSQL_BLOCK',
   job_action           => 'BEGIN DBMS_STATS.GATHER_TABLE_STATS(''oe'',
                            ''sales''); END;',
   start_date           => '15-JUL-08 1.00.00AM US/Pacific',
   repeat_interval      => 'FREQ=SECONDLY;INTERVAL=5', 
   end_date             => '15-SEP-08 1.00.00AM US/Pacific',
   enabled              =>  TRUE,
   comments             => 'Gather table statistics');
END;
/

i) 2 задания выполняются одновременно ???

ii) очередь заданий FIFO ??

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


person en Lopes    schedule 09.09.2017    source источник


Ответы (1)


из документации: https://docs.oracle.com/cd/B28359_01/server.111/b28310/scheduse004.htm#ADMIN10040

Сразу же после запуска задания вычисляется параметр repeat_interval, чтобы определить следующее запланированное время выполнения задания. Возможно, следующее запланированное время выполнения наступит, когда задание все еще выполняется. Однако новый экземпляр задания не будет запущен, пока не завершится текущий.

person Nunyet de Can Calçada    schedule 09.09.2017