我继承了一个在Oracle数据库之上使用Atomikos进行事务处理的应用程序。在生产部署中,事务日志记录始终通过设置com.atomikos.icatch.enable_logging = true来启用,但事实是我找不到有关这些日志的确切用途的任何信息。
atomikos网站声明“这绝不应该禁止生产或数据完整性无法保证”而且我在该网站的jta.properties中发现了一条评论说“存在重启或崩溃后丢失数据的风险”如果它被禁用。
我们不在我们的开发环境中启用它,并且能够正常使用该应用程序。我认为它们可能会在应用程序崩溃的情况下使用,但如果是这样,我不确定它们是如何使用的。也许在下次启动时自动或以某种方式手动?在数据完整性方面,我知道Oracle支持自己的数据恢复,但这些事务日志可能包含Oracle尚未见过的数据,例如:如果春天崩溃了。
答案 0 :(得分:0)
http://fogbugz.atomikos.com/default.asp?community.6.1950.6似乎表明事务日志仅用于恢复,如果您不需要它们进行恢复,则可以禁用它们。
答案 1 :(得分:0)
这些日志将事务信息保存在数据库中可能尚未知的最新修订版中。没有这个设置,崩溃/重启后的恢复可能是不正确的。
HTH 盖
答案 2 :(得分:0)
在我回答你的问题之前,你需要在这里阅读这篇文章的开头How would you tune Distributed ( XA ) transaction for performance?以获得热学。
Atomikos充当交易协调员,负责协调不同数据库的参与者。作为协调员,它协调不同数据库之间的事务处理过程。这与警察在十字路口中间所做的工作同样重要。
Atomikos编写其日志文件,以便了解它在分布式事务过程中的确切位置。如果发生故障,它可以跟踪其未经授权的事务进度并尝试从之前中断的位置。因此,事务日志对于事务恢复过程非常重要。