Oracle 如何提交dbms_作业,使其在06:00开始并在周一每小时运行
如何设置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
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;