基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
OceanBase 数据库 V3.x 版本中读引用计数泄露,导致删除列时报错-4694,check drop column failed 的原因和解决方法
更新时间:2026-05-21 09:16
问题现象
OceanBase 数据库在删除列的时候,报错 -4694, check drop column failed。
关键日志信息。
[2024-08-23 13:40:49.597848] WARN [SERVER] check_frozen_version (ob_service.cpp:1409) [478547][0][xxxxx-xxxxx-xxxxx-xxxxx] [lt=16] [dc=0] last merged version not match(ret=-4694, arg={frozen_version:988}, last_merged_version=980)
observer.log.20240826175839:[2024-08-26 17:50:54.297327] ERROR [STORAGE.TRANS] wait_all_trans_clear (ob_trans_ctx_mgr.cpp:2730) [479746][0][Y0-0000000000000000-0-0] [lt=11] [dc=0] wait all trans clear error(ret=-4023, ctx_mgr={this:0x7f426bc24b30, partition:{tid:1181974999923717, partition_id:0, part_cnt:0}, state:5, ctx_type:2, read_only_count:1, active_read_write_count:0, total_ctx_count:1, restore_snapshot_version:-1, last_restore_log_id:18446744073709551615, last_restore_log_ts:-1, uref:1073741823}) BACKTRACE:0xfcf2ec0 0x582a58f 0x586b87f 0x586b4bf 0x586b378 0xb6c0266 0xb605b38 0xb60587d 0xb619a31 0xb8d2515 0xadc8abf 0xadc96de 0xbb2a9fc 0xbb2b318 0xb07bd66 0xb07b01e 0x5978284 0xfbc7bc3 0xfbc7a1f 0xfe6a8af
触发条件
存在读事务引用技术泄露,导致 partition 无法 gc。
问题原因
因 OceanBase 数据库内部缺陷导致事务相关资源清理异常,进而导致某些副本无法成功清理,drop column 失败。
问题的风险及影响
影响列的删除。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
适用版本
OceanBase 数据库 V3.x 版本。
解决方法及规避方式
重启异常 OBServer 节点。