Oracle 执行SQL一直卡死不动和“资源正忙,但指定以NOWAIT方式获取资源,或链接失效”的解决办法

Oracle 问题1:执行 更新、修改、删除 时,控制台一直在转处于假死状态。

Oracle 问题2:出现 “资源正忙,但指定以NOWAIT方式获取资源,或链接失效” 的问题。


原因:有其他的用户在连接数据库进行 更新、修改、删除 等操作,导致当前数据库表被锁定,为了保证数据的一致性,因此其他用户在此用户未断开连接时无法进行操作。


解决办法:

1,先查出所有被占用进程的表,SQL语句如下:

  1. select object_name,machine,s.sid,s.serial#  
  2. from v$locked_object l,dba_objects o ,v$session s  
  3. where l.object_id = o.object_id and l.session_id=s.sid;  

其中 object_name 列数据为被锁定的表名,找到该列数据后,即可查看到 sid 和 serial。

杀掉连接:

  1. ALTER system KILL session 'sid,serial#';  

其中 SID 和 serial 分别对应执行第一步查询的结果。


执行完成之后该表即可解锁。




ALTER system KILL session '65,3503';
阅读更多
文章标签: oracle
个人分类: oracle
上一篇http客户端发送json ,xml数据
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭