首批通过分布式安全可靠测评,为关键业务系统打造
节点 OCP 的 Meta 无法启动报错 -4104,ilog 丢失的原因及解决方法
更新时间:2026-07-02 15:41
问题现象
单节点的 OCP Meta 启动报错,OBServer 日志报错 -4104,导致 OBServer 无法启动。
关键诊断信息
启动 OBServer 日志报错 4104。
grep 'main.cpp' observer.log输出结果如下:
[2024-03-26 19:38:05.293035] INFO [SERVER] main.cpp:505 [454][0][Y0-0000000000000000] [lt=6] observer is start(observer_version="OceanBase 2.2.77") [2024-03-26 19:38:10.721647] ERROR [SERVER] main (main.cpp:507) [454][0][Y0-0000000000000000] [lt=3] [dc=0] observer init fail(ret=-4104) BACKTRACE:0xd040367 0x8bc2d3b 0x3268197 0x326878f 0x3268fbb 0x32761ab 0xffff18001713 0x326418b 0x326418a [2024-03-26 19:38:11.022256] INFO [SERVER] main.cpp:521 [454][0][Y0-0000000000000000] [lt=32] [dc=0] observer is exit(observer_version="OceanBase 2.2.7过滤进程 id。
grep '\[454\]' observer.log输出结果如下。
[2024-03-26 19:38:06.858268] INFO [SHARE] ob_log_dir_scanner.cpp:123 [454][0][Y0-0000000000000000] [lt=21] [dc=0] ObLogDirScanner initialize successfully[min_log_id_=1590 max_log_id_=2031 max_ckpt_id_=0], but log files in "/home/admin/oceanbase/store/obcluster/ilog" directory is not continuous [2024-03-26 19:38:06.858294] ERROR [COMMON] conform_disk_files (ob_log_disk_manager.cpp:785) [454][0][Y0-0000000000000000] [lt=24] [dc=0] no disk contains complete logs(ret=-4018) BACKTRACE:0xd040367 0x8bc2d3b 0x3268197 0x326878f 0x74c121b 0x74f06b3 0x74f34c3 0x74f37ff 0x766441f 0x7656e2f 0x76ff373 0x764504f 0x759f41b 0x8495777 0x984bc73 0x9865aff 0x3275a67 0xffff18001713 0x326418b 0x326418a可以看到 ilog 已经不连续,检查 ilog 的目录
/home/admin/oceanbase/store/obcluster/ilog,确实丢失了一部分数据。
问题原因
原因是 ilog 被人为删除,丢失了部分 ilog。
问题的风险及影响
ilog 不可以人工删除,高危操作,影响 OBServer 启动。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
适用版本
OceanBase 数据库 V2.2.x 版本。
解决方法
重新搭建 OCP Meta。
规避方式
禁止删除 OBServer 的 clog、ilog 等 OBServer 自身的文件。