客户端版 ODC 安装问题https://help.aliyun.com/document_detail/214227.html?spm=a2c4g.212816.0.i1
参考文档https://help.aliyun.com/document_detail/214227.html?spm=a2c4g.212816.0.i1
问题现象
Windows 系统下,桌面版 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'。
适用版本
Windows 系统下,ODC V3.x 和 V4.x。
解决方法
方法一:对元数据库文件进行修复
步骤 1: 下载恢复工具
下载并安装恢复工具。
步骤 2:生成恢复 SQL 语句
查看元数据文件路径。桌面版 ODC 的元数据维护在嵌入式数据库 h2database 中:
Windows 系统下的数据文件路径 %USERPROFILE%\AppData\Roaming\odc\。
修复元数据库文件。
cd %USERPROFILE%\AppData\Roaming\odc\
Mac 系统下的数据文件路径 /Users/{user}/Library/Application Support/odc。
cd ~/"Library/Application Support/odc"
ls odc*.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。
参考文档https://www.oceanbase.com/knowledge-base/odc-1000000000234599
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。