写操作无限等待的问题

wuyg719 2005-12-04 12:18:25
我现在有一个用jsp和servlet开发的web系统,通过连接池连接到一个oracle9数据库,
但在一个罕见的不明原因情况下,一个表出现不能完成任何写操作的情况,即从任何客户端执行任何写操作,包括insert和 update,结果就是无限等待。

请问这是什么原因,如果是死锁,因为不能insert,应该是表锁定,但根据我们的设计,应该没有
表锁定发生。
...全文
68 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyg719 2005-12-15
  • 打赏
  • 举报
回复
问题原因找到,是因为死循环读表导致表不可操作。
rolandzhang 2005-12-05
  • 打赏
  • 举报
回复
你的前台是否应用了事务,如果事务没有提交或者提交失败,导致了表被锁住了,你可以debug看看。
另外,oracle可以查询锁的情况:
以DBA身份查询表锁:
select object_id,session_id,locked_mode from v$locked_object;

select t2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time;
杀掉死锁:
alter system kill session 'sid,serial#'

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧