开发者社区> 问答> 正文

下载是[ODC-4.3.1-BP-windows-x64 jre-installer]这个版本的,

image.png

展开
收起
暴力的瑶瑶子 2024-09-02 17:04:34 46 0
来自:OceanBase
3 条回答
写回答
取消 提交回答
  • 问题现象
    Windows 系统下,桌面版 ODC 启动失败,报错日志中提示:"java.lang.IllegalStateException: Chunk * not found"。
    bf51028dfa99d954648c7e37bcd1a966_1.png

    问题原因
    桌面版 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: 下载恢复工具
    下载并安装恢复工具。
    image.png

    步骤 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

    查看以下 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,如下图所示。
    78c873f11acbfbae25122c6f1a5b6120_3.png

    步骤 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

    2024-09-03 08:55:52
    赞同 23 展开评论 打赏
  • f8b02c22-72b1-401e-9e22-c6bbc77e9228.png

    2024-09-02 17:09:32
    赞同 27 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
《云服务器运维之Windows篇》 立即下载
TAKING WINDOWS 10 KERNEL 立即下载
ECS运维指南之Windows系统诊断 立即下载