Oracle10g调度例行任务解放DBA时间
2007-05-11 12:21:19 来源:WEB开发网接着,创建一个调度表,根据该调度表运行该程序。代码清单2 给出一个对DBMS_SCHEDULER.CREATE_SCHEDULE的调用,用于创建我的 PERIODICLOADS调度表。注释和调度表名称参数相当简单。注释可以是提醒你为什么要创建该调度表的任意文本。schedule_ name 参数指明该调度表的所有者和名称。与程序和任务相类似,调度程序也是模式对象,它们的名称必须符合与表、索引等相同的命名规则。
start_date为一个TIMESTAMP WITH TIME ZONE 值,它指明该调度表什么时候被激活。此调度表在(美国东部时间)2004年3月22日星期一开始时被激活。
此调度程序引入了一个功能强大的日历语法,你可以用此语法调度重复性任务。此语法具有三个组件: 频度、间隔和时刻。你还有一个选项:基于一个PL/SQL表达式定义重复间隔(如果你对一个任务定义了一个内嵌调度程序),但是我相信你可能找到一种日历语法,它能满足除最不常用的调度表以外的所有调度表的需要。以下语句是我的PERIODICLOADS 调度表中repeat_interval参数中的日历语法: FREQ=DAILY;INTERVAL=2;BYHOUR=18;
BYMINUTE=0;BYSECOND=0
FREQ=DAILY 根据PERIODICLOADS 调度表规定,任何任务相继运行之间的重复时间间隔以天或者24小时为单位计算。INTERVAL=2 指明单位的数目,在此例中为2天。三个 BY 数值-BYHOUR=18, BYMINUTE=0, and BYSECOND=0-指明任务运行的时刻,以24小时制表示。代码清单2中的PERIODICLOADS 调度表将给出以下任务运行时间:
第一次运行是在2004年3月22日星期一,下午6:00。
第二次运行是在2004年3月22日星期一的两天之后,即3月24日星期三的下午6:00。
第三次运行是在2004年3月22日星期一的两天之后再过两天,即3月26日星期五下午6:00。
更多精彩
赞助商链接