欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle的读一致性(read-consistency)和多版本

程序员文章站 2022-06-16 21:02:48
...

Oracle 总是基于查询的某个时间点来做决定(从这个时间点开始查询是一致的)。也就是说,Oracle 会保证打开的结果集肯定是以下两

Oracle 总是基于查询的某个时间点来做决定(从这个时间点开始查询是一致的)。也就是说,Oracle 会保证打开的结果集肯定是以下两个时间点之一的当前结果集:

游标打开时的时间点。这是READ COMMITTED 隔离模式的默认行为,该模式是默认的事务模式(第7 章将介绍READ COMMITTED、READ ONLY 和SERIALIZABLE 事务级别之间的差别)。

查询所属事务开始的时间点。这是READ ONLY 和SERIALIZABLE 隔离级别中的默认行为。

闪回技术flashback--

alter table t_nik enable row movement;

作用是,允许Oracle 修改分配给行的rowid。在Oracle 中,,插入一行时就会为它分配一个rowid,

而且这一行永远拥有这个rowid

variable SCN number

exec :scn := dbms_flashback.get_system_change_number

select * from t_nik AS OF SCN :scn;

可以从特定的时间点,从回滚段中查询出数据来。

Oracle的读一致性(read-consistency)和多版本