oracle scheduler(三)创建…


三、使用Schedules

        10g 中的SCHEDULER 中新增的概念太多。比如说jobs,仍然可以理解成之前版本中的jobs,不过功能更加强大。

3.1 创建和管理Schedules

      Schedule,用来描述job 的执行周期。创建schedule 可以通过dbms_scheduler.create_schedule 过程,该过程支持的参数如下:

SQL>desc dbms_scheduler.create_schedule;

Parameter Type Mode Default?

--------------- ------------------------ ---- --------

SCHEDULE_NAME VARCHAR2 IN

START_DATE TIMESTAMP WITH TIME ZONE IN Y

REPEAT_INTERVAL VARCHAR2 IN

END_DATE TIMESTAMP WITH TIME ZONE IN Y

COMMENTS VARCHAR2 IN Y

各参数分别代表含意如下:

(1) SCHEDULE_NAME:指定schedule 名称,注意名称不能重复。

(2) START_DATE:指定该调度的开始时间,可为空,当为空时表示该调度暂不起用。

(3) REPEAT_INTERVAL:指定调度的执行频率或周期。

(4) END_DATE:指定调度的结束时间,可为空,为空时就表示该调度将一直进行。

(5) COMMENTS:注释信息。

            Schedules 中的REPEAT_INTERVAL 参数和Jobs 中的REPEAT_INTERVAL参数功能完全相同,甚至参数格式也一模一样。其中最重要的是FREQ 和INTERVAL 两个关键字。

(1) FREQ 关键字用来指定间隔的时间周期,可选参数有:YEARLY, MONTHLY, WEEKLY, DAILY,

HOURLY, MINUTELY, and SECONDLY,分别表示年、月、周、日、时、分、秒等单位。

(2) INTERVAL 关键字用来指定间隔的频繁,可指定的值的范围从1-99。

比如说, 当指定REPEAT_INTERVAL=>'FREQ=DAILY;INTERVAL=1';就表示每天执行一次, 如果将INTERVAL 改为7 就表示每7 天执行一次,效果等同于FREQ=WEEKLY;INTERVAL=1。

下面,创建一个schedule,指定调度为每周一次的频率,执行脚本如下:

SQL> BEGIN

DBMS_SCHEDULER.CREATE_SCHEDULE (

schedule_name => 'MySchedule',

start_date => SYSDATE,

repeat_interval => 'FREQ=WEEKLY; INTERVAL=1',

comments => 'Every 1 weeks');

END;

/
 
            查询当前已经创建的schedules,可以通过 *_SCHEDULER_SCHEDULES 视图(含DBA_,ALL_,USER_),例如,查看当前用户拥有的schedules,执行语句如下:

SQL> select schedule_name,repeat_interval from user_scheduler_schedules;
 
            如果要修改schedule 属性的话,也是
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值