基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
桌面版 ODC 启动失败/h2数据库损坏 Chuck not found
更新时间:2026-04-13 15:40:48
问题现象
桌面版 ODC 启动失败,报错日志中提示:"java.lang.IllegalStateException: Chunk *** not found"。

问题原因
桌面版 ODC 的 h2database 元数据库损坏,具体请参考 GitHub 的 IllegalStateException: Chunk not found in v1.4.200/9 和 Cursor sporadically fail with 'IllegalStateException: Chunk {number} not found'。
解决方法
修复元数据库文件。
步骤 1: 下载恢复工具
注意
需要根据 h2 对应的版本进行下载,ODC 目前支持 1.4.200。

步骤 2:生成恢复 SQL 语句
查看元数据文件路径。桌面版 ODC 的元数据维护在嵌入式数据库 h2database 中:
Windows 系统下的数据文件路径 %USERPROFILE%\AppData\Roaming\odc\。
修复元数据库文件。
cd %USERPROFILE%\AppData\Roaming\odc\MacOS 系统下的数据文件路径
/Users/{user}/Library/Application Support/odc。cd ~/"Library/Application Support/odc" ls odc*.db #查看以下 2 个文件,即 h2database 数据库对应的数据文件 #odc2.0.mv.db odc2.0.trace.db
将损坏的 ODC 元数据库文件 odc2.0.mv.db拷贝至 h2\bin\路径下。
进入 cmd 执行 java -cp h2-1.4.200.jar org.h2.tools.Recover,路径下会生成 odc2.0.h2.sql,如下图所示。

步骤 3:执行恢复 SQL 语句
生成新的数据库 odc2.1。参考命令如下:
java -cp h2-1.4.200.jar org.h2.tools.RunScript -url jdbc:h2:./odc2.1 -user sa -password '' -script odc2.0.h2.sql执行完成后,路径下会产生文件 odc2.1.mv.db。
步骤 4:拷贝恢复的数据库文件至 ODC 安装路径
将 odc2.1.mv.db文件拷贝至元数据库文件所在路径下,并将其重命名为 odc2.0.mv.db。
重启 ODC。