HSQLDB停止执行定期CHEKPOINT操作,日志文件不断增长

HSQLDB停止执行定期CHEKPOINT操作,日志文件不断增长,hsqldb,Hsqldb,我们使用hsqldb(2.2.8)作为运行在TomcatWeb服务器(6.19)上的web应用程序的内存数据库。我们已将日志文件的最大大小设置为hsqldb.log_size=200(即200 MB) 但对于生产环境的某些实例,日志文件(~/tomcat/work/hypersonic/localDB.log)的增长远远超过了该范围(40GB) 进一步查看日志,我们发现DB停止执行检查点操作。HSQL DB在执行定期检查点操作时的默认行为是什么?我们是否可以停止增长此日志文件 在.log的大小

我们使用hsqldb(2.2.8)作为运行在TomcatWeb服务器(6.19)上的web应用程序的内存数据库。我们已将日志文件的最大大小设置为hsqldb.log_size=200(即200 MB)

但对于生产环境的某些实例,日志文件(~/tomcat/work/hypersonic/localDB.log)的增长远远超过了该范围(40GB)


进一步查看日志,我们发现DB停止执行检查点操作。HSQL DB在执行定期检查点操作时的默认行为是什么?我们是否可以停止增长此日志文件

在.log的大小达到其限制后,将在提交到数据库的所有连接时执行检查点操作。您可能有一个尚未提交的连接

您可以检查INFORMATION_SCHEMA.SYSTEM_SESSIONS表,查看事务中是否存在会话。可以使用ALTERSESSION语句重置此类会话


感谢您的回复。你认为这是因为一些长期运行的SQL吗?另外,您是否认为运行ALTER SESSION一次就可以解决问题(我的意思是,我们是否每次都必须运行它,或者您是否怀疑某个长时间挂起/卡住的事务会造成所有这些问题…?最后,您能否给出一些ALTER SESSION语句的示例)我运行了一个SELECT*FROM INFORMATION_SCHEMA.SYSTEM_SESSIONS,它列出了10个活动会话,所有会话都将其事务列显示为“false”,但我正在执行查询的会话除外。所以这真的让我很困惑该关闭哪个会话。还有等待这个,这个等待也返回空。在这种情况下,这是一个异常。连接时尝试执行检查点。