---
title: "桌面版 ODC 启动失败/h2数据库损坏 Chuck not found - 开发者中心 ODC V4.2.2 | OceanBase 文档中心"
description: "桌面版 ODC 启动失败/h2数据库损坏 Chuck not found 问题现象 桌面版 ODC 启动失败，报错日志中提示： &quot;java.lang.IllegalStateException: Chunk *** not found&quot; 。 问题原因 桌面版 ODC 的 h2database 元数据库损坏，具体请参考…"
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*lqS5SYzz_YEAAAAAAAAAAAAADiGDAQ/original) 开发者中心 ODCV 4.2.2

# 桌面版 ODC 启动失败/h2数据库损坏 Chuck not found

更新时间：2026-04-13 15:40:48

[编辑](https://github.com/oceanbase/odc-doc/edit/V4.2.2/zh-CN/1300.troubleshooting/300.common-troubleshooting/600.client-odc-problems/100.chuck-not-found.md)  

## 问题现象

桌面版 ODC 启动失败，报错日志中提示：`"java.lang.IllegalStateException: Chunk *** not found"`。

![1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/KB/knowledge-base/diagnose/8/1.png)

## 问题原因

桌面版 ODC 的 h2database 元数据库损坏，具体请参考 GitHub 的 [IllegalStateException: Chunk not found in v1.4.200/9](https://github.com/h2database/h2database/issues/2907) 和 [Cursor sporadically fail with 'IllegalStateException: Chunk {number} not found'](https://github.com/h2database/h2database/issues/2118)。

## 解决方法

修复元数据库文件。

### **步骤 1：** 下载恢复工具

[下载并安装恢复工具](http://www.h2database.com/html/download-archive.html)。

#### 注意

需要根据 h2 对应的版本进行下载，ODC 目前支持 1.4.200。

![2](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/KB/3.common-troubleshooting/6.client-odc-problems/1.chuck-not-found/2.png)

### 步骤 2：生成恢复 SQL 语句

1. 查看元数据文件路径。桌面版 ODC 的元数据维护在嵌入式数据库 h2database 中：

      - Windows 系统下的数据文件路径 %USERPROFILE%\AppData\Roaming\odc\。

       修复元数据库文件。

       ```shell
       cd %USERPROFILE%\AppData\Roaming\odc\

       ```
      - MacOS 系统下的数据文件路径 `/Users/{user}/Library/Application Support/odc`。

       ```shell
       cd ~/"Library/Application Support/odc"
       ls odc*.db

       #查看以下 2 个文件，即 h2database 数据库对应的数据文件
       #odc2.0.mv.db    odc2.0.trace.db

       ```
 2. 将损坏的 ODC 元数据库文件 odc2.0.mv.db拷贝至 h2\bin\路径下。
 3. 进入 cmd 执行 java -cp h2-1.4.200.jar org.h2.tools.Recover，路径下会生成 odc2.0.h2.sql，如下图所示。

   ![3](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/KB/3.common-troubleshooting/6.client-odc-problems/1.chuck-not-found/3.png)

### 步骤 3：执行恢复 SQL 语句

1. 生成新的数据库 odc2.1。参考命令如下：

   ```shell
   java -cp h2-1.4.200.jar org.h2.tools.RunScript -url jdbc:h2:./odc2.1 -user sa -password '' -script odc2.0.h2.sql

   ```
 2. 执行完成后，路径下会产生文件 odc2.1.mv.db。

### 步骤 4：拷贝恢复的数据库文件至 ODC 安装路径

1. 将 odc2.1.mv.db文件拷贝至元数据库文件所在路径下，并将其重命名为 odc2.0.mv.db。
 2. 重启 ODC。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
