---
title: "事务回滚 - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: 事务回滚 当出现以下报错时，表示出现了事务回滚。 对外错误码 内部错误码 信息展示 6002 -6224 transaction need rollback 6002 -6223 Transaction exiting 6002 -6211 Transaction is killed 6002 -6213 Trans…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.5 LTS

# 事务回滚

更新时间：2026-04-07 20:57:19

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/600.manage/1000.troubleshooting/600.transaction/200.transaction-rollback.md)  

当出现以下报错时，表示出现了事务回滚。

| 对外错误码 | 内部错误码 | 信息展示 |
| --- | --- | --- |
| 6002 | -6224 | transaction need rollback |
| 6002 | -6223 | Transaction exiting |
| 6002 | -6211 | Transaction is killed |
| 6002 | -6213 | Transaction context does not exist |

事务回滚不一定是异常，有几类情况会导致事务回滚，例如事务超时，参与者切主等。

以下情况会导致切主的发生：

- 运维场景：switch replica leader、变更 primary zone、remove server、stop server
 - 内部调度场景：迁移 Unit、副本下线、在 primary zone 上补副本
 - 内部异常场景：异常切主

由 Root Service 触发的切主，系统会给现存的活跃事务预留一定时间，等待其执行完成，同时不允许开启新事务。时间到期后，将所有依然活跃的事务迁移到新 Leader。然后切主，新 Leader 继续提供服务。

存在一些场景会导致切主杀事务的发生：

- 切主不是由 RootService 触发，例如异常切主
 - 大事务场景
 - 切主触发迁移事务到新 Leader 的过程中，语句尚未执行结束

当出现事务回滚的报错时，可以通过视图 `DBA_OB_SERVER_EVENT_HISTORY` 确认是否发生了切主。如下示例展示了一个由 switch replica leader 命令触发的切主流程。

1. 查询切主前的日志流 Leader 分布。

   ```shell
   obclient>
   select TENANT_ID,LS_ID,SVR_IP,SVR_PORT,ROLE,PAXOS_MEMBER_LIST from GV$OB_LOG_STAT where tenant_id=1 and ls_id=1;
   +-----------+-------+-------------+----------+----------+---------------------------------------------------------------------------+
   | TENANT_ID | LS_ID | SVR_IP      | SVR_PORT | ROLE     | PAXOS_MEMBER_LIST                                                         |
   +-----------+-------+-------------+----------+----------+---------------------------------------------------------------------------+
   |         1 |     1 | xx.xx.xx.158|     2882 | FOLLOWER | xx.xx.xx.43:2882:1686125578254268,xx.xx.xx.106:2882:1,xx.xx.xx.158:2882:1 |
   |         1 |     1 | xx.xx.xx.43 |     2882 | FOLLOWER | xx.xx.xx.43:2882:1686125578254268,xx.xx.xx.106:2882:1,xx.xx.xx.158:2882:1 |
   |         1 |     1 | xx.xx.xx.106|     2882 | LEADER   | xx.xx.xx.43:2882:1686125578254268,xx.xx.xx.106:2882:1,xx.xx.xx.158:2882:1 |
   +-----------+-------+-------------+----------+----------+---------------------------------------------------------------------------+
   3 rows in set (0.01 sec)

   ```
 2. 执行切主动作。

   ```shell
   obclient>
   alter system switch replica leader ls=1 server='xx.xx.xx.158:2882' tenant='sys';
   Query OK, 0 rows affected (0.01 sec)

   ```
 3. 查询日志流选主事件。

   ```shell
   obclient>
   SELECT VALUE4 HAPPENED_TIME,svr_ip,VALUE1 TENANT_ID,VALUE2 LS_ID,event,name3,value3  FROM DBA_OB_SERVER_EVENT_HISTORY  WHERE module="ELECTION";
   +----------------------------+-------------+-----------+-------+---------------------------+-------+------------------------------------------------------------------------------------------------------------------+
   | HAPPENED_TIME              | svr_ip      | TENANT_ID | LS_ID | event                     | name3 | value3                                                                                                           |
   +----------------------------+-------------+-----------+-------+---------------------------+-------+------------------------------------------------------------------------------------------------------------------+
   | 2023-06-12 23:27:23.291335 | xx.xx.xx.106| 1         | 1     | prepare change leader     | INFO  | leader prepare to change leader : "xx.xx.xx.106:2882" -> "xx.xx.xx.158:2882", reason : MANUAL LEADER             |
   | 2023-06-12 23:27:23.294363 | xx.xx.xx.158| 1         | 1     | change leader to takeover | INFO  | new leader takeover : "xx.xx.xx.106:2882" -> "xx.xx.xx.158:2882"                                                 |
   | 2023-06-12 23:27:23.318691 | xx.xx.xx.43 | 1         | 1     | witness change leader     | INFO  | witness change leader : "xx.xx.xx.106:2882" -> "xx.xx.xx.158:2882"                                               |
   | 2023-06-12 23:27:23.292954 | xx.xx.xx.106| 1         | 1     | change leader to revoke   | INFO  | old leader revoke : "xx.xx.xx.106:2882" -> "xx.xx.xx.158:2882"                                                   |
   | 2023-06-12 23:27:23.541978 | xx.xx.xx.158| 1         | 1     | witness change leader     | INFO  | witness change leader : "xx.xx.xx.106:2882" -> "xx.xx.xx.158:2882"                                               |
   | 2023-06-12 23:27:23.542136 | xx.xx.xx.106| 1         | 1     | witness change leader     | INFO  | witness change leader : "xx.xx.xx.106:2882" -> "xx.xx.xx.158:2882"                                               |
   +----------------------------+-------------+-----------+-------+---------------------------+-------+------------------------------------------------------------------------------------------------------------------+
   6 rows in set (0.02 sec)

   ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
