并发操作数据库发生异常时该怎么处理?

NewCenturyNewPage 2004-09-24 03:00:09
有一个公共的数据库,有很多用户可以对数据库进行操作。

如果其中的一个用户有一次对一个数据表做了更新数据记录的操作,但是,该用户做完了更新操作以后并没有提交该操作,然后该用户就非正常的退出了(例如:掉线,死机重启)。

这时其它用户就不能对该数据表进行任何的更新操作了,如果进行更新操作,则长时间没有任何响应,
那是因为上次的操作没有提交,造成了数据表的死锁,导致别的用户不能更新数据库。

碰到这种情况怎么办呢?大家应该有碰到这种情况的吧?
我这时只能使用很原始的方法:重启数据库服务器,好麻烦啊。

大家有什么好的方法没有?

【实例演示】:
sql> update user set userno = '13002333' where name = 'add';
1 rows updated successfully;

该用户并没有用commit提交这次的操作,
这时该用户的机子突然重启,然后别的用户就不能对user表进行任何更新操作了。
...全文
100 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
NewCenturyNewPage 2004-09-24
  • 打赏
  • 举报
回复
但是实际过程中,我更新该表的其它的记录却不行啊。
bluelamb 2004-09-24
  • 打赏
  • 举报
回复
oracle可以实现行级锁定,只是锁定你修改的某行记录,不会锁定整个表

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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