oracle调度中使用schedule管理调度

2018-02-06 20:03:13来源:cnblogs.com作者:正在战斗中人点击

分享

开始前,先说一句:作为dba应该禁止所有应用使用dbms_job。

dbms_scheduler非常复杂,oracle在两本书中专门花费不少章节描述,这两本书分别是:

  1. Oracle® Database PL/SQL Packages and Types Reference
  2. Oracle® Database Administrator's Guide

如果要详细了解调度,建议详细阅读第二本书,之后再阅读第一本书中的有关章节

在云时代,资源管理变得非常重要,而dbms_scheduler可以紧密结合oracle自身的资源管理

对于开发人员而言,常见的问题就是:如果一个作业的调度时间不是那么规律,则应该如何调度。

这个好解决,可以使用dbms_scheduler.create_scheduler创建schedule对象,以下是例子:

begin  DBMS_SCHEDULER.create_schedule(schedule_name   => 'SCH_DAY_10_30',                                 start_date      => systimestamp,                                 repeat_interval => 'FREQ=DAILY; byhour=10;byminute=30');  DBMS_SCHEDULER.create_schedule(schedule_name   => 'SCH_DAY_20_10',                                 start_date      => systimestamp,                                 repeat_interval => 'FREQ=DAILY; byhour=20;byminute=10');  dbms_scheduler.create_job(job_name        => '我的SCH测试',                            repeat_interval => 'SCH_DAY_10_30,SCH_DAY_20_10',                            job_type        => 'PLSQL_BLOCK',                            job_action      => 'BEGIN NULL;END;',                            enabled         => TRUE,                            auto_drop       => FALSE,                            comments        => null);end;


通过使用调度,有几个好处:

  1. 只需要修改调度,不需要修改作业
  2. 简单易懂

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台