关闭

Oracle 存储过程 编译时卡死不动

2459人阅读 评论(1) 收藏 举报
分类:

这个该死的问题困扰了好久,多方分析之后,才知道,存储过程编译没完成,或者编译失败时,oracle 数据库会自动把相应的存储过程锁起来,最无赖的做法 是重启数据库,此问题就解决

每天重启两次数据库想死的心都有了,经过今天的查找 终于找的好的解决方法

一 , 找到之前调试的存储过程 名称,使用一下语句找到 sid

select va.sid,va.OBJECT from v$access va where object like 'SP_%'      

二 、拿到sid之后,去 v$session视图 去查询 sid,serial#
   SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID= 140
 三、拿到 sid,serial# 之后就简单了,直接杀死 session,存储过程就可以重新编译了
   alter system kill session '140,10555'
   
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:18845次
    • 积分:341
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:21篇
    • 译文:0篇
    • 评论:4条
    文章分类