您好,登錄后才能下訂單哦!
用oracle的job定時調用存儲過程,如存儲過程陷入死循環或其他原因導致,job的狀態是一直運行。這時,手動調用存儲過程,由于鎖表的原因,存儲過程也會執行不下去。此時,需要先停掉job,命令如下:BEGIN dbms_scheduler.stop_job(job_name => 'GETHOLDS');END;
如存儲過程還是執行不了,需要檢查一下存儲過程的表是否被進程占用而被鎖住了,找到該進程并殺掉:
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;
alter system kill session '738,1429';
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。