Oracle - 在数据库链接中提交事务?

10
如果我以用户smith的身份连接到一个Oracle数据库,并执行以下三个命令:
update smith.tablea
set col_name = 'florence' where col_id = 8;

insert into bob.other_table@mylink
values ('blah',2,'uncle','new');

commit;

这是否意味着本地表(smith.tablea)的更新和远程数据库表(bob.other_table)的插入都已经提交了,还是只有本地表的更新被提交了?

注意:'mylink'代表到远程数据库的链接。


你是否在另一个会话中检查了 bob.other_table@mylink,以确认数据是否存在或者是否有效? - Ben
2个回答

9
文档中得知:
Oracle的两阶段提交机制对发起分布式事务的用户来说是完全透明的。实际上,用户甚至不需要知道事务是分布式的。COMMIT语句表示事务结束,自动触发两阶段提交机制以提交事务。在数据库应用程序主体中包含分布式事务无需编写代码或复杂的语句语法。所以——是的,如果一切顺利,两个操作都将被提交。

6

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接