历史版本4 :FineDB 过大的解决方案 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

在工程运行过程中,可能会出现报表的 FineDB 过大的情况,导致决策平台运行变慢,或者引起其他异常。下面介绍排查办法:


1.1 步骤一

将 FineDB 另存一份,然后使用设计器或者其他第三方工具连接到 FineDB,连接方法参见:报表内置 HSQL 数据库 FineDB 或者 如何使用第三方管理软件连接报表内置 HSQL 数据库FineDB

逐个查询里面的所有表,例如:SELECT * FROM PUBLIC.FR_CRONEXPRESSION_ITRIGGER 或者 SELECT COUNT(*) FROM PUBLIC.FR_CRONEXPRESSION_ITRIGGER,看下是否有报错或者有数据量异常大的表,如果有的话,可以联系帆软技术支持协助处理修改。


1.2 步骤二

如果查看了所有表都没有发现异常情况,可能是因为 HSQLDB 在频繁的增删改后,删除数据占据的空间并没有释放(我们称之为空闲空间),所以就容易出现数据量不大,但是 FineDB 文件占用空间过大的情况。

可以用第三方工具连接 HSQL 后,用 SQL 执行 CHECKPOINT DEFRAG,此种方式会立即回收空闲空间,而且不会关闭 hsqldb 服务,执行成功后会发现 FineDB 明显变小,从几 G 变成几 M,重新连接 FineDB,检查原有数据是否正常,如果正常,可以替换掉之前过大的 FineDB。


1.3 步骤三


推荐 HSQL 迁移到其他数据库,参见文档:配置外接数据库