龙空技术网

oracle中job

走向X未来 131

前言:

今天大家对“怎么停oraclejob”可能比较关切,朋友们都想要了解一些“怎么停oraclejob”的相关文章。那么小编在网络上收集了一些有关“怎么停oraclejob””的相关知识,希望我们能喜欢,咱们一起来学习一下吧!

-- 创建测试表

create table A8

(

a1 VARCHAR2(500)

)

-- 创建存储过程

create or replace procedure proc_add_test as

begin

insert into a8 values (to_char(sysdate, 'yyyy-mm-dd hh:mi'));/*向测试表插入数据*/

commit;

end;

-- 创建job 定时执行

declare

job number;

BEGIN

DBMS_JOB.SUBMIT(

JOB => job, /*自动生成JOB_ID*/

WHAT => 'proc_add_test;', /*需要执行的存储过程名称或SQL语句*/

NEXT_DATE => sysdate+3/(24*60), /*初次执行时间-下一个3分钟*/

INTERVAL => 'trunc(sysdate,''mi'')+1/(24*60)' /*每隔1分钟执行一次*/

);

commit;

end;

--- 测试查看结果

select * from A8;

-- 查看当前用户job

select job, what, next_date, next_sec, sysdate, failures, broken,interval

from user_jobs a;

-- 修改job 执行时间 实际环境

-- 每月一号凌晨两点执行

begin

dbms_job.change(26 ,'proc_add_test;', sysdate,'TRUNC(LAST_DAY(SYSDATE))+1+2/24' );

commit;

end;

-------------删除JOB-----------------

begin

dbms_job.remove(26); --//41为Job 的ID值

commit;

end;

-- 停止job,原有job 保留

begin

dbms_job.BROKEN(26,true);

commit;

end;

-- 验证job暂停是否成功

select job, what, next_date, next_sec, sysdate, failures, broken,interval

from user_jobs a;

标签: #怎么停oraclejob