从 HSQLDB LOBS 文件增长中恢复的最佳方法
Posted
技术标签:
【中文标题】从 HSQLDB LOBS 文件增长中恢复的最佳方法【英文标题】:Best way to recover from HSQLDB LOBS file growth 【发布时间】:2016-06-06 06:19:01 【问题描述】:我有一个包含很多 LOB 的 HSQLDB 数据库。 LOB 文件已经增长到导致机器崩溃的程度。
我在 LOBs 文件中有一些可以删除的数据。
处理这种情况的最佳方法是什么?执行备份将仅导出实际的 LOB,还是将文件与内部空间一起导出? (即整个稀疏 LOB 文件)
我尝试过 CHECKPOINT DEFRAG,但这似乎在 2.3.2 中不起作用,删除未使用的 LOB 后 LOB 文件继续增长。
【问题讨论】:
【参考方案1】:在 2.3.4 版中,检查点会导致将 .lobs
文件截断为数据库表中引用的最后一个 LOB。文件中的任何空白空间都将被重新用于未来的 lob。
如果数据库中的live lobs相对较少,可以将带有LOBs的列类型转换为VARCHAR或VARBINARY,执行CHECKPOINT,然后SHUTDOWN,然后删除.lobs文件。然后您可以重新打开并将列类型转换回 CLOB 和 BLOB。
【讨论】:
以上是关于从 HSQLDB LOBS 文件增长中恢复的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章