在 Oracle 中创建调度程序作业时出错

Error creating Scheduler Job in Oracle

我有一个包含多个模式的 Oracle BBDD。

我正在尝试创建一个计划程序作业以从 table 中删除数据,并且我有一个脚本可以在一个模式下正常工作但在其他两个模式下失败。三个模式的脚本相同。

架构 1:工作正常。

架构 2 和 3:

Error ORA-27465: Invalid value
FREQ=DAILY;BYHOUR=00;BYMINUTE=15;BYSECOND=0 for the attribute REPEAT_INTERVAL.

您确定重复间隔完全相同吗?

您可以使用函数 EVALUATE_CALENDAR_STRING:

来验证语法
DECLARE
    next_run_date TIMESTAMP;
BEGIN
    FOR i IN 1..10 LOOP
        DBMS_SCHEDULER.EVALUATE_CALENDAR_STRING('FREQ=DAILY;BYHOUR=00;BYMINUTE=15;BYSECOND=0', NULL, next_run_date, next_run_date);
        DBMS_OUTPUT.PUT_LINE ( next_run_date );
    END LOOP;
END;


2016-10-08 00:15:00.239127
2016-10-09 00:15:00.239127
2016-10-10 00:15:00.239127
2016-10-11 00:15:00.239127
2016-10-12 00:15:00.239127
2016-10-13 00:15:00.239127
2016-10-14 00:15:00.239127
2016-10-15 00:15:00.239127
2016-10-16 00:15:00.239127
2016-10-17 00:15:00.239127

这是一个奇怪的 Oracle Bug。如果我尝试在一次调用中生成具有所有属性的作业,则会发生此错误。如果我先生成作业,然后设置间隔,就不会出现错误。