查询定时任务
select
job, -- 任务的唯一标示号
log_user, -- 提交任务的用户
priv_user, -- 赋予任务权限的用户
schema_user, -- 对任务作语法分析的用户模式
last_date, -- 最后一次成功运行任务的时间
last_sec, -- 如hh24:mm:ss格式的last_date日期的小时,分钟和秒
this_date, -- 正在运行任务的开始时间,如果没有运行任务则为null
this_sec, -- 如hh24:mm:ss格式的this_date日期的小时,分钟和秒
next_date -- 下一次定时运行任务的时间
from user_jobs;
创建定时器
declare
jobno number;
begin
dbms_job.submit(
jobno,
what => 'pro_syz_timer(1234);', --pro_syz_timer为存储过程的名称,1234为参数值
Interval => 'trunc(sysdate,''mi'') + 10 / (24 * 60)' --定义时间间隔
);
commit;
end;
删除定时器
declare
jobno number;
begin
dbms_job.remove(43); -- 任务id
commit;
end;
启动定时器
begin
dbms_job.run(121);
commit;
end;
停止定时器
begin
dbms_job.broken(121, true);
commit;
end;
其他
begin
dbms_job.what(jobId,'pro_syz_timer2;');--修改job定时任务的存储过程
dbms_job.next_date(jobId,to_date('2018-01-04 12:00:00','yyyy-mm-dd hh24:mi:ss'));--修改job的下次执行时间
dbms_job.interval(jobId,'sysdate+1/24');--修改job的间隔时间
commit;
end;