Jaa*_*nna 2 oracle jobs plsql scheduling oracle11g
我需要安排从0600到1800的工作.工作应该每两个小时后运行一次.例如0800,1000,1200,1400,1600,1800.
这是我到目前为止设法完成的代码:
DECLARE
l_id binary_integer;
begin
sys.dbms_job.submit(job => l_id, what => 'integration_export;', interval => 'TRUNC(SYSDATE,''hh24'')+0/24/60');
sys.dbms_output.put_line(l_id);
end;
Run Code Online (Sandbox Code Playgroud)
当然,这将在每2小时后运行一次,而不是在1801 - 0759停止.我怎么能添加这个限制?我要做的一件事是创建另一个计划程序,该程序在1801处唤醒并在此时间点更改为此作业.但是,我想知道这是不是一个好主意.
有什么建议?
提前致谢 :-)
dbms_job老了.我建议你改用dbms_scheduler(在Oracle 10g中引入).
dbms_scheduler.create_job(job_name => 'YOUR_JOB',
job_type => 'PLSQL_BLOCK',
job_action => 'integration_export;',
start_date => systimestamp,
repeat_interval => 'freq=hourly; byhour=8,10,12,14,16,18; byminute=0; bysecond=0;',
enabled => true,
auto_drop => false,
comments => 'some comment about the job');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12896 次 |
| 最近记录: |