为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:0x7000c
【操作系统】:linux
【CPU】:feiteng
【问题描述】*:在一张2000万数据量的表中执行了update table_a set b = a的操作,执行时间过长,在执行了1小时后按了红色停止键。执行该操作后数据库响应慢,发现这条更新语句一直在回滚,持续了12小时后仍旧未回滚完毕。执行SP_CLOSE_SESSION无法关闭对应会话;删除表的索引,更改表的字段都显示“锁超时”。现在想取消回滚,无需考虑字段b的值的问题,请问需要如何处理?
可以试试在dm.ini中设置PSEG_RECV此参数跳过回滚,设置后重启生效,不过此参数慎用。如果不跳过,则等待即可,可通过查询v$trx视图查看回滚情况,里面upd_cnt即为更新回滚记录数,变为0则回滚完成
