2026.08.21 多选题![]()
OceanBase 中,造成事务回滚的场景包含()
A. 事务执行时间超过 ob_trx_timeout
B. DBA 执行 kill session 杀掉会话
C. OBServer 节点发生宕机
D. SQL 查询执行完成正常返回结果
答案:A、B、C
解析:
-
A. 事务执行时间超过 ob_trx_timeout —
ob_trx_timeout是 OceanBase 的事务超时参数,事务执行超过该阈值后,系统会自动将其回滚,防止长事务占用资源、导致版本堆积。 - B. DBA 执行 kill session 杀掉会话 — 会话被强制终止时,该会话上未提交的事务会被自动回滚,以保证数据一致性。
- C. OBServer 节点发生宕机 — 节点宕机后,该节点上未提交的事务会通过 Paxos 多数派恢复机制被回滚,已提交的事务则由其他副本保证不丢失。
- D. SQL 查询执行完成正常返回结果 — 查询正常返回只是语句执行完毕,不涉及事务回滚;若在显式事务中,后续仍可提交或回滚。