Java Derby DB-文件大小泄漏

Java Derby DB-文件大小泄漏,java,database,memory-leaks,derby,Java,Database,Memory Leaks,Derby,我们的一个远程部署的java应用程序(带有本地derby db)偶尔会因为在表上等待事务完成而被锁定。每24小时,应用程序就会将这个derby db与我们的Juggernott oracle服务器同步,这意味着在交付内容后,它会清除所有表,然后完全重新填充 我打开引擎盖,发现其中一个表的.dat文件已扩展到100Mb。我不确定到底需要多长时间才能到达这一点,因为当事情同步时,用户通常不在身边。这种逐渐放缓的趋势直到看起来完全停止后才被报道。我目前也不确定逻辑上是如何实现的,因为虽然autocom

我们的一个远程部署的java应用程序(带有本地derby db)偶尔会因为在表上等待事务完成而被锁定。每24小时,应用程序就会将这个derby db与我们的Juggernott oracle服务器同步,这意味着在交付内容后,它会清除所有表,然后完全重新填充

我打开引擎盖,发现其中一个表的.dat文件已扩展到100Mb。我不确定到底需要多长时间才能到达这一点,因为当事情同步时,用户通常不在身边。这种逐渐放缓的趋势直到看起来完全停止后才被报道。我目前也不确定逻辑上是如何实现的,因为虽然autocommit已关闭,但代码似乎非常紧凑

在谷歌搜索之后,我认为可能发生的是一个旧的事务不知何故被遗忘了,既没有提交也没有回滚——未来的同步清除表并重新填充,实际上每次同步都会按原始大小增长文件,因为它会跟踪其整个历史回到那个旧点

有没有办法证实这一点和/或我是否完全走错了方向?是否可以列出旧的或长期运行的事务?如果找到任何磁盘空间,我如何清除它们?清除它们会回收磁盘空间吗