SCHEDULER使用详解
来源:互联网 发布:c语言源小程序代码大全 编辑:程序博客网 时间:2024/05/08 02:22
SCHEDULER使用详解:
创建SCHEDULER:
BEGIN
sys.dbms_scheduler.create_schedule(
repeat_interval => ‘FREQ=DAILY;BYHOUR=15;BYMINUTE=0;BYSECOND=0’,
start_date => systimestamp at time zone ’+8:00’,
end_date => to_timestamp_tz(‘2014-03-15 +8:00’, ‘YYYY-MM-DD TZH:TZM’),
comments => ‘REBUILD INDEX’,
schedule_name => ‘“SYS”.”IDX_REBUILD”’);
END;
参数解释:
repeat_interval设置重复频率
FREQ(指定重复频率):
YEARLY:以年为单位,可以设置每年的哪天执行。INTERVAL重复次数。BYYEARDAY可以指定具体的日子。用1-365来表示每天,但到了闰年就是1-366。由于有二月这个不确定性的存在(例如如果设置69,则在平年指的是三月十号,闰年则会是三月九号),所以我们可以使用1-59来表示1月到2月28,-307至-1来表示2月29到12月31。之后BYHOUR,BYMINUTE,BYSECOND可以用来指定运行的具体时刻。
其他的还有MONTHLY、WEEKLY、DAILY、HOURLY、MINUTELY、SECONDLY
举例说明:
每年的1月14和3月10日的下午3点10分5秒执行,执行三年:
repeat_interval => ‘FREQ=YEARLY;INTERVAL=3;BYYEARDAY=14,-297;BYHOUR=15;BYMINUTE=10;BYSECOND=5’,
MONTHLY:以月为单位,设置每个月的哪天执行:
每个月的1日、3日下午3点10分5秒执行,执行三个月:
repeat_interval => ‘FREQ=MONTHLY;INTERVAL=3;BYMONTHDAY=1,3;BYHOUR=15;BYMINUTE=10;BYSECOND=5’,
每周二周三下午3点10分5秒执行,执行三周:
repeat_interval => ‘FREQ=WEEKLY;INTERVAL=3;BYDAY=TUE,WED;BYHOUR=15;BYMINUTE=10;BYSECOND=5’,
每天下午3点10分5秒执行,执行三天
repeat_interval => ‘FREQ=DAILY;INTERVAL=3;BYHOUR=15;BYMINUTE=10;BYSECOND=5’,
从第一次执行的时候开始每小时执行一次,执行三次:(MINUTELY、SECONDLY和此类似,就不写了)
repeat_interval => ‘FREQ=HOURLY;INTERVAL=3’,
调用当时执行一次,不重复执行:
repeat_interval => null,
start_date设置生效时间:
立即生效
start_date => systimestamp at time zone ’+8:00’,
2014-03-15 下午五点生效:
start_date => to_timestamp_tz(‘2014-03-15 17:00:00 +8:00’, ‘YYYY-MM-DD HH24:MI:SS TZH:TZM’),
end_date设置schedule失效时间:
如果没有失效时间则不用设置此行。
2014-03-15下午九点结束:
end_date => to_timestamp_tz(‘2014-03-15 21:10:00 +8:00’, ‘YYYY-MM-DD HH24:MI:SS TZH:TZM’),
comments 对于scheduler的一些描述,没有可以不写。
schedule_name:schedule的所属用户和名字
sys用户的,名字为IDX_REBUILD
schedule_name => ‘“SYS”.”IDX_REBUILD”’);
修改SCHEDULER:
BEGIN
sys.dbms_scheduler.set_attribute( name => ‘“SYS”.”DAILYREBUILD”’, attribute => ‘repeat_interval’, value => ‘FREQ=WEEKLY;BYHOUR=14;BYMINUTE=0;BYSECOND=0’);
sys.dbms_scheduler.set_attribute( name => ‘“SYS”.”DAILYREBUILD”’, attribute => ‘start_date’, value => systimestamp at time zone ’+8:00’);
sys.dbms_scheduler.set_attribute( name => ‘“SYS”.”DAILYREBUILD”’, attribute => ‘end_date’, value => to_timestamp_tz(‘2014-03-15 +8:00’, ‘YYYY-MM-DD TZH:TZM’));
END;
name :修改的scheduler的所属用户以及名字
attribute:修改的参数名
value:修改后的参数值
删除SCHEDULER:
BEGIN
dbms_scheduler.drop_schedule( schedule_name => ’DAILYREBUILD’, force => FALSE);
END;
只有两个参数
schedule_name:schedule的名字
force:如果是FALSE则如果有其他的job在使用这个schedule就不会删除这个schedule,如果是TRUE则不管有没有其他job使用这个schedule都会将这个schedule删除。
- 【Oracle】SCHEDULER使用详解
- SCHEDULER使用详解
- Scheduler模块详解
- Task Scheduler 使用
- 定时器(scheduler)的使用
- Yarn 调度器Scheduler详解
- Yarn调度器Scheduler详解
- Timer Scheduler API参数详解
- Windows Task Scheduler的使用
- task scheduler 的简单使用
- 11g调度--scheduler使用
- Oracle Scheduler Jobs 基本使用
- Cocos2d-JS 使用 scheduler 小结
- Cocos2d-JS 使用 scheduler 小结
- Cocos2d-JS 使用 scheduler 小结
- scheduler
- Scheduler
- 【Oracle】基于SCHEDULER的job的详解
- Redis源码分析(adlist)
- 用数据驱动设计要注意什么
- Http协议重点概述
- 14个你可能不知道的JavaScript调试技巧
- Android中放大和缩小图片,支持平顺滑动
- SCHEDULER使用详解
- 操作系统简介(笔记一)
- 关于jQuery ajax 状态码status为0,一直返回error
- react-native中的flex和flexGrow异同点
- Android类的XML属性,相关方法及说明
- DataTable 导出Excel
- Apache Storm学习笔记一:创建Storm集群
- DATE_SUB函数计算相对时间
- JAVA实现导出Excel表