Oracle儲存過程編譯卡死的解決方法

2021-09-20 22:36:50 字數 511 閱讀 5851

oracle儲存過程編譯卡死的解決方法

解決方法如下:

1:查v$db_object_cache

select * from v$db_object_cache where name='cux_oe_order_rpt_pkg' and locks!='0';

注意:cux_oe_order_rpt_pkg 為儲存過程的名稱。

發現 locks=2

2:按物件查出sid的值

select /+ rule/ sid from v$access where object='cux_oe_order_rpt_pkg';

注意:cux_oe_order_rpt_pkg 為儲存過程的名稱。

3:查sid,serial#

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

4:alter system kill session 'sid值,serial#值' immediate;

Oracle 儲存過程 編譯時卡死不動

這個該死的問題困擾了好久,多方分析之後,才知道,儲存過程編譯沒完成,或者編譯失敗時,oracle 資料庫會自動把相應的儲存過程鎖起來,最無賴的做法 是重啟資料庫,此問題就解決 每天重啟兩次資料庫想死的心都有了,經過今天的查詢 終於找的好的解決方法 一 找到之前除錯的儲存過程 名稱,使用一下語句找到 ...

Oracle儲存過程編譯卡死的解決方法

在oracle資料庫中重新修改編譯了某個儲存過程a呼叫的另乙個過程b後,需要手動將a重新編譯,一定不要在重新編譯a前去呼叫a,否則會造成a編譯掛死的情況。特別是在訪問量大的情況下。這種情況下如果強行終止儲存過程編譯,再次recompile儲存過程會發現還是掛死的,這個主要是由於強行終止後會話為ina...

oracle 儲存過程編輯 卡死

一 可用sys登入,二 查鎖session id 查詢儲存過程operationdata imp被哪些session鎖住而無法編譯 select from dba ddl locks where name upper operationdata imp 三 查出sid serial 解決辦法如下 如...