Transactions Glassfish 4:为什么我有很多旧的事务日志?(位于/logs/server/tx/)

Transactions Glassfish 4:为什么我有很多旧的事务日志?(位于/logs/server/tx/),transactions,glassfish,glassfish-4,Transactions,Glassfish,Glassfish 4,查看目录myDomain/logs/server/tx,我看到许多(超过300个)来自不同日期的extent.*文件(有些超过2个月) 我试图理解(1)为什么我有这么多这样的文件,(2)它们是在什么情况下创建/删除的,(3)它们持有什么交易细节?(我可以查看这些详细信息吗?) (在Oracle的文档页面中找不到这些问题的答案-主要依赖于第20节“管理交易”)以下是我设法收集的信息,解释了我上面的问题。 基本上,这些extent.*文件包含不完整的事务(由于阻止事务完成的任何原因,如数据库断开连接

查看目录myDomain/logs/server/tx,我看到许多(超过300个)来自不同日期的extent.*文件(有些超过2个月)

我试图理解(1)为什么我有这么多这样的文件,(2)它们是在什么情况下创建/删除的,(3)它们持有什么交易细节?(我可以查看这些详细信息吗?)


(在Oracle的文档页面中找不到这些问题的答案-主要依赖于第20节“管理交易”)

以下是我设法收集的信息,解释了我上面的问题。 基本上,这些extent.*文件包含不完整的事务(由于阻止事务完成的任何原因,如数据库断开连接等)

因此,要回答这些问题: (1) 由于许多失败的事务,有许多打开的文件。 (2) 如上所述,它们是在每次未能完成交易时创建的。当服务器停止时,可以手动删除;当您确定无需恢复此类失败的事务时,可以手动删除。您还可以激活Glassfish的“自动恢复”功能,让Glassfish在重新启动时尝试恢复事务,并删除相应的事务日志。 (3) 我找不到允许查看失败事务相关信息的工具

您可能还想查看以下链接,这些链接描述了何时激活事务日志记录。基本上,相关设置位于配置>配置名称>事务服务中。如果未选中“重新启动时恢复”属性且未设置“禁用分布式事务日志记录”属性,Glassfish将写入事务日志