1、创建job(几种常用的时间)
--每天十二点执行
DECLARE
job1 number;
begin
sys.dbms_job.submit(job1,
':what',
trunc(sysdate)+12/24,
'trunc(sysdate)+12/24+1');
commit;
end;
--每天零点执行
DECLARE
job1 number;
begin
sys.dbms_job.submit(job1,
':what',
trunc(SYSDATE),
'trunc(sysdate)+1');
commit;
end;
--每周一零点执行
DECLARE
job1 number;
begin
sys.dbms_job.submit(job1,
':what',
trunc(sysdate,'d')+1,
'trunc(sysdate,'d')+8');
commit;
end;
2、删除job
SELECT t.job FROM User_jobs;--找出要删除的job的编号
--删除
begin
dbms_job.remove(:job_num);
end;
3、终止正在使用的job
--找出正在运行的job的编号及会话sid
select t.job,t.sid from dba_jobs_running;
--利用查出来的sid查询正在执行的job的会话信息
select t.sid,t.serial# from v$session t where t.sid = :sid;
--利用查出来的会话信息杀掉该会话
alter system kill session ':sid,:serial';
--broken job
begin
DBMS_JOB.BROKEN(:job_num,TRUE);
end;