一、CREATE_JOB过程
代码语言:javascript复制BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB
(
job_name => 'MYDB.JOB_READ_FILES'
,start_date => TO_TIMESTAMP_TZ('2018/01/01 01:00:00.000000 08:00','yyyy/mm/dd hh24:mi:ss.ff tzr')
,repeat_interval => 'freq=HOURLY;INTERVAL=1'
,end_date => NULL
,job_class => 'DEFAULT_JOB_CLASS'
,job_type => 'PLSQL_BLOCK'
,job_action => 'begin FILES_DEAL.RUN; end;'
,comments => NULL
);
SYS.DBMS_SCHEDULER.ENABLE
(name => 'MYDB.JOB_READ_FILES');
END;
/
JOB_NAME:提供指定作业名的方法。 JOB_TYPE:指定你正创建的作业类型。作业可包括PL/SQL、存储过程、可执行文件或Java程序。 JOB_ACTION:指定作业将执行的精准的过程、命令或脚本。 START_DATE和END_DATE:指定新作业启动和结束的日期。 REPEAT_INTERVAL:指定Scheduler执行一个作业的频率。 COMMENTS:允许包括关于被调度作业的任何注释。 ENABLED:指定在创建作业时该作业是否启动或禁用。
二、设置重复时间间隔
Frequency:日历表达式,由FREQ关键字标识,取值为YEARLY、MONTHLY、WEEKLY、DAILY、HOURLY、MINUTELY和SECONDLY。 Repeat interval:时间间隔,由INTERVAL关键字标识,执行频率。 Specifiers:提供关于一个作业何时应该运行的详细信息,取值为BYMONTH、BYWEEKND、BYYEARDAY、BYMONTHDAY、BYDAY、BYHOUR、BYMINUTE和BYSECOND。
代码语言:javascript复制每3天执行一次作业:FREQ=DAILY;INTERVAL=3
每周一执行一次作业:FREQ=WEEKLY;BYDAY=MON
每隔一周的周五执行一次作业:FREQ=WEEKLY;INTERVAL=2;BYDAY=FRI
三、实际遇到问题
1、时区问题( 08:00) 2、回车换行问题(WINDOWS和UNIX不同) 3、作业执行切换文件问题(两路服务器都需挂载共享文件)