PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

Oracle: flashback version query示例

原创
2016-06-07 17:09:12 613浏览

Oracle: flashback version query示例,flashback version query不是oracle的什么新特性,但10g、11g都在9i基础上做了功能增强,在

flashback version query不是Oracle的什么新特性,但10g、11g都在9i基础上做了功能增强,在某些场合可能会用到。下面利用示例展示一下他的概念;

查询结果列标题有些长,我做了截断,要不然整行显示不下,,请对照上面的查询语句看列标题;

做一下简要描述:

第六行:start_scn:3852006 end_scn:3852023 operation:I(insert) 表示插入values(1,'jash')

第五行:start_scn:3852023 operation:U(update) 表示更新'bob' id为1的记录,所以第六行新插入的数据被更新了;

... ...

... ...

可以看到通过查询可以找到所关注行的版本记录,其中必须存在于undo回滚段中,commit已提交的事务,呵呵;

最后看一下官方文档的概述:

Oracle Flashback features use the Automatic Undo Management (AUM) system to obtain metadata and historical data for transactions. They rely on undo data, which are records of the effects of individual transactions. For example, if a user runs an UPDATE statement to change a salary from 1000 to 1100, then Oracle Database stores the value 1000 in the undo data.Undo data is persistent and survives a database shutdown.

By using flashback features, you can use undo data to query past data or recover from logical damage. Besides using it in flashback features, Oracle Database uses undo data to perform these actions:

Roll back active transactions

Recover terminated transactions by using database or process recovery

Provide read consistency for SQL queries

linux

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。