Bootstrap

oracle11g调试,oracle11g plsql调试存储过程卡死的处理技巧

>> PLSQL调试存储过程卡死

有多次进行TEST调试存储过程,在某一个环境动不了,然后卡住,plsql界面进入假死状态了,而这个时候只有在windows里面的任务管理器里面强行关闭plsql的后台进程后,然后再次登录打开plsql,才能操作。

但是这种强性杀死plsql进程后重新登录plsql的做法不能解决问题,因为你上次调试存储过程的ka住的进程依然存在后台等待,并且会再次影响你第二次进行存储过程调试,那么有没有办法彻底解决呢?

如下图,元芳,你怎么看?

PS:plsql假死图:

0818b9ca8b590ca3270a3433284dd417.png

图(1)  PLSQL假死图

第一种办法(PLSQL解决)

此时,重新打开第二个plsql窗口,使用dba账号登录,进入“Tools”--> “Sessions…”界面,可以看到所有的sessions会话进程,如下所示:

0818b9ca8b590ca3270a3433284dd417.png

图(2)查看当前所有sessions

然后看到“Action”一栏目,看到有Test字样的,再看“Machine”确定是你操作的电脑发起的session,然后选中,右键弹出选中“kill”命令,然后选中“Yes”清除这条调试存储过程的会话即可,如下图所示:

0818b9ca8b590ca3270a3433284dd417.png

图(3) 清除session

第二种办法(SQL)

执行sql语句:select*fromv$session twheret.ACTIONlike'%Test%';找到当前进行存储过程调试的session,然后执行kill命令:

0818b9ca8b590ca3270a3433284dd417.png

图(4) SQL查询出session

从图中可以看到 知道TEST被锁的用户为powerdesk,sid为1282,serial#为128, 执行altersystemkillsession'1282,128';清除session

SQL>altersystemkillsession'1282,128';

Systemaltered

SQL>

;