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迁移到其他数据库,参见文档:平台数据迁移


附件列表


主题: 性能优化

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(微信ID:frbiaoge)