Oracle作业调度程序不会自动丢弃

时间:2014-08-18 10:12:46

标签: oracle oracle11g jobs job-scheduling dbms-scheduler

我在oracle工作之下。

dbms_scheduler.create_job
                   (job_name                 => m_job_name,
                    job_type                 => 'PLSQL_BLOCK',
                    job_action               =>    'begin Pkg_Shell.PR_WF_PROC('
                                                || p_seq_request
                                                || '); end;',
                    number_of_arguments      => 0,
                    start_date               => sysdate,               
                    repeat_interval          => null,
                    end_date                 => null,                                       
                    job_class                => 'DEFAULT_JOB_CLASS',
                    enabled                  => false,
                    auto_drop                => true,
                    comments                 => null
                   );

上述工作不会自动下降。这项工作只运行一次。当我通过各种网站时,它说

For auto drop,This flag if TRUE, causes a job to be automatically dropped after it has completed or has been automatically disabled. A job is considered completed if:
1.Its end date (or the end date of the job schedule) has passed.
2.It has run max_runs number of times. max_runs must be set with SET_ATTRIBUTE.
3.It is not a repeating job and has run once.

我的工作只会运行一次。为什么我的工作在某些情况下不会自动丢弃。 ?我们无法找到什么时候它没有掉线。过来这个 如果我想提一下像sysdate + 2小时那样的end_date怎么提呢? 如果我想设置max_runs或max_fails如何在我的工作中使用它。 ?这两个设置或上面的任何人都能解决我的问题吗?

1 个答案:

答案 0 :(得分:1)

经过这么长时间,我发现以下链接帮助我解决了我的问题。我已经将max_runs设置为1。

dbms_scheduler.set_attribute(m_job_name,' MAX_RUNS',1);

https://community.oracle.com/thread/936850

https://community.oracle.com/message/2458833#2458833