1、应用Flashback Version Query查询记修改版本

SQL> select dbms_flashback.get_system_change_number from dual; --查询当前SCN值

GET_SYSTEM_CHANGE_NUMBER
------------------------
1574142 SQL> update flash_tab set id=id+100 where id>15; 已更新5行。 SQL> commit; 提交完成。 SQL> delete flash_tab where id<15; 已删除14行。 SQL> rollback; 回退已完成。 SQL> select * from flash_tab; ID VL
---------- --
10 I
11 J
12 K
13 L
14 M
15 N
116 O
117 P
118 Q
119 R
120 S
1 /
2 A
3 B
4 C
5 D
6 E
7 F
8 G
9 H 已选择20行。 SQL> delete flash_tab where id<5; 已删除4行。 SQL> commit; 提交完成。 SQL> select * from flash_tab; ID VL
---------- --
10 I
11 J
12 K
13 L
14 M
15 N
116 O
117 P
118 Q
119 R
120 S
5 D
6 E
7 F
8 G
9 H 已选择16行。 SQL> insert into flash_tab values(201,'A1'); 已创建 1 行。 SQL> commit; 提交完成。 SQL> insert into flash_tab values(202,'B1'); 已创建 1 行。 SQL> COMMIT; 提交完成。 SQL> SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER FROM DUAL; GET_SYSTEM_CHANGE_NUMBER
------------------------
1574208

执行Version Query查询flash_tab表中记录:

SQL> select id,vl,versions_startscn,versions_endscn,versions_operation,versions_xid from flash_tab versions between scn 1574142 and 1574208;

ID VL VERSIONS_STARTSCN VERSIONS_ENDSCN V VERSIONS_XID
---------- -- ----------------- --------------- - ----------------
202 B1 1574198 I 0900170004040000
201 A1 1574192 I 0300120034040000
4 C 1574180 D 050015001B040000
3 B 1574180 D 050015001B040000
2 A 1574180 D 050015001B040000
1 / 1574180 D 050015001B040000
120 S 1574157 U 0600180005040000
119 R 1574157 U 0600180005040000
118 Q 1574157 U 0600180005040000
117 P 1574157 U 0600180005040000
116 O 1574157 U 0600180005040000
10 I
11 J
12 K
13 L
14 M
15 N
16 O 1574157
17 P 1574157
18 Q 1574157
19 R 1574157
20 S 1574157
1 / 1574180
2 A 1574180
3 B 1574180
4 C 1574180
5 D
6 E
7 F
8 G
9 H 已选择31行。

2.使用Flashback Transaction Query查询事务信息

用户在执行闪回事务查询之前,必须为用户授予适当的DBMS_FLASHBACK包上的权限。
grant execute on dbms_flashback to scott;
grant select any transaction to scott;
--------
开启flashback:
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database flashback on;
SQL> alter database open;
SQL> conn / as sysdba;
已连接。
SQL> alter database add supplemental log data; 数据库已更改。
-------------------------------------------------------
启用重做日志流,否则查询Flashback_transaction_query的undo_sql列为空,并且OPERATION列为UNKNOWN,
SQL> alter database add supplemental log data; Database altered.

测试案例:

SQL> conn scott/tiger;
已连接。
-------------------
SQL> select current_scn from v$database; CURRENT_SCN
-----------
1586922 SQL> select * from flash_tab; ID VL
---------- --
1 a
2 ts SQL> update flash_tab set vl='b' where id=1; 已更新 1 行。 SQL> commit; 提交完成。 SQL> insert into flash_tab values(3,'c'); 已创建 1 行。 SQL> commit; 提交完成。 SQL> select current_scn from v$database; CURRENT_SCN
-----------
1586956 ======================
SQL> select xid,commit_scn,commit_timestamp,operation,undo_sql
2 from flashback_transaction_query q where q.xid in( select versions_xid from scott.flash_tab versions between scn 1586922 and 1586956); XID COMMIT_SCN COMMIT_TIMESTAMP OPERATION UNDO_SQL
---------------- ---------- ---------------- -------------------------------- --------------------------------------------------------------------------------
02001200FE030000 1586949 2015/1/10 17:03: INSERT delete from "SCOTT"."FLASH_TAB" where ROWID = 'AAASZaAAEAAAAJ2AAB';
02001200FE030000 1586949 2015/1/10 17:03: BEGIN
06001C000A040000 1586940 2015/1/10 17:03: UPDATE update "SCOTT"."FLASH_TAB" set "VL" = 'a' where ROWID = 'AAASZaAAEAAAAJ0AAC';
06001C000A040000 1586940 2015/1/10 17:03: BEGIN

Flashback Version/Transaction Query的更多相关文章

  1. Flashback version/Transaction Query,FlashbackTable

    Flashback version Query相对于Flashback Query 只能看到某一点的对象状态, Oracle 10g引入的Flashback Version Query可以看到过去某个 ...

  2. Flashback Version Query、Flashback Transaction Query快速闪回细粒度数据

    Flashback Version Query 闪回版本查询 使用Flashback Version Query  返回在指定时间间隔或SCN间隔内的所有版本,一次commit命令就会创建一个版本. ...

  3. Oracle Flashback Transaction Query with Oracle Flashback Version Query

    Oracle Flashback Transaction Query with Oracle Flashback Version Query In this example, a database a ...

  4. 闪回之 Flashback Query (dml表、过程、函数、包等)、Flashback version Query

    Flashback Query 背景:Flashback 是 ORACLE 自 9i 就开始提供的一项特性,在 9i 中利用oracle 查询多版本一致的特点,实现从回滚段中读取表一定时间内操作过的数 ...

  5. 利用flashback transaction query新特性进行事务撤销

    具备了flashback version query查询的基础,我们就可以进行基于flashback version query的恢复.这就是flashback transaction query.f ...

  6. PLSQL_闪回操作3_Fashback Transaction Query

    2014-12-09 Created By BaoXinjian

  7. Hibernate有五大核心接口,分别是:Session Transaction Query SessionFactoryConfiguration

    Session接口: Session接口 Session 接口对于Hibernate 开发人员来说是一个最重要的接口.然而在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都 ...

  8. ocp 1Z0-043 131-205题解析

    131. Which three methods can you use to run an Automatic Database Diagnostic Monitor (ADDM) analysis ...

  9. PLSQL_闪回操作2_Fashback Version Query

    2014-12-09 Created By BaoXinjian

随机推荐

  1. [Hapi.js] Logging with good and good-console

    hapi doesn't ship with logging support baked in. Luckily, hapi's rich plugin ecosystem includes ever ...

  2. Java中String直接赋字符串和new String的区别

    解析Java中的String对象的数据类型 1. String是一个对象.  因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. ...

  3. docker虚拟化之将容器做成镜像

    1,docker ps -a 选择要启动的容器. 2,docker start  容器+ID 启动容器 3,docker exec -i -t   容器ID /bin/bash   进入容器 这里的/ ...

  4. 2016 ACM/ICPC Asia Regional Shenyang Online

    I:QSC and Master 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5900 题意: 给出n对数keyi,vali表示当前这对数的键值和权值 ...

  5. 配置元素customErrors

    Asp.net配置文件的配置方式,其实在MSDN里面是写得最清楚的了.可惜之前一直未曾了解到MSDN的强大. 先贴个地址:http://msdn.microsoft.com/zh-cn/library ...

  6. AJAX 控件集之TextBoxWatermark(水印文本框)控件

    功能:       可以让TextBox控件初始化的时候拥有水印文字.属性:    TargetControlID :要使用具有水印效果的TextBox控件ID.    WatermarkCssCla ...

  7. pca图像识别

    代码下载:基于PCA(主成分分析)的人脸识别 人脸识别是一个有监督学习过程,首先利用训练集构造一个人脸模型,然后将测试集与训练集进行匹配,找到与之对应的训练集头像.最容易的方式是直接利用欧式距离计算测 ...

  8. 1218.1——OC中的常见关键字及一些基本方法

    OC常见的关键字介绍: @ 看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX. @interface 声明类 @implementation 实现类 ...

  9. hitTest:withEvent:方法(此方法可实现点击穿透、点击下层视图功能)

    此方法可实现点击穿透.点击下层视图功能 一. hitTest:withEvent:调用过程 iOS系统检测到手指触摸(Touch)操作时会将其放入当前活动Application的事件队列,UIAppl ...

  10. UVA 719 / POJ 1509 Glass Beads (最小表示法/后缀自动机)

    题目大意: 给出一个长度为N的字符串,求其字典序最小的循环同构. N<=10W. 算法讨论: 算法一.最小表示法.定义题. 算法二.后缀自动机. Codes: #include <iost ...