博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我的死锁经历
阅读量:2385 次
发布时间:2019-05-10

本文共 683 字,大约阅读时间需要 2 分钟。

数据库=oracle

测试人员在对程序进行黑盒测试时频繁出现timeout;

本地复现,发现日志打印到一条删除语句时一直没有得到结果;

拿到sql的条件,直接操作数据库;

根据条件查询,正常查到结果;

根据条件delete,则无休止的等待下去;

怀疑被锁;

删除同一张表的其他数据,可以正常删除;

怀疑该记录被锁;

查询表中的锁:

查看那个表被死锁了

select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;

找到详细信息

select *  from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;

发现该表有四条锁记录;

解决办法:删除锁记录

alter system kill session 'sid  ,serial#';

alter system kill session'154,1030';

删一个,少一条记录,当删除第三条时,四条记录全消失了;

确定,出现的死锁;

至此,程序正常;

 

死锁排查,待续...

 

死锁程序回避:

请求进入程序没执行有风险的操作前,去redis查询key;

有记录,程序等待5ms,继续操作;

没有记录,放入redis一个key;

程序执行完毕,删除key;

完毕

 

posted @
2018-10-18 22:07 阅读(
...) 评论(
...)

转载地址:http://qrcab.baihongyu.com/

你可能感兴趣的文章
css3实现ps蒙版效果以及动画,炫酷吊炸天!
查看>>
程序员休息时间接私活遭公司辞退,不明觉厉?
查看>>
CSS 、JS实现浪漫流星雨动画
查看>>
新手网站建设指南(2)
查看>>
新手网站建设优化,这些网站为你提供数之不尽的免费素材!(3)
查看>>
HTML特殊字符显示(常用到的特殊符号,箭头相关,数学相关,标点,符号相关等)...
查看>>
40岁的程序员找不到工作,原来码农真的是碗青春饭
查看>>
2018年前端性能优化总结,这也是我做程序员的第五个年头了
查看>>
前端进阶(三)从0到1学AJAX,这篇就够了!
查看>>
强大的CSS:实现平行四边形布局效果
查看>>
强大的CSS:var变量的局部作用域(继承)特性
查看>>
强大的CSS: 使用“变量种子计数器”扩展动画更多可能性
查看>>
强大的CSS:focus-visible伪类真的太6了!
查看>>
强大的CSS:3种姿势实现26个英文字母的案例
查看>>
强大的CSS:placeholder-shown伪类实现Material Design占位符交互效果
查看>>
强大的CSS:图形绘制合集,方便你我!
查看>>
强大的CSS:scroll-snap滚动事件停止及元素位置检测
查看>>
程序员30岁前,月薪达不到30K,该何去何从?
查看>>
只要记住这五点,学习任何新编程语言都不是问题
查看>>
常见的前端开发CSS 面试题及回答策略
查看>>