在 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。如果我尝试在一次调用中生成具有所有属性的作业,则会发生此错误。如果我先生成作业,然后设置间隔,就不会出现错误。
我有一个包含多个模式的 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。如果我尝试在一次调用中生成具有所有属性的作业,则会发生此错误。如果我先生成作业,然后设置间隔,就不会出现错误。