--创建一个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;