PL/SQL調試存儲過程卡死

    有多次進行TEST調試存儲過程,在某一個環境動不了,然後卡住,plsql界面進入假死狀態了,而這個時候只有在windows裏面的任務管理器裏面強行關閉plsql的後臺進程後,然後再次登錄打開plsql,才能操作。但是這種強性殺死plsql進程後重新登錄plsql的做法不能解決問題,因爲你上次調試存儲過程的被卡住的進程依然存在後臺等待,並且會再次影響你第二次進行存儲過程調試。

PS:plsql假死如下圖:

第一種辦法(PLSQL解決)

此時,重新打開第二個plsql窗口,使用dba賬號登錄,進入“Tools”--> “Sessions…”界面,可以看到所有的sessions會話進程,如下所示:

圖(2)查看當前所有sessions

然後看到“Action”一欄目,看到有Test字樣的,再看“Machine”確定是你操作的電腦發起的session,然後選中,右鍵彈出選中“kill”命令,然後選中“Yes”清除這條調試存儲過程的會話即可,如下圖所示:

圖(3) 清除session


第二種辦法(SQL)

執行sql語句:select * from v$session t where t.ACTION like'%Test%';找到當前進行存儲過程調試的session,然後執行kill命令:

圖(4) SQL查詢出session

 

從圖中可以看到 知道TEST被鎖的用戶爲powerdesk,sid爲1282,serial#爲128, 執行alter system kill session'1282,128';清除session

SQL> altersystemkillsession'1282,128';                                                                                                                                                                                                                                          

System altered

SQL>

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章