小智 19

来自其他论坛:

尽管dbms_job仍然存在于10g和11g中,但Oracle建议在10g及更高版本中使用dbms_scheduler.没有向dbms_job添加新功能,您很可能会很快遇到其局限性.

dbms_scheduler比dbms_job更强大,功能更全面,并包含dbms_job没有的以下功能:

  • 记录作业运行(作业历史记录)
  • 简单但功能强大的调度语法(类似但比cron语法更强大)
  • 在操作系统上运行数据库之外的作业
  • 不同类别的工作之间的资源管理
  • 使用作业参数,包括将对象传递到存储过程
  • 基于特权的作业安全模型
  • 在工作中命名工作和评论
  • 存储的,可重复使用的计划

10g第1版之后的版本中的功能包括:

  • 作业单位之间的依赖关系(10gR2及以上)
  • 基于金融日历和财政季度的调度(10gR2及以上)
  • 收到活动时运行的基于事件的作业(10gR2及以上)
  • 在远程机器上运行作业(11gR1及以上)
  • 关于感兴趣的工作事件的电子邮件通知(10gR2及以上)
  • 基于文件到达(10gR2及以上)开始工作


Ton*_*ews 16

需要注意的一个区别是,与DBMS_JOB不同,DBMS_SCHEDULER执行提交,这使得它不适合某些用途.对于更简单的要求,这也是相当麻烦的.虽然DBMS_JOB将不再被增强,但它不太可能不被支持,因为必须有数千个系统正在使用它并依赖于它的工作方式,包括不执行从中调用它的事务的隐式提交.

请参阅此问汤姆线程了解更多信息.

  • 哇很棒的信息...我不知道它会让你承诺..非常感谢你... (2认同)