【问题标题】:Database Transaction Notifying of Changes When no Changes Made when using Database Link使用数据库链接时未进行更改时通知更改的数据库事务
【发布时间】:2013-10-08 14:38:47
【问题描述】:

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

【问题讨论】:

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

标签: sql oracle oracle10g oracle-sqldeveloper toad


【解决方案1】:

通过 dblink 进行选择时会发生隐式事务。

当 Oracle 执行分布式 SQL 语句时,Oracle 保留一个 两阶段提交的回滚段区域中的条目 加工。在提交 SQL 语句之前,将保留该条目 即使 SQL 语句是查询

更多关于这个here。如果可以的话,我会尝试挖掘一个 Oracle 链接。

更多来自马口:)

两阶段提交机制

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

更多来自 Oracle 的 Distributed Database Concepts 指南

【讨论】:

    猜你喜欢
    • 2012-09-11
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    • 2014-04-10
    相关资源
    最近更新 更多