DBMS_JOB和DBMS_SCHEDULER有什么区别?
发布于 2010-11-11 15:12:10
来自其他论坛:
尽管10g和11g中仍存在dbms_job,但Oracle建议在10g及更高版本中使用dbms_scheduler。没有新的特性被添加到dbms_job中,您可能很快就会遇到它的局限性。
与dbms_job相比,dbms_scheduler更强大、功能更全,并且包括dbms_job所不具备的以下功能:
作业运行的cron计划日志记录(job history)
,reusable <
10g版本1之后的版本中的功能包括:
作业单元之间的
发布于 2010-11-11 18:49:36
需要注意的一个区别是,与DBMS_JOB不同的是,DBMS_SCHEDULER执行提交,这使得它不适合某些用途。对于更简单的需求,它也相当繁琐。虽然DBMS_JOB将不再得到增强,但它不太可能永远不受支持,因为肯定有数以千计的系统在使用它并依赖于它的工作方式,包括不对从中调用它的事务执行隐式提交。
有关详细信息,请参阅this Ask Tom thread。
发布于 2016-08-07 14:51:05
下面列出的是DBMS_SCHEDULER与相比的一些优势:
·可以使一个作业的执行依赖于另一个作业的完成
·强大的资源平衡和灵活的调度功能
·可以基于数据库事件运行作业
·无论操作系统如何,DBMS_SCHEDULER语法都是一样的
·可以使用数据字典运行状态报告
·如果在集群环境中工作,则无需担心为集群中的每个节点同步多个cron表
下面列出了使用:的一些优点
·易于使用、简单、可靠且真实
·几乎在所有Linux/Unix机器上都可用;在大多数情况下,无论Linux/Unix平台如何,运行方式几乎相同(是的,有一些细微的差异)
·数据库不可知;独立于数据库运行,无论数据库供应商或数据库版本如何,其工作方式都相同
·无论数据库是否可用都有效
https://stackoverflow.com/questions/4152111
复制相似问题