主页 > 知识库 > oracle执行update语句时卡住问题分析及解决办法

oracle执行update语句时卡住问题分析及解决办法

热门标签:分布式呼叫中心 南宁人工智能电销机器人费用 图像地图标注 400电话是不是免费申请 海南400电话哪里办理 贵阳电话外呼系统哪家好 济南地图标注公司 呼伦贝尔智能手机地图标注 安阳外呼系统免费

问题

开发的时候debug到一条update的sql语句时程序就不动了,然后我就在plsql上试了一下,发现plsql一直在显示正在执行,等了好久也不出结果。但是奇怪的是执行其他的select语句却是可以执行的。

原因和解决方法

这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住。由于我的java程序中加了事务,之前debug到一半的时候我强制把工程终止了,这样就导致没有执行事务提交,所以oracle将代码中update那一条的记录锁了。可通过下面两步解决:

1.首先查询锁定记录

SELECT s.sid, s.serial# FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid;

2.然后删除之

ALTER system KILL session 'SID,serial#'

总结

以上就是本文关于oracle执行update语句时卡住问题分析及解决办法的全部内容,希望对大家有所帮助。感兴趣的朋友可以参阅:ORACLE SQL语句优化技术要点解析、浅谈oracle rac和分布式数据库的区别、Oracle RMAN自动备份控制文件方法介绍等,若有不足之处,欢迎留言指正。感谢大家对本站的支持!

您可能感兴趣的文章:
  • mybatis执行批量更新batch update 的方法(oracle,mysql两种)
  • 解决Hibernate4执行save()或update()无效问题的方法
  • php+MySQL判断update语句是否执行成功的方法
  • 执行一条sql语句update多条记录实现思路
  • mysql update语句的执行过程详解

标签:焦作 凉山 郴州 辽源 滁州 合肥 许昌 南充

巨人网络通讯声明:本文标题《oracle执行update语句时卡住问题分析及解决办法》,本文关键词  oracle,执行,update,语句,时,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《oracle执行update语句时卡住问题分析及解决办法》相关的同类信息!
  • 本页收集关于oracle执行update语句时卡住问题分析及解决办法的相关信息资讯供网民参考!
  • 推荐文章