【问题标题】:Non XA transaction for multiple schema's on the same instance同一实例上多个模式的非 XA 事务
【发布时间】:2015-12-01 13:58:18
【问题描述】:

目前我正在使用 Weblogic 和 Oracle。

我有一个 Oracle DB 实例和两个旧模式,因此我使用两个数据源。

为了保持事务性,我使用 XA,但有时会抛出 HeuristicExceptions,导致数据级别出现一些不一致

现在因为它是同一个实例,所以不可能不使用 XA 并定义一个可以访问两种模式的数据源?

这样我就不会再使用XA了,避免出现数据不一致的情况。

谢谢

【问题讨论】:

    标签: oracle hibernate weblogic


    【解决方案1】:

    不要使用 dblink。这是矫枉过正。而且这可能与 XA 无关。最佳解决方案是使用来自单个数据源的两种模式的表。在查询中按模式名称为表添加前缀,或者在一个模式中创建指向另一个模式中的表的同义词。

    这只是数据库权限。无需处理 XA 或 dblinks。 一个 db 用户需要获得授权才能操作两种模式中的表。

    PS:您可以在指向同一个数据库的连接上使用分布式事务。如果你坚持。但在你的情况下,没有必要这样做。

    【讨论】:

      【解决方案2】:

      您可以连接一个架构并为另一个架构创建 DBLink 以访问第二个架构。我认为该事务将通过这两种模式进行。

      http://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_concepts004.htm

      【讨论】:

      • 也许你不需要 DBLink,只需要一个对这两种模式都具有权限的用户
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      相关资源
      最近更新 更多