目前我正在使用Weblogic和Oracle。
我有一个Oracle DB实例和两个遗留模式,因此我使用了两个数据源。
为了保持事务性,我使用XA但不时会抛出HeuristicExceptions,导致数据级别出现一些不一致
现在因为它是同一个实例,不可能以某种方式不使用XA并定义一个可以访问这两个模式的数据源?
通过这种方式,我将不再使用XA并避免数据不一致。
由于
答案 0 :(得分:2)
不要使用dblink。这太过分了。而且这可能与XA无关。最佳解决方案是使用来自单个数据源的两个模式中的表。按模式名称在查询中添加前缀表,或者在指向其他模式中的表的一个模式中创建同义词。
这只是数据库权限的问题。无需处理XA或dblinks。 一个db用户需要授权来操作两个模式中的表。
PS:您可以在指向同一数据库的连接上使用分布式事务。如果你坚持的话。但在你的情况下,没有必要这样做。
答案 1 :(得分:1)
您可以连接一个架构并为另一个架构创建DBLink以访问第二个架构。我认为该交易将适用于两种模式。
http://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_concepts004.htm