Oracle 作业调度程序不工作

标签 oracle

我在oracle中创建了一个作业,它将每分钟运行一次,但问题是作业创建成功但未按时运行

execute PACKAGE_BATCH.USP_TERMIANTE_SUSPENSION;
BEGIN
    DBMS_SCHEDULER.CREATE_JOB (
            job_name => '"LTR"."TERMINATE_SUSPENSION_JOB"',
            job_type => 'STORED_PROCEDURE',
            job_action => 'LTR.PACKAGE_BATCH.USP_TERMINATE_SUSPENSION',
            number_of_arguments => 0,
            start_date => sysdate,
            repeat_interval => 'FREQ=MINUTELY;BYMINUTE=1',
            end_date => NULL,
            enabled => TRUE,
            auto_drop => TRUE,
            comments => 'Terminate Suspension When End Date is equal to Current Date');

            DBMS_SCHEDULER.set_attribute
            ( name => '"LTR"."TERMINATE_SUSPENSION_JOB"',
            attribute => 'job_action', 
            value => 'LTR.PACKAGE_BATCH.USP_TERMINATE_SUSPENSION');

            DBMS_SCHEDULER.SET_ATTRIBUTE( 
             name => '"LTR"."TERMINATE_SUSPENSION_JOB"', 
             attribute => 'logging_level', value => DBMS_SCHEDULER.LOGGING_RUNS);

    DBMS_SCHEDULER.enable(
             name => '"LTR"."TERMINATE_SUSPENSION_JOB"');
END;

最佳答案

FREQ=MINUTELY;BYMINUTE=1

这将使作业每“1”分钟运行一次。所以 12:01、1:01、2:01 等等。

如果您需要使其每分钟运行 - FREQ=MINUTELY 就足够了,或者如果您想确保它恰好在 12 点运行,您可以添加 BYSECOND=0: 01:00、12:02:00、12:03:00 等

关于Oracle 作业调度程序不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28943193/

相关文章:

mysql - 选择表中一列中的重复值

sql - 如何为自引用表创建一个简单的 Select ?

oracle - 尝试在 Linux/Ubuntu 上使用 oracle 库构建静态 CGO 可执行文件

java - 按数组选择数据。 sql

c# - 棘手的 Quartz.NET 场景

mysql - 订单和子订单的数据库设计

database - 什么情况需要我在数据库中存储相同数据的不同版本?

c# - 使用 log4net 登录到 Oracle 数据库不会立即更新数据库

oracle - 设置 USE_SHARED_SOCKET 以通过防火墙访问 Oracle 数据库

SQL、分析函数、行号