为什么H2数据库文件的增长远大于数据大小?

时间:2018-11-22 12:49:58

标签: java database h2

我有大约500MB的H2数据库。 H2的版本是1.2.147。 数据库的存储引擎是PageStore。 JDBC URL如下。

  

jdbc:h2:file:// C:/ H2 / client; IFEXISTS = TRUE; MVCC = TRUE; DATABASE_EVENT_LISTENER ='dummy.H2DBMonitor'; AUTO_SERVER = TRUE; LOG = 2

我制作了H2 1.4.192版本,而没有更改数据库的存储引擎。 当我的客户使用数据库时,发生了数据库文件大小扩展到最大80GB的问题。

当我关闭连接时,数据库文件应该变小,但是数据库文件的大小却不会变小并且可能会变大。

在1.2.147中不发生这种现象。 这个问题是H2数据库的错误吗?

此外,我从trace.db中收到以下错误。

  

pageStore:事务日志无法被截断;大小:462MB

该错误与这个问题有关吗?

1 个答案:

答案 0 :(得分:0)

我对5.2GB数据库文件有类似的问题。我在H2控制台中执行了以下命令:

shutdown compact

现在我有一个300MB的文件。也许可以帮到您。

有关更详细的步骤: https://stambia.org/kb/17-runtime-issues/147-the-h2-log-database-s-file-won-t-reduce-after-a-session-purge