【DM版本】:DM8
【操作系统】:Linux
【CPU】: aarch64
【问题描述】*:
1.同一个事务内,对于同一个表,做了一个新增,两个更新
2.新增的正常的插入了
3.两个更新没有更新到数据,更新的条件是满足的
4.出现这个问题的时间前后,出现了了较多的以下异常:dm.jdbc.driver.DMException: 请求执行超时
5.应用重启后,又正常了,但是隔几天又会出现这个问题
6.和这个帖子的情况基本差不多https://eco.dameng.com/community/question/7b733354d323421e2f58b81e1db7e0e5
备注:
java程序中引用的驱动包信息
数据库里面drivers里面是以下的
不知道是否是驱动的问题
同一个事务内,要么全成功,要么全失败,即使你insert成功了,在执行update时失败,最后insert也会回滚,整个操作回到初始状态。
根据你描述的现象,应该不是一个事务内,insert之后作了提交动作,update失败的原因,可以调试一下代码,报错是什么造成的
同时间内是否只有一个事务在执行?如果存在多个事务同时对同一行数据操作,可能导致出现锁卡住,比如事务一对某条数据进行update,未提交前,事务二对这条数据也进行update,那就会出现锁,可以通过v$trx_wait视图查询是否存在阻塞。