ORACLE儲存過程被鎖

2021-09-02 21:42:17 字數 644 閱讀 4763

1.檢視是哪乙個儲存過程被鎖住

查v$db_object_cache檢視

select * from v$db_object_cache where owner='過程的所屬使用者' and locks!='0'

2.檢視是哪乙個sid,通過sid可以知道是哪乙個session

查v$access檢視

select * from v$access where owner='過程的所屬使用者' and name='剛才查到的過程名'

3.查出sid和serial#

查v$session檢視

select sid,serial#,paddr from v$session where sid='剛才查到的sid';

查v$process檢視

select spid from v$process where addr='剛才查到的paddr';

4.殺程序

4.1先殺oracle程序

alter system kill session '查出的sid,查出的serial#';

4.2再殺作業系統程序

如果是unix

kill -9 剛查出的spid

如果是windows

orakill 剛查出的sid 剛查出的spid

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 ...

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

問題現象 在pl sql編譯包或者是儲存過程procedure等,編譯一直未響應。問題原因 oracle 儲存過程或包被鎖,編譯不了 問題解決方法 第一步 查詢儲存過程被哪些session鎖住而無法編譯 select from dba ddl locks where name upper heb s...