日期:2014-05-17  浏览次数:20929 次

大神们,job该怎么停啊
由于工作需要,在百度里弄了个间隔1分钟插入的job做实验
SQL code

create table job_table(run_time date)!;

create procedure job_proc is 
begin 
insert into job_table (run_time) values (sysdate); 
end; 
/

declare 
job number; 
begin 
dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)'); 
end;
/

commit



但现在不知道该怎么停,怕把名为job下的其他存储过程也给停了,很纠结。

查询
select * from dba_jobs
找到了这个job,其对应what字段的值只有job_proc;
是不是就说明该job只执行一个job_proc;存储过程,没有其它的了,直接停了就可以了???


------解决方案--------------------
KILL 掉!!
------解决方案--------------------
如果用的是sqlplus,可以找到相应的job,再修改其属性->停止运行。
------解决方案--------------------
1 你的job根本没有run

2 需要删除就
begin
dbms_job.remove(号);
commit;
end;

3 job是定时调用一段代码(可以是个存储过程),删除job也根本不会对这个存储过程有什么影响。
------解决方案--------------------
--停止任务
BEGIN
  dbms_job.broken(job=> 任务号, broken => true);
COMMIT;
END;
/
------解决方案--------------------
5楼 正解!LZ代码 就是这样的啊,只是用作业调用了一个过程