You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建Oracle Scheduler作业时遇ORA-27419错误:无法确定有效执行日期

ORA-27419错误排查与解决

错误原因

你遇到的ORA-27419错误核心原因很明确:你创建调度schedule_meter_reading后,立刻执行了删除操作,导致后续创建作业Add_reading时,引用的调度对象已经不存在。Oracle Scheduler无法找到有效的调度定义来计算执行日期,因此抛出该错误。

另外补充一个潜在问题:你设置作业的start_date为systimestamp(当前系统时间),而原调度的时间范围是2023-10-31 20:00至21:00,如果当前时间不在这个区间内,即使调度存在,也会因无法找到合法的未来执行时间而触发同类错误,但你当前的首要问题是调度已被删除。

解决方法

方法1:移除不必要的调度删除代码

直接删除这段删除调度的PL/SQL块:

BEGIN
    DBMS_SCHEDULER.drop_schedule (schedule_name => 'schedule_meter_reading');
END;
/

然后按以下顺序执行代码:

  1. 设置会话日期格式
  2. 创建调度
  3. 创建程序
  4. 创建作业

方法2:调整代码顺序(需先删除旧调度时)

如果是测试场景需要先清理旧调度,必须确保在创建作业前重新创建调度,建议添加异常处理避免因调度不存在而报错。调整后的完整代码如下:

alter session set nls_date_format = 'DD/mon/YYYY HH24:MI:SS';

-- 删除旧调度(添加异常处理,避免调度不存在时报错)
BEGIN
    DBMS_SCHEDULER.drop_schedule (schedule_name => 'schedule_meter_reading');
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -27407 THEN -- 捕获"调度不存在"的错误码
            RAISE;
        END IF;
END;
/

-- 重新创建调度
BEGIN
dbms_scheduler.create_schedule (
    schedule_name   => 'schedule_meter_reading',
    start_date      => '31-OCT-2023 20:00:00',
    repeat_interval => 'FREQ=MINUTELY; INTERVAL=5',
    end_date        => '31-OCT-2023 21:00:00',
    comments        => 'repeated every 5 minutes'
);
END;
/

-- 创建程序
BEGIN
    dbms_scheduler.create_program(program_name => 'add_meter_reading', program_type => 'PLSQL_BLOCK', program_action => 'BEGIN show_time; END;'
    , enabled => true, comments => 'Reading data from the meter');
END;
/

-- 创建作业
BEGIN
    dbms_scheduler.create_job(job_name => 'Add_reading', program_name => 'add_meter_reading', start_date => systimestamp, repeat_interval => 'schedule_meter_reading', enabled => true);
END;
/

额外注意事项

  • 确保show_time存储过程已存在,否则作业执行时会触发"标识符无效"的错误。
  • 如果当前系统时间已经超过调度的end_date(2023-10-31 21:00),即使调度存在,作业也会因无法找到未来执行时间而报错,此时需要修改调度的start_date和end_date为当前时间之后的有效范围。

内容的提问来源于stack exchange,提问作者Pitt Bear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 05:20:17