【发布时间】:2014-07-23 21:57:33
【问题描述】:
在《Oracle 数据库概念》一书中,Oracle 给出了一个例子来解释Read Committed Isolation Level。
在示例中,事务 1 更新第 1 行,然后事务 2 在事务 1 提交之前更新同一行。因此,事务 2 一直等到事务 1 提交。然后事务 1 提交。之后事务 2 提交。当然,事务 2 提交后,事务 1 对第 1 行的更新会被事务 2 覆盖。
它将这种情况视为lost update。但在我看来,它不应该是“丢失的更新”,因为事务 1 已经提交。在单个事务中考虑丢失的更新。无论读取操作如何,该调度甚至等于可序列化调度。
在 Oracle 的词汇表中,丢失的更新是 -
数据完整性问题,其中一个数据写入者会覆盖修改相同数据的不同写入者的更改。
那么,您对此有何看法?是否是“丢失更新”,如果是,是否可以通过数据库的并发控制来避免这种丢失更新?
任何 cmets 和帮助将不胜感激。
【问题讨论】:
标签: oracle transactions isolation read-committed