作业与调度程序,Oracle 10G

作业与调度程序,Oracle 10G,oracle,Oracle,有没有人能严格地告诉我oracle中的作业(DBMS\U作业)和调度程序(DBMS\U调度程序)是什么?它的作用是什么 注意。两者都允许您计划在给定时间执行的作业。主要区别在于如何指定它们,除了在实践中没有明显的区别之外 DBMS_调度程序还允许您设置自定义调度间隔,而DBMS_作业不允许。事实上,最重要的区别是DBMS_作业已被弃用,因此将在DBMS_调度程序启用之前被取消支持。乍一看,与DBMS_调度程序相比,DBMS_调度程序似乎只有其他名称具有更易于阅读的调度。即使在Oracle 10g

有没有人能严格地告诉我oracle中的作业(DBMS\U作业)和调度程序(DBMS\U调度程序)是什么?它的作用是什么


注意。

两者都允许您计划在给定时间执行的作业。主要区别在于如何指定它们,除了在实践中没有明显的区别之外


DBMS_调度程序还允许您设置自定义调度间隔,而DBMS_作业不允许。事实上,最重要的区别是DBMS_作业已被弃用,因此将在DBMS_调度程序启用之前被取消支持。

乍一看,与
DBMS_调度程序
相比,
DBMS_调度程序
似乎只有其他名称具有更易于阅读的调度。即使在Oracle 10gR1中,看起来稍微好一点,也会有很多不同之处。目前我们在11gR2。每个版本的
dbms\u调度器
都得到了更多的增强,其中
dbms\u作业
多年来一直是静态的

分歧

  • dbms_调度程序有日志记录
  • dbms_调度程序具有外部作业
  • dbms_调度程序具有作业链
  • dbms_调度程序具有作业事件处理功能(可以引发事件并对事件作出反应)
  • dbms_调度程序具有
    资源管理器
    集成
  • dbms_调度程序具有人类可读的日历语法
  • dbms_调度器可以将不同的日历合并到一个新的日历中
额外11克

  • dbms_调度程序具有远程外部作业
  • dbms_调度程序具有轻量级作业-在一次发送中生成许多低开销作业
  • dbms_调度器可以在作业完成时发送邮件
  • dbms_调度程序作业可以有多个目标
dbms_作业只能在当前数据库中运行pl/sql类型的作业


我希望这(在完整列表中)有助于

复制oh yeah抱歉,但在问我的问题之前,我在oracle 10g中搜索作业和调度程序,而不是使用DBMS。。不管怎样,谢谢。嗯,实践中有很多不同之处。重要的是作业之间的依赖关系、与资源管理器的集成,以及更容易描述复杂的调度(而不仅仅是开始日期和时间间隔)。此外,一个是事务性的,另一个不是事务性的。换句话说,对回滚暂停的一个事务的调用不会向计划中添加任何内容,而另一个事务使用匿名事务,并且无论调用事务是提交还是回滚,都将继续进行。我不记得哪个是哪个,但我肯定文档是这样做的:@Shannon:
DBMS\u作业
由事务控制,
DBMS\u调度程序
在创建作业时发出提交。但是,在大多数情况下,您不应该使用
DBMS\u调度器
临时创建作业。您应该创建一次作业,必要时进行参数化,然后动态调度命名作业。这实际上是一个核心区别:
DBMS\u调度程序
作业的行为更像其他数据库对象,而不是
DBMS\u作业
作业。