关于dbms_job.submit

时间:2017-12-07 09:06:40

标签: oracle plsql job-scheduling

我对在Oracle中安排工作有点新意。考虑我正在使用dbms_job.submit在oracle中运行多个作业(过程)。每个工作会有不同的会议吗?

dbms_job.submit(1, 'begin proc; end;' );
dbms_job.submit(2, 'begin proc; end;' );

现在的问题是,正在运行的作业(上面提到的2个作业)是否具有不同的会话ID或相同?

我问你这个问题的原因是因为想象两个作业都是并行运行的,而JOB 1会在成功完成时提交,但在那段时间JOB 2失败并且发生了回滚。在这种情况下,JOB1提交的记录也会得到回滚吗?

1 个答案:

答案 0 :(得分:4)

Oracle documentation is quite clear:后台作业在自己的会话中运行。因此,作业1和作业2的会话之间没有关系。

顺便提一下,如果您使用的是现代版本的数据库(11g或更高版本),那么您应该使用DBMS_SCHEDULER而不是不推荐使用的DBMS_JOB。 Find out more