正在运行的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;
本文介绍如何通过停止和杀死会话来管理Oracle中的Job,包括查找运行中的Job、获取会话信息、终止会话及使用PL/SQL修改或删除Job。

243

被折叠的 条评论
为什么被折叠?



