今天做eclipse项目的小修改,发现以前可以运行的项目部分今天总是卡死,开始以为是数据库没有关闭连接,导致连接堵塞,后来仔细一看每个都有关闭链接。下断点调试发现是在update的时候出问题,程序卡死在update上面。我用plsql在数据库中查询同样是卡死状态,换一条数据能够正常执行。google了一下找到问题出现的原因。由于在执行update的时候,当程序已经执行了executeupdate 但是还没有提交事务 commit ,Oracle自动锁住该条记录。解决方法如下。查询出被锁的数据的sid和serial# 字段。
- 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;
然后删除掉系统锁定的此记录ALTER system KILL session
"SID,serial#"; 如果有多个sid 和serial# 重复删除每条记录。Linux 配置MySQL 删除MySQL日志Oracle 字符串拼接相关资讯 Oracle教程
- Oracle中纯数字的varchar2类型和 (07/29/2015 07:20:43)
- Oracle教程:Oracle中查看DBLink密 (07/29/2015 07:16:55)
- [Oracle] SQL*Loader 详细使用教程 (08/11/2013 21:30:36)
| - Oracle教程:Oracle中kill死锁进程 (07/29/2015 07:18:28)
- Oracle教程:ORA-25153 临时表空间 (07/29/2015 07:13:37)
- Oracle教程之管理安全和资源 (04/08/2013 11:39:32)
|
本文评论 查看全部评论 (0)