Oracle db上调度的作业与Linux cron选项卡上调度的相同作业的性能

Oracle db上调度的作业与Linux cron选项卡上调度的相同作业的性能,linux,oracle,performance,cron,jobs,Linux,Oracle,Performance,Cron,Jobs,我有一个oracle程序,需要每小时运行一次。我的应用服务器是基于Linux的,数据库是oracle。现在我有两个选择。我可以在Oracle中创建一个作业并对其进行调度,也可以在应用程序服务器中的cron选项卡的帮助下编写一个shell脚本并对其进行调度。有谁能告诉我哪种方法在数据库性能方面更好,为什么?或者这两种方法会导致相同的性能结果?如果是,那么标准方法应该是什么。我们不考虑性能方面的差异。无论哪种方式,都将生成一个会话,并对该会话的性能进行评估 因此,这取决于谁有权访问服务器。如果它是一

我有一个oracle程序,需要每小时运行一次。我的应用服务器是基于Linux的,数据库是oracle。现在我有两个选择。我可以在Oracle中创建一个作业并对其进行调度,也可以在应用程序服务器中的cron选项卡的帮助下编写一个shell脚本并对其进行调度。有谁能告诉我哪种方法在数据库性能方面更好,为什么?或者这两种方法会导致相同的性能结果?如果是,那么标准方法应该是什么。

我们不考虑性能方面的差异。无论哪种方式,都将生成一个会话,并对该会话的性能进行评估

因此,这取决于谁有权访问服务器。如果它是一个仅限DBA的作业,那么我们发现在服务器上管理它更容易。如果它们是与在仓库上编写长时间运行报告的人共享的工作,那么它们可以更容易地一起管理

cron作业的缺点是,当oracle升级时,所有作业都必须停止、移动、启动和测试,这可能是一件痛苦的事情


调度器作业进程的缺点是,有时很难跟踪谁运行了什么作业,因此我们有一些脚本,可以将作业编号与作业名称中的工作人员相匹配。

如果在应用程序服务器上创建一个引用数据库服务器的脚本,则会有两台服务器的性能受到影响。如果仅在Oracle实例上创建作业,则应用程序服务器不会受到影响。在许多站点,对服务器的访问仅限于管理员,因此在cron中定义的任何作业对其他人都不可见。任何登录数据库的人都可以从桌面方便地查询调度器视图,因此从开发、支持和维护的角度来看,dbms_调度器更容易访问。