首批通过分布式安全可靠测评,为关键业务系统打造
OceanBase 数据库 V3.x 集群日志备份因 locate_ilog_by_log_id fail(ret=-4016 中断的原因及解决方法
更新时间:2026-05-11 09:51
问题现象
OceanBase 机器日志备份异常中断,如下图。

且伴随如下异常日志。
2025-02-12 06:11:24.825066] WARN [ARCHIVE] locate_ilog_by_log_id (ob_archive_log_wrapper.cpp:126) [96765][0][Y0-0000000000000000-0-0] [lt=19] [dc=0] invalid file id(ret=-4016, ret="OB_ERR_UNEXPECTED", pg_key={tid:1102810162709434, partition_id:0, part_cnt:0}, start_log_id=107227, ilog_id=4294967295)
[2025-02-12 06:11:24.825082] WARN [ARCHIVE] locate_ilog_by_log_id (ob_archive_log_wrapper.cpp:138) [96765][0][Y0-0000000000000000-0-0] [lt=13] [dc=0] locate_ilog_by_log_id fail(ret=-4016, ret="OB_ERR_UNEXPECTED", retry_time++=1)
[2025-02-12 06:11:24.825096] ERROR [ARCHIVE] locate_pg_start_ilog_file_id_ (ob_start_archive_helper.cpp:381) [96765][0][Y0-0000000000000000-0-0] [lt=10] [dc=0] locate_ilog_by_log_id fail(ret=-4016, ret="OB_ERR_UNEXPECTED", pg_key_={tid:1102810162709434, partition_id:0, part_cnt:0}) BACKTRACE:0xfcebfe0 0x582958f 0x5979013 0x5978c4f 0x59789b3 0x5e79141 0xa0d32ab 0xa0d1067 0xa0d06cf 0xa0833dd 0xa082364 0xa081018 0xa08098b 0xa08072e 0x5977284 0xfbc0cf3 0xfbc0b4f 0xfe639cf
[2025-02-12 06:11:24.825137] ERROR [ARCHIVE] mark_fatal_error (ob_archive_round_mgr.cpp:154) [96765][0][Y0-0000000000000000-0-0] [lt=31] [dc=0] mark_fatal_error succ(incarnation=1, archive_round=15, pg_key={tid:1102810162709434, partition_id:0, part_cnt:0}, reason="DECIDE_START_LOG", ret=-4016) BACKTRACE:0xfcebfe0 0x582958f 0x598d161 0x598cd8f 0x598ca5c 0xa148120 0xa098ca6 0xa06e6c4 0xa0d1092 0xa0d06cf 0xa0833dd 0xa082364 0xa081018 0xa08098b 0xa08072e 0x5977284 0xfbc0cf3 0xfbc0b4f 0xfe639cf
[2025-02-12 06:11:24.825162] WARN [ARCHIVE] handle_pg_start_archive_ (ob_start_archive_helper.cpp:162) [96765][0][Y0-0000000000000000-0-0] [lt=21] [dc=0] locate_pg_start_ilog_id_ fail(ret=-4016, ret="OB_ERR_UNEXPECTED", pg_key_={tid:1102810162709434, partition_id:0, part_cnt:0})
关键诊断信息
关键日志信息如下。
[2025-02-12 06:11:24.825096] ERROR [ARCHIVE] locate_pg_start_ilog_file_id_ (ob_start_archive_helper.cpp:381) [96765][0][Y0-0000000000000000-0-0] [lt=10] [dc=0] locate_ilog_by_log_id fail(ret=-4016, ret="OB_ERR_UNEXPECTED", pg_key_={tid:1102810162709434, partition_id:0, part_cnt:0}) BACKTRACE:0xfcebfe0 0x582958f 0x5979013 0x5978c4f 0x59789b3 0x5e79141 0xa0d32ab 0xa0d1067 0xa0d06cf 0xa0833dd 0xa082364 0xa081018 0xa08098b 0xa08072e 0x5977284 0xfbc0cf3 0xfbc0b4f 0xfe639cf
问题原因
OceanBase 数据库集群在进行日志备份时需要依赖 ilog 文件,ilog 文件的信息存储在缓存中,如果日志备份期间从缓存中获取不到所需要的 ilog 信息,此时会出现 -4016 异常,缓存中的信息不存在的原因一般是磁盘上的 ilog 文件被清理导致,ilog 文件被清理的原因一般是归档延迟过大造成(即中断之前存在长时间的归档延迟)。
问题的风险及影响
日志备份中断。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
适用版本
OceanBase 数据库 V2.x、V3.x 版本。
解决方法
重新启动日志备份即可。
规避方式
避免日志备份处于长时间延迟的状态,需及时处理。