如何检查 h2 数据库运行状况和损坏情况

Posted

技术标签:

【中文标题】如何检查 h2 数据库运行状况和损坏情况【英文标题】:How to check h2 database health and corruption 【发布时间】:2015-09-22 21:53:30 【问题描述】:

我在 JavaFX 8 桌面应用程序中以嵌入式模式使用 h2 数据库,并且我为用户开发了一个选项来备份和恢复数据库文件。

在旧版本的程序中,我使用了 SQLite 数据库,使用此命令 pragma integrity_check 检查数据库文件非常简单。

对 h2 数据库使用该命令总是会引发异常。

h2 数据库中的替代方案是什么?是否有明确或更合适的方法在使用 h2 数据库文件之前对其进行检查?

感谢任何帮助或代码示例,谢谢。

【问题讨论】:

我认为没有内置函数,但你可以看看functions docs 【参考方案1】:

您可以执行script to 命令,例如使用压缩。如果该命令有效,则数据库是好的。同时,您还有备份。

【讨论】:

感谢您的回答。能否提供代码示例? 代码示例:这取决于你想在哪里以及如何存储脚本......我给你的​​链接向你展示了语法。示例:script to '~/db/backup-2015-09-23.zip' compression zip 我可以使用 SCRIPT TO 恢复索引损坏的数据库,因此这不是有效的一致性检查(至少对于 1.4.197)

以上是关于如何检查 h2 数据库运行状况和损坏情况的主要内容,如果未能解决你的问题,请参考以下文章

数据交换运行状况检查

H2 数据库:NIO JVM 错误消息是不是与 H2 相关(可能还有数据库损坏)?

从损坏的 h2 数据库文件中恢复所有可能的信息

如何在没有 http 的情况下为 graphql apis 编写健康检查

检查 Advantage 数据库连接的运行状况

从 Hibernate 处理的 h2 数据库的表中删除是不是会损坏表?