oracle查被锁存储过程,oracle 结束被锁的包或存储过程
問題現象:
在pl/sql編譯包或者是存儲過程procedure等,編譯一直未響應。
問題原因:
ORACLE 存儲過程或包被鎖,編譯不了
問題解決方法:
第一步:查找存儲過程被哪些session鎖住而無法編譯
select * FROM dba_ddl_locks where name =upper('heb_sdb_pay_opr_pkg');
第二步:通過第一步得到的session_id,得到sid和serial#
select t.sid,t.serial# from v$session t where t.sid=&session_id;
第三步:kill 相關session
alter system kill session 'sid,serial#'
結束被鎖的表
問題現象:
后臺數據庫操作某一個表時發現一直出于假死狀態,可能是該表被某一用戶鎖定。
問題解決步驟:
第一步:查詢哪些表被用戶鎖住
SELECT object_name, machine, s.sid, s.serial#
FROM gv$locked_object l, dba_objects o, gv$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid;
第二步:找到被鎖的表,解鎖--alter system kill session 'sid, serial#';
ALTER system kill session '23, 1647';
總結
以上是生活随笔為你收集整理的oracle查被锁存储过程,oracle 结束被锁的包或存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: netty cpu 占用率 高_Nett
- 下一篇: 边缘检测后去除噪点_修图前vs修图后,原