Oracle 如何提交dbms_作业,使其在06:00开始并在周一每小时运行

Oracle 如何提交dbms_作业,使其在06:00开始并在周一每小时运行,oracle,intervals,dbms-job,Oracle,Intervals,Dbms Job,如何设置dbms_作业的时间间隔,该作业从06:00开始,每小时运行一次,即周一 X NUMBER:=1102745; BEGIN SYS.DBMS_JOB.INTERVAL (X, 'next_day(SYSDATE,''MONDAY'')+1/24' ); END; 但是此代码在每周一01:00工作。您可以使用现代的调度程序作业而不是旧的(和)DBMS\u作业 您可以使用以下方法验证重复间隔: DECLARE next_run_date TIMESTAM

如何设置dbms_作业的时间间隔,该作业从06:00开始,每小时运行一次,即周一

X NUMBER:=1102745;    
BEGIN
  SYS.DBMS_JOB.INTERVAL
  (X,
   'next_day(SYSDATE,''MONDAY'')+1/24'
   );
END;

但是此代码在每周一01:00工作。

您可以使用现代的
调度程序作业
而不是旧的(和)DBMS\u作业

您可以使用以下方法验证重复间隔:

DECLARE
    next_run_date TIMESTAMP;
BEGIN
    FOR i IN 1..50 LOOP
        DBMS_SCHEDULER.EVALUATE_CALENDAR_STRING('FREQ=HOURLY;BYHOUR=06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23;BYMINUTE=0;BYSECOND=0;BYDAY=Mon', NULL, next_run_date, next_run_date);
        DBMS_OUTPUT.PUT_LINE ( next_run_date );
    END LOOP;
END;

“06:00开始,每小时跑步”是什么意思?周一06:00、07:00、08:00……23:00
DECLARE
    next_run_date TIMESTAMP;
BEGIN
    FOR i IN 1..50 LOOP
        DBMS_SCHEDULER.EVALUATE_CALENDAR_STRING('FREQ=HOURLY;BYHOUR=06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23;BYMINUTE=0;BYSECOND=0;BYDAY=Mon', NULL, next_run_date, next_run_date);
        DBMS_OUTPUT.PUT_LINE ( next_run_date );
    END LOOP;
END;