2013-10-08 31 views
0

我使用sqldeveloper(但这个问题也重复TOAD,所以我不认为它是特别与sqldeveloper相关)。基本问题是,在我运行一个复杂的SELECT查询,该查询通过sqldeleloper使用数据库链接后,它会通知我有关于在我关闭会话时需要回滚或提交的更改。奇怪的部分是,我只是运行一个SELECT查询,并没有更改为COMMIT。有人可以向我解释这种行为吗?数据库事务通知的变化,当使用数据库链接时没有任何更改

+0

更多选择在DBLINK时发生隐式事务。 – tbone

回答

2

在通过dblink选择时发生隐式事务。

当甲骨文执行分布式的SQL语句的Oracle保留在用于两相回滚片段区域的 条目提交 处理。此项目将被保持到SQL语句致力于 即使SQL语句在此here查询

更多。如果可以,我会尝试挖掘Oracle链接。从马口:)

两阶段提交机制

更多

数据库必须保证在一个事务中的所有语句, 分布式或非分布式的,无论是提交或回滚作为一个单位。 正在进行的交易的影响对所有节点上的所有其他交易都是不可见的;这种透明度应该为 交易包括任何类型的操作,包括查询, 更新或远程过程调用。

从Oracle的Distributed Database Concepts导向

+0

谢谢!这是非常丰富的信息。 – Reimius

相关问题