Когда этот код выполняется в SQL Developer с Oracle 11g, я получаю ошибку,Объяснить «ORA-01870: интервалы или DateTimes не являются взаимно сопоставимыми»
begin
dbms_scheduler.create_job(
job_name => 'comuni_34',
job_type => 'plsql_block',
job_action => 'begin com_auth_api.expire_old_passwords; end;',
start_date => to_date('2009-jan-01 01:15:00', 'yyyy-mon-dd hh24:mi:ss'),
repeat_interval => 'freq=daily',
enabled => true,
comments => 'Expire old passwords'
);
end;
Это ошибка,
Error starting at line 4 in command:
begin
dbms_scheduler.create_job(
job_name => 'comuni_34',
job_type => 'plsql_block',
job_action => 'begin com_auth_api.expire_old_passwords; end;',
start_date => to_date('2009-jan-01 01:15:00', 'yyyy-mon-dd hh24:mi:ss'),
repeat_interval => 'freq=daily',
enabled => true,
comments => 'Expire old passwords'
);
end;
Error report:
ORA-01870: the intervals or datetimes are not mutually comparable
ORA-06512: at "SYS.DBMS_ISCHED", line 99
ORA-06512: at "SYS.DBMS_SCHEDULER", line 268
ORA-06512: at line 2
01870. 00000 - "the intervals or datetimes are not mutually comparable"
*Cause: The intervals or datetimes are not mutually comparable.
*Action: Specify a pair of intervals or datetimes that are mutually
comparable.
Поиск в Google не помог, так как он просто перечислял множество бесполезных сайтов кода ошибок Oracle.
Возможно, источник для SYS.DBMS_ISCHED/SYS.DBMS_SCHEDULER может объяснить это.
Обновление: Другое задание, использующее «2010-apr-20 01:15:00» вместо «2009-jan-01 01:15:00», просто работало, возможно, проблема заключается в том, что даты, прошлое не обрабатывается правильно.
Обновление: использование '2009-apr-01 01:15:00' вместо '2009-jan-01 01:15:00' только что сработало. Однако «2009-март-01 01:15:00» не работал, поэтому существует ограничение на то, как можно начать работу. Поскольку я решил свою проблему, я не могу принять ответ, который является повторением моего решения, но если кто-то захочет объяснить это дальше, я подумаю об этом.
альтернативно, вы можете публиковать свои обновления в качестве ответа и принять это. В документации не указывается нижняя граница для START_DATE, и ваши объяснения кажутся достаточно разумными. – APC