用pl/sql編譯 編譯 oracle存儲過程的時候,窗口提示未響應,強制關閉後再重登陸也是如此。
經塗霖英指點後進一步百度,發現是session被鎖住的問題,現解決步驟記錄下來:
1.登陸sys用戶,在pl/sql選擇 tools->sessions,會列出各個session的具體信息
2. 執行sql語句:select *from v$session t
where t.ACTION
like'%Test%';找到當前進行存儲過程調試的session,然後執行kill命令:
alter system kill session '8,6421';
其中8,6424分別是sid與serial#。
3.然而對已經marked as killed的無效,那麼需要這樣做:
查出session的spid,語句爲:
select
spid, osuser, s.program
from
v$session s, v$process p
where
s.paddr = p.addr
and
s.sid =197;
4.假如你沒有權限執行上述任意語句,可以這樣:
grant DBA to scott;--(當然,也可以登陸sys)
5.然後就是:
在windows上,C:\Documents and Settings\gg>orakill orcl 12345
12345是第三步的spid,orcl是存儲過程卡住的那個數據庫名稱。
6.參考資料:
步驟2參考:http://blog.csdn.net/mchdba/article/details/51999508
步驟3參考:http://www.2cto.com/database/201309/246227.html
步驟4參考:https://zhidao.baidu.com/question/468608646.html
步驟5參考:http://www.2cto.com/database/201309/246227.html
https://zhidao.baidu.com/question/160233408.html
感謝各位的幫助!