今天在用dbms_schedluer设置JOB执行时间间隔发现,设置的时间间隔参数不完整时,oracle会用当前的系统时间作为其不完整时间参数的补集。
比如:设置每天凌晨2点执行JOB(当前时间是10:45分10秒)
设置的语法格式:REPEAT_INTERVAL => 'FREQ = DAILY;BYHOUR=2',
那么该JOB实际执行的时间是每天凌晨2点45分10秒。
如果需要JOB能准时的在每天凌晨2点整执行的话,需完整的指明分钟和秒数:
REPEAT_INTERVAL => 'FREQ = DAILY;BYHOUR=2;BYMINUTE=0;BYSECOND=0'.