Oracle的读一致性(read-consistency)和多版本
程序员文章站
2022-06-15 09:22:47
...
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;
可以从特定的时间点,从回滚段中查询出数据来。