pl/sql编译未响应

本文介绍了解决Oracle存储过程调试时出现的窗口未响应问题的方法。通过使用sys用户登录并利用PL/SQL Developer工具,可以查找并终止卡住的会话,确保存储过程正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用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 wheres.paddr = p.addr ands.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.youkuaiyun.com/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

感谢各位的帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值