Невозможно запустить завершенное задание DBMS_SCHEDULER
, удалив END_DATE
Всем привет! Я использую oracle 12cR1, теперь у меня проблема с DBMS_SCHEDULER
заданиями.
Во-первых, я создал повторяющиеся задания оракула DBMS_SCHEDULER
с установленным END_DATE
, после набора END_DATE
задание завершилось успешно, а включенное состояние задания автоматически изменилось на отключенное. Согласно журналу выполнения задания, Операция была COMPLETED
, а Дополнительная информация - REASON="End time reached"
Это было ожидаемо.
Затем я хотел снова запустить задание, я удалил поле END_DATE
с помощью
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE('JOB_XXX', 'END_DATE', '');
и установите задание, позволяющее
SYS.DBMS_SCHEDULER.ENABLE(name => 'JOB_XXX');
Я вижу, что задание было снова включено, а END_DATE пусто. Но задание запустилось снова только один раз и остановилось, журнал выполнения был COMPLETED
, а дополнительная информация снова была REASON="End time reached"
.
BEGIN
sys.dbms_scheduler.CREATE_JOB(
JOB_NAME => 'JOB_3358',
job_type => 'STORED_PROCEDURE',
JOB_ACTION => 'TEST_JOB',
START_DATE => to_date('2019-05-05 13:35:00','yyyy-mm-dd hh24:mi:ss'),
REPEAT_INTERVAL => 'FREQ= SECONDLY;INTERVAL=30',
END_DATE => to_date('2019-05-05 13:38:00','yyyy-mm-dd hh24:mi:ss'),
auto_drop => FALSE,
COMMENTS => NULL);
END;
/
begin
sys.dbms_scheduler.enable(name => 'JOB_3358');
end;
/
Я ожидал, что задание снова будет выполняться в соответствии с REPEAT_INTERVAL
, а поскольку end_date
было пустым, оно никогда не должно было останавливаться.
Есть ли ошибка в удалении END_DATE
, или это ошибка оракула?
Заранее спасибо и с наилучшими пожеланиями!
DBMS_SCHEDULER.set_attribute_null (name=>'JOB_3358', attribute=>'end_date')
- person Lukasz Szozda   schedule 11.05.2019