【发布时间】:2016-10-13 00:34:04
【问题描述】:
我最近一直在学习使用 Oracle 的调度程序来异步运行作业。
我正在尝试构建只运行一次然后自动删除的作业。
我完成此操作的方法是将作业的 MAX_RUNS 属性设置为 1,并将 AUTO_DROP 属性设置为 TRUE。
默认情况下我的所有作业都被禁用,因为我只是手动启动它们。
我注意到这些工作没有被删除,这个Ask Tom thread 解释了原因。
因此,如果要自动删除它们,我必须在运行它们之前先启用它们。
但是,当启用作业时,它会立即安排。
我的问题是:
当一个计划的作业被启用并因此被立即安排时,它会在单独的会话中执行吗?
我需要异步安排所有作业,因此我希望实现与以下相同的行为:
DBMS_SCHEDULER.RUN_JOB(V_JOB_NAME, FALSE);
FALSE 表示在单独的会话中异步调度作业。
我对启用作业并立即安排它的方法很好,只要它在单独的会话中是异步的。
或者,如果有一种方法可以强制在启用时不安排作业,那也可以。
我目前使用的是 Oracle 11gR2
【问题讨论】:
标签: oracle oracle11gr2