正在运行的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;