oracle 結束被鎖的包或儲存過程

2022-09-19 00:45:14 字數 987 閱讀 8144

問題現象:

在pl/sql編譯包或者是儲存過程procedure等,編譯一直未響應。

問題原因:

oracle 儲存過程或包被鎖,編譯不了

問題解決方法:

第一步:查詢儲存過程被哪些session鎖住而無法編譯

select

*from dba_ddl_locks where name =

upper('

heb_sdb_pay_opr_pkg');

1.第二步:通過第一步得到的session_id,得到sid和serial#

select t.sid,t.serial# from v$session t where t.sid=&

session_id;1.

第三步:

kill

相關session

alter system kill session '

sid,serial#

'

結束被鎖的表

問題現象:

後台資料庫操作某乙個表時發現一直出於假死狀態,可能是該錶被某一使用者鎖定。

問題解決步驟:

第一步:查詢哪些表被使用者鎖住

select object_name, machine, s.sid, s.serial#

from **$locked_object l, dba_objects o, **$session s

where l.object_id = o.object_id

and l.session_id = s.sid;

1.2.

3.4.

第二步:找到被鎖的表,解鎖

--alter system kill session 'sid, serial#';

alter system kill session '23, 1647';

1.2.

ORACLE儲存過程被鎖

1.檢視是哪乙個儲存過程被鎖住 查v db object cache檢視 select from v db object cache where owner 過程的所屬使用者 and locks 0 2.檢視是哪乙個sid,通過sid可以知道是哪乙個session 查v access檢視 selec...

ORACLE 儲存過程被鎖 解鎖方法

一些oracle中的程序被殺掉後,狀態被置為 killed 但是鎖定的資源很長時間不釋放,有時實在沒辦法,只好重啟 資料庫。現在提供一種方法解決這種問題,那就是在oracle中殺不掉的,在os一級再殺。1.下面的語句用來查詢哪些物件被鎖 select object name,machine,s.si...

Oracle儲存過程被鎖無法編譯的解決

via 儲過程被鎖無法編譯的解決 select distinct s1.from v db object cache oc,v object dependency od,dba kgllock w,v session s1 where oc.name p sps inte ce and od.to ...