从HSQLDB LOBS文件增长中恢复的最佳方法

时间:2016-06-06 06:19:01

标签: hsqldb

我有一个包含大量LOB的HSQLDB数据库。 LOB文件已经发展到导致机器崩溃的程度。

我在LOBs文件中有一些数据可以删除。

处理这种情况的最佳方法是什么?执行备份只会导出实际的LOB,还是会用内部空间导出文件? (即整个稀疏LOB文件)

我已经尝试过CHECKPOINT DEFRAG,但这似乎在2.3.2中不起作用,LOBs文件在删除未使用的LOB后继续增长。

1 个答案:

答案 0 :(得分:0)

对于版本2.3.4,CHECKPOINT会导致.lobs文件截断到数据库表中引用的最后一个LOB。然后,文件中的任何空白空间将被重用用于将来的lobs。

如果数据库中的活动lob相对较少,则可以将具有LOB的列类型转换为VARCHAR或VARBINARY,执行CHECKPOINT,然后SHUTDOWN,然后删除.lobs文件。然后,您可以重新打开并将列类型转换回CLOB和BLOB。