作业VS Scheduler,Oracle 10G

时间:2011-12-14 14:06:18

标签: oracle

是否有人能够严格地告诉我oracle中的作业(DBMS_JOB)和调度程序(DBMS_SCHEDULER)是什么?它的作用是什么?

问候。

2 个答案:

答案 0 :(得分:12)

乍一看,与dbms_scheduler相比,dbms_job的其他名称只有人类可读的时间表。当看起来稍微好一些时,即使在Oracle 10gR1中也存在许多差异。目前我们在11gR2。每个版本dbms_scheduler都会获得更多增强功能,其中dbms_job已经静态多年。

的差异

  • dbms_scheduler已记录
  • dbms_scheduler有外部作业
  • dbms_scheduler有工作链
  • dbms_scheduler具有作业事件处理(可以引发事件并做出反应)
  • dbms_scheduler具有resource manager集成
  • dbms_scheduler具有人类可读的日历语法
  • dbms_scheduler可以在新的日历中组合不同的日历

11g额外

  • dbms_scheduler具有远程外部作业
  • dbms_scheduler具有轻量级作业 - 在一个tx中生成许多低开销作业
  • dbms_scheduler可以在作业完成时发送邮件
  • dbms_scheduler作业可以有多个目标

dbms_job只能在当前数据库中运行pl / sql类型的作业。

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

答案 1 :(得分:5)

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

DBMS_SCHEDULER还允许您设置自定义时间间隔,DBMS_JOB不会。实际上,最重要的区别是DBMS_JOB已被弃用,因此在DBMS_SCHEDULER之前将不再支持。