您的位置:首页 > 数据库 > Oracle

oracle 死锁问题

2016-02-24 21:07 477 查看
最近工作中 遇到 死锁问题。

 oracle 中遇到死锁的 概率很小,  反正我遇到的都是 程序设计不合理, 或者 我特意制造的死锁。 

简单说下,  工作中的 死锁问题是, oracle 死锁是由于 , 外键 没有加索引导致的,  因为我删除 时   都要对主表全表扫描,    而且我的主表 还很大, 我清楚的记得是 没删除一行, 都要做一次全表扫描。    死锁问题  就在此时产生的。   问题找到了,   那我就  在此处 做处理, 那我加快扫描速度,  于是我在外键 上面 加上索引。 加上索引后果然 死锁问题 解决了。 

此时我想“真的解决了吗?”。  我个人认为没有,  加上索引 只是 死锁问题  出现的几率变小了。  但木有完全解决。  此时我查了使用场景, 问这种 删除数据是不是 经常出现, 有木有哪位  用户 没事 喜欢 删除数据, 或者 我们能不能把数据改成  “软删除”。    说白了 就是 把外键给 去掉!!!

 有没有 其他表 有类似的情况??   于是 想到了  tom  大师的 脚本 检查  外键 没有索引 的脚本,  哎,  还查询出不少 外键 木有索引。 

  哎, 本来准备写写  结论的,  结果 写的写的  激动了(做技术 的通病??), 激动了, 有不免 有点啰嗦。    

  死锁 问题 , 还有一种情况是   位图索引  并发更新, 这个是之前 遇到的,  场景什么的不说了,遇到位图索引, 并且有更新操作  注意死锁问题........
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: