現象
在oracle的工作隊列裡面執行存儲過程
執行出錯
導致隊列死掉了
我使用remove把作業從工作隊列裡面去除掉
重新修改過程
可是編譯的時候死掉了
根據以往的經驗
是因為過程正在執行的時候不能編譯的原因
重新啟動數據庫之後過程編譯就正常了
問題
請問如何讓隊列裡正在執行的任務徹底停止?
否則要重新啟動數據庫太麻煩了
FW:你可以嘗試
: select sid from v$lock where TYPE =
JQ
;
: select sid
serial# from v$session where sid = :sid;
: select ADDR
PID
SPID
SERIAL# from v$process where pid = :sid;
oracle: kill the session
os : kill the process
hope this can help you
估計前提是 執行 job 的進程有多個
job_queue_processes integer
FW:另外一種辦法
select v
sid
v
serial#
v
PROCESS from V$session v
DBA_JOBS_RUNNING R
DBA_JOBS J
where J
WHAT like
%你JOB所調用的procdure%
and
r
job=j
job and
r
sid=v
sid
oracle: kill the session
os : kill the process
麻煩的是就算kill session 後其占用的資源也不是馬上釋放掉
FW:
From:http://tw.wingwit.com/Article/program/Oracle/201311/17858.html