【发布时间】:2011-06-22 18:01:25
【问题描述】:
我有在本地数据库中插入一条记录并在远程数据库中插入一条记录的应用程序代码(通过 Oracle Database Link)。当我提交这个分布式事务时,是否保证本地和远程数据库都将提交或都回滚,或者是否有机会远程提交但本地提交会失败(反之亦然)?
【问题讨论】:
-
如果分布式事务的行为与针对每个服务器的独立事务相同,那么分布式事务的意义何在? (允许您担心的提交/回滚不匹配)
-
@Damien_The_Unbeliever:我同意,但我只是没有看到如何解释每一种可能性。乔纳森的回答是有道理的 - 如果一个系统发生灾难性故障,似乎仍有一些情况可能会挂起,但绝大多数情况都得到了处理。
-
@Renderln - 如果您的事务日志所在的磁盘发生灾难性故障,您可以认为提交成功,而实际上事务不可恢复 - 因此即使不调用分布式事务,总会有边缘情况。
标签: sql oracle transactions distributed-transactions