oracle创建job实例:创建一个job,使oracle每天23:59执行存储过程update_all_data
--创建一个job,使oracle每天23:59执行存储过程update_all_data
declare
x number(9);
begin
sys.dbms_job.submit
(
job => x
,what => 'update_all_data;'--存储过程名,可以是多个,用分号隔开
,next_date => to_date('2012-11-02 23:59:00','yyyy-mm-dd hh24:mi:ss')
,interval => 'trunc(sysdate+1)' --循环频率为一天
,no_parse => false
);
commit;
end;
--删除job
begin
dbms_job.remove(job);--job为任务号 可用select j.* from dba_jobs j
end;
--修改job
begin
dbms_job.change(264,
'initbigareasaleranking;initbigareamanagersalegrowth;initbigareasalegrowth;initbigareamanagersalerate;initbigareasalerate;initcontractsaledevote;initcustomsalerankings;',
to_date('2014.12.12 12:31:03', 'yyyy-mm-dd hh24:mi:ss'),
'trunc(sysdate + 1) + (12*60+31)/(24*60)');
commit;
end;
停止job
select sid,job from dba_jobs_running;
select sid,serial# from v$session where sid='&sid';
alter system kill session '&sid,&serial';
begin
dbms_job.broken(&job,true);
end;
-------------查询job-----------------
select job, what, next_date, next_sec, sysdate, failures, broken,interval from user_jobs a;