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

时间:2024-03-23 08:23:28

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

 

>> PLSQL调试存储过程卡死

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

 

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

 

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

 

PS:plsql假死图:oracle11g plsql调试存储过程卡死的处理技巧

图(1)  PLSQL假死图

 



第一种办法(PLSQL解决)

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

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

 

图(2)查看当前所有sessions

 

 

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

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

图(3) 清除session

 

 

第二种办法(SQL

执行sql语句:select * from v$session t where t.ACTION like'%Test%';找到当前进行存储过程调试的session,然后执行kill命令:

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

图(4) SQL查询出session


 



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

SQL> altersystemkillsession'1282,128';                                                                                                                                                                                                                                          

 

System altered

 

 

 

SQL>

 

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

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