如何停止正在运行的job(解决job不能删除或修改的问题)

正在运行的job 删除或修改是不行的,只能 kill  process  /  kill  session

--1.先查一下正在运行的job

select *from dba_jobs_running;

--2.查找到session

select a.spid, b.SID, b.SERIAL#

  from v$process a, v$session b

 where a.addr = b.paddr

   and b.sid  in (select sid  from dba_jobs_running);

--3.kill session

alter  system kill   session  'sid,serial#';

--4.将job停止

execute dbms_job.broken(job_id,true);

commit;

--5.在pl/sql中修改job或删除

exec DBMS_JOB.REMOVE(52);

--6.启动

execute dbms_job.broken(job_id,false);

commit;

你可能感兴趣的:(数据库)