历史版本3 :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迁移到其他数据库,参见文档:配置外接数据库