oceanbase数据库删除数据执行不成功,踩坑经验
使用oceanbase执行删除或者update操作时,要点提交,否则执行完的sql操作并没有作为一个事务提交。如后续再有对该数据进行删除操作,会执行不成功。查询OB_TRANSACTION_PARTICIPANTS表中会有个字段是session_id。原因是A事务未提交,B事务对同一数据执行操作,会因为A事务未提交而阻塞。执行kill session_id;即可杀死未提交的事务。-- 查看当前活动
·
使用oceanbase执行删除或者update操作时,要点提交,否则执行完的sql操作并没有作为一个事务提交。如后续再有对该数据进行删除操作,会执行不成功。
原因是A事务未提交,B事务对同一数据执行操作,会因为A事务未提交而阻塞。
解决方法:
先找出所有事务:
-- 查看当前活动会话和事务
SELECT * FROM GV$OB_PROCESSLIST WHERE COMMAND != 'Sleep';
SELECT * FROM GV$OB_TRANSACTION_PARTICIPANTS;
查询OB_TRANSACTION_PARTICIPANTS表中会有个字段是session_id
执行kill session_id;即可杀死未提交的事务

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)