将Oracle作业更改为每天从特定时间到特定时间每5秒运行一次,可以通过以下步骤实现:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'MY_JOB',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN MY_PROCEDURE; END;',
start_date => SYSTIMESTAMP,
repeat_interval => 'FREQ=SECONDLY; INTERVAL=5',
end_date => NULL,
enabled => TRUE,
comments => 'This job runs every 5 seconds between specific times.'
);
END;
/
上述代码创建了一个名为MY_JOB的作业,类型为PL/SQL块,作业操作为调用名为MY_PROCEDURE的存储过程。作业的重复间隔设置为每5秒一次。
BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE (
name => 'MY_JOB',
attribute => 'WINDOW_NAME',
value => 'MY_WINDOW'
);
END;
/
上述代码将作业MY_JOB与名为MY_WINDOW的时间窗口关联起来。
BEGIN
DBMS_SCHEDULER.CREATE_WINDOW (
window_name => 'MY_WINDOW',
start_time => TO_TIMESTAMP('2022-01-01 08:00:00', 'YYYY-MM-DD HH24:MI:SS'),
repeat_interval => 'FREQ=DAILY',
duration => INTERVAL '12' HOUR
);
END;
/
上述代码创建了一个名为MY_WINDOW的时间窗口,开始时间为2022年1月1日上午8点,重复间隔为每天一次,持续时间为12小时。
BEGIN
DBMS_SCHEDULER.ENABLE('MY_JOB');
END;
/
上述代码启用了名为MY_JOB的作业。
通过以上步骤,Oracle作业将被更改为每天从特定时间到特定时间每5秒运行一次。请注意,以上示例代码仅供参考,实际情况中需要根据具体需求进行调整。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云