首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用[42000-200]运行H2恢复脚本失败

使用[42000-200]运行H2恢复脚本失败
EN

Stack Overflow用户
提问于 2021-11-13 06:56:35
回答 1查看 201关注 0票数 0

我的H2数据库已经损坏(原因不明),有java.lang.IllegalStateException: Chunk 1936 not found [1.4.200/9]。现在我试着恢复数据。我采取了以下步骤:

  1. java -cp h2*.jar org.h2.tools.Recover
  2. java -cp h2*.jar org.h2.tools.RunScript -url “jdbc:h2:file:~/tmp/recovery” -user user -password password -script file_generated_by_previous_step.mv.txt -showResults

第二步启动并生成大量输出(关于已处理的根和块),但随后出错:

代码语言:javascript
运行
复制
 [42000-200]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:453)
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:429)
        at org.h2.message.DbException.get(DbException.java:205)
        at org.h2.message.DbException.get(DbException.java:181)
        at org.h2.message.DbException.getSyntaxError(DbException.java:229)
        at org.h2.command.Parser.getSyntaxError(Parser.java:1051)
        at org.h2.command.Parser.parsePrepared(Parser.java:1013)
        at org.h2.command.Parser.parse(Parser.java:843)
        at org.h2.command.Parser.parse(Parser.java:819)
        at org.h2.command.Parser.prepareCommand(Parser.java:738)
        at org.h2.engine.Session.prepareLocal(Session.java:657)
        at org.h2.engine.Session.prepareCommand(Session.java:595)
        at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1235)
        at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:212)
        at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:201)
        at org.h2.tools.RunScript.process(RunScript.java:224)
        at org.h2.tools.RunScript.process(RunScript.java:192)
        at org.h2.tools.RunScript.process(RunScript.java:328)
        at org.h2.tools.RunScript.runTool(RunScript.java:143)
        at org.h2.tools.RunScript.main(RunScript.java:70)

因此,生成的recovery.mv.db只是一个没有数据的空数据库。

请帮助从损坏的H2数据库中提取任何数据。我发誓我再也不会使用这个数据库了。

EN

回答 1

Stack Overflow用户

发布于 2022-06-01 19:41:15

您发布的错误可能是由于关机碎片整理过程中的错误造成的。

我也遇到了同样的问题,并通过使用最新版本的H2打开DB来解决这个问题,在编写本报告时这个版本是2.1.212。

供参考,H2的变化和(怀疑)问题链接停工后腐败的可能性

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69952158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档