首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用“恢复工具”修复perfino h2数据库?

如何使用“恢复工具”修复perfino h2数据库?
EN

Stack Overflow用户
提问于 2017-01-27 16:15:11
回答 1查看 16.6K关注 0票数 3

我们的Perfino服务器最近崩溃了,从那时起记录错误如下所示。(有一些线索暗示OutOfMemory会导致数据库损坏。)

建议:“可能的解决方案:使用恢复工具”。但是,无论是官方的perfino文档还是日志,都没有提供更多关于如何进行操作的说明。

因此,这里的问题是:如何使用恢复工具?

堆栈跟踪:

代码语言:javascript
复制
ERROR [collector] server: could not load transaction data
org.h2.jdbc.JdbcSQLException: File corrupted while reading record: "[495834] stream data key:64898 pos:11 remaining:0". Possible solution: use the recovery tool; SQL statement:
SELECT value FROM transaction_names WHERE id=? [90030-176]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
    at org.h2.message.DbException.get(DbException.java:178)
    at org.h2.message.DbException.get(DbException.java:154)
    at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:242)
    at org.h2.index.PageDataNode.getNextPage(PageDataNode.java:233)
    at org.h2.index.PageDataLeaf.getNextPage(PageDataLeaf.java:400)
    at org.h2.index.PageDataCursor.nextRow(PageDataCursor.java:95)
    at org.h2.index.PageDataCursor.next(PageDataCursor.java:53)
    at org.h2.index.IndexCursor.next(IndexCursor.java:278)
    at org.h2.table.TableFilter.next(TableFilter.java:361)
    at org.h2.command.dml.Select.queryFlat(Select.java:533)
    at org.h2.command.dml.Select.queryWithoutCache(Select.java:646)
    at org.h2.command.dml.Query.query(Query.java:323)
    at org.h2.command.dml.Query.query(Query.java:291)
    at org.h2.command.dml.Query.query(Query.java:37)
    at org.h2.command.CommandContainer.query(CommandContainer.java:91)
    at org.h2.command.Command.executeQuery(Command.java:197)
    at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:109)
    at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:353)
    at com.perfino.a.f.b.a.a(ejt:70)
    at com.perfino.a.f.o.a(ejt:880)
    at com.perfino.a.f.o.a(ejt:928)
    at com.perfino.a.f.o.a(ejt:60)
    at com.perfino.a.f.aa.a(ejt:783)
    at com.perfino.a.f.o.a(ejt:847)
    at com.perfino.a.f.o.a(ejt:792)
    at com.perfino.a.f.o.a(ejt:787)
    at com.perfino.a.f.o.a(ejt:60)
    at com.perfino.a.f.ac.a(ejt:1011)
    at com.perfino.b.a.b(ejt:68)
    at com.perfino.b.a.c(ejt:82)
    at com.perfino.a.f.o.a(ejt:1006)
    at com.perfino.a.i.b.d.a(ejt:168)
    at com.perfino.a.i.b.d.b(ejt:155)
    at com.perfino.a.i.b.d.b(ejt:52)
    at com.perfino.a.i.b.d.a(ejt:45)
    at com.perfino.a.i.a.b.a(ejt:94)
    at com.perfino.a.c.a.b(ejt:105)
    at com.perfino.a.c.a.a(ejt:37)
    at com.perfino.a.c.c.run(ejt:57)
    at java.lang.Thread.run(Thread.java:745)
EN

回答 1

Stack Overflow用户

发布于 2018-06-20 15:46:01

我发现这篇文章试图修复一个Confluence内部h2数据库,这对我来说是有效的。下面是一个shell脚本,它是一个我的GitHub上的要点,其中包含了我所做的工作--您将不得不根据您的环境进行调整。

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

https://stackoverflow.com/questions/41898380

复制
相关文章

相似问题

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