当前位置: 首页 > wzjs >正文

档案信息网站建设软件开发职业学校

档案信息网站建设,软件开发职业学校,加速wordpress 插件,常用的网站类型有哪些最近在生产上遇到一个死锁问题,Oracle 抛出了 ORA-000060 异常。 业务场景:程序按行读取一个上游系统送的文件数据(大概有几万行),读取到数据后,每 500 行分配给一个线程去批量更新数据库(使用…

最近在生产上遇到一个死锁问题,Oracle 抛出了 ORA-000060 异常。

业务场景:程序按行读取一个上游系统送的文件数据(大概有几万行),读取到数据后,每 500 行分配给一个线程去批量更新数据库(使用主键)。表结构类似下面:

user_id(PK)user_nameagesex
00001tom6man
00002jimi11woman

给出一段批量更新的代码:

<update id='updateUser'  parameterType='java.util.List'>  <foreach collection='list' item='item' index='index' open='' close='' separator=';'>update tb_user set user_name=#{item.userName} age = #{item.age} where user_id= #{item.userId}</foreach>      
</update>

遇到问题后,我们想先问一下 DeepSeek,看它能不能帮忙解决。不得不说,DeepSeek 的深度思考太厉害了。

下面这句话直接给了我思路:

定位到死锁的原因后,解决方法可能有几种。如果是应用逻辑的问题,可能需要调整事务的顺序,比如让不同会话以相同的顺序访问表,减少交叉锁的可能性。

我猜测问题可能就是文件里面存在相同 user_id 的数据,而且文件数据没有按照 user_id 排序,导致不同线程更新时,出现了锁等待。类似下面的 2 个线程。 

线程一:

update tb_user set user_name=#{item.userName} age = #{item.age} where user_id = '00001';
update tb_user set user_name=#{item.userName} age = #{item.age} where user_id = '00002';

线程二:

update tb_user set user_name=#{item.userName} age = #{item.age} where user_id = '00002';
update tb_user set user_name=#{item.userName} age = #{item.age} where user_id = '00001';

我把读取的文件数据看了一下,确实有这个情况。

不得不说,DeepSeek 确实靠谱,我们看下 DeepSeek 给出的定位死锁的方法,基本上根据日志、跟踪文件来判断。

找到问题原因后,解决方案就很容易了。

  1. 通知上游系统把文件数据按照 user_id 进行排序;

  2. 后期优化,相同 user_id 的数据只保留一条日期最新的就行了。

DeepSeek 也给出的详细的解决死锁的方法,见下图:

下面,再看一下 DeepSeek 给出的预防措施和死锁分析报告示例。

最后,附上 Oracle 官方对 ORA-000060 异常的描述:


文章转载自:

http://uoULj7Nf.jpkhn.cn
http://Nx2U48RR.jpkhn.cn
http://F9GgJX37.jpkhn.cn
http://rkzDjhnn.jpkhn.cn
http://kH7pWTJk.jpkhn.cn
http://u4ydvab6.jpkhn.cn
http://HI8gkx87.jpkhn.cn
http://3grJl1W1.jpkhn.cn
http://3UBuLZm9.jpkhn.cn
http://csu8C54A.jpkhn.cn
http://sPOH0DXA.jpkhn.cn
http://ta9zyREe.jpkhn.cn
http://XvTYge8K.jpkhn.cn
http://jRFrqnAL.jpkhn.cn
http://K3rhSPOt.jpkhn.cn
http://4UtiQzqh.jpkhn.cn
http://tKfaM2Ra.jpkhn.cn
http://8Cz5yBxg.jpkhn.cn
http://hGnHi20v.jpkhn.cn
http://QT4NvjiF.jpkhn.cn
http://Xfs2mqi4.jpkhn.cn
http://a44tFb0l.jpkhn.cn
http://mE9a65lA.jpkhn.cn
http://sgivYnBK.jpkhn.cn
http://NhIT6Nee.jpkhn.cn
http://79v8Gtw8.jpkhn.cn
http://oMpZoM7f.jpkhn.cn
http://jzrdKT3e.jpkhn.cn
http://YbfBQNYu.jpkhn.cn
http://2EKMPCBU.jpkhn.cn
http://www.dtcms.com/wzjs/656519.html

相关文章:

  • 网站建设文献综述知乎asp.net 网站设计
  • 重庆最火的网站最好看免费观看高清大全知否知否
  • 点网站出图片怎么做wordpress界面变宽
  • vue做公司网站深圳网站制作易捷网络
  • 做网站设计的公司手机网站的宽度
  • 网站预约功能怎么做joomla功能型网站建设
  • 免费做网站怎么做网站619有没有帮人做CAD的网站
  • 网站建设中添加图片链接购物网站设计图
  • 网站开发课题的目的与意义山西住房和城乡建设厅网站
  • 第一次和别人女友做网站网页设计的发展趋势
  • 网站的锚点链接怎么做wordpress开发服务器配置
  • 手机网站生成app客户端做系统进化树的网站
  • 服务器密码能给做网站的吗新手站长做什么网站
  • 普法网站建设方案小程序开发公司十大排名
  • 网站建设公司营业执照怎么查询网站备案接入商
  • 怎么建立自己公司的网站企业注册域名
  • 公司网站建设gghhhj站长之家特效网站
  • 苏州网站优化排名推广网站私信界面
  • php网站怎么搭建环境配置百度app推广方法
  • 温州大型网站设计公司哪些网站做舆情分析
  • 深圳做针织衫服装的网站广告投放基础知识
  • 电商网站建设期末考试网站的推广方案
  • 网站建设资料免费源码分享论坛
  • 网站建设方案格式为什么企业网站不是开源系统
  • 服饰网站建设模板ftp中打开wordpress
  • 免费搭建网站的软件seo搜索引擎优化工资
  • 营销型网站制作msgg简单企业网站源码 asp.net 公司介绍 产品展示
  • 制作婚恋网站做网站要考虑的
  • 网站建设工作室简介免费注册帐号qq
  • 网页设计与网站建设 公开课营销管理软件