【问题标题】:What are atomikos transaction logs used for?atomikos 事务日志有什么用途?
【发布时间】:2013-11-06 01:23:11
【问题描述】:

我继承了一个应用程序,该应用程序使用 Atomikos 在 Oracle 数据库之上的 Spring 中进行事务处理。在生产部署中,事务日志始终通过设置 com.atomikos.icatch.enable_logging=true 来启用,但事实是我找不到任何关于这些日志具体用途的信息。

atomikos 网站声明“绝不应在生产环境中禁用此功能,否则无法保证数据完整性”,我在该网站的 jta.properties 中发现了一条评论,称存在“重启或崩溃后丢失数据的风险”如果它被禁用。

我们没有在我们的开发环境中启用此功能,并且能够正常使用该应用程序。我认为它们可能会在应用程序崩溃的情况下使用,但如果是这样,我不确定它们将如何使用。也许在下次启动时自动或以某种方式手动?在数据完整性方面,我知道 Oracle 支持它自己的数据恢复,但也许这些事务日志包含 Oracle 尚未看到的数据,例如如果 Spring 崩溃了。

【问题讨论】:

    标签: database logging transactions atomikos


    【解决方案1】:

    http://fogbugz.atomikos.com/default.asp?community.6.1950.6 似乎表明事务日志仅用于恢复,如果您不需要它们进行恢复,可以禁用它们。

    【讨论】:

      【解决方案2】:

      这些日志维护最新版本的事务信息,您的数据库可能还不知道这些信息。如果没有这个设置,崩溃/重启后的恢复可能会不正确。

      HTH 伙计

      【讨论】:

        【解决方案3】:

        在我回答你的问题之前,你需要阅读这篇文章的开头How would you tune Distributed ( XA ) transaction for performance? 以了解热学。

        Atomikos 充当事务协调器,负责协调不同数据库的参与者。作为协调器,它协调跨不同数据库的事务处理。这与警察在十字路口中间所做的工作基本相同。

        Atomikos 写入它的日志文件是为了知道它在分布式事务过程中的确切位置。在失败的情况下,它可以跟踪其未提交的事务进度​​并从之前中断的地方尝试。因此事务日志对于事务恢复过程非常重要。

        【讨论】:

          猜你喜欢
          • 2017-05-04
          • 1970-01-01
          • 2017-01-31
          • 1970-01-01
          • 2013-01-31
          • 1970-01-01
          • 2018-07-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多