Oracle中的commit如何工作

zpqajqem  于 2023-06-29  发布在  Oracle
关注(0)|答案(1)|浏览(119)

我有几个语句,伪代码看起来像这样:

insert into local_table
crease savepoint sp1

insert into remote_db //using db_link
update local_table2
delete from local_table
commit

现在我对insert into remote_db语句有点困惑。是否有可能正在应用的提交对local_dbremote_db有不同的影响?
问题陈述有点复杂。将数据从local_db复制到remote_db的脚本正在生成重复项。经过调查,这是唯一看起来可疑的地方,但我不确定。如果有人能阐明Oracle的COMMIT,我将非常感激

r7xajy2e

r7xajy2e1#

如果您询问commit是否可能导致重复行,不,这是不可能的。
考虑到分布式事务发生的方式,该事务可能根本不会在远程数据库上提交(在这种情况下,它将是远程DBA可能需要解决的可疑分布式事务)。但是如果事务被成功提交,它将被正确提交。不可能出现某些行被提交而其他行没有被提交的情况,也不可能在提交行为中创建在提交之前不存在的重复行。

相关问题