Oracle 的闪回技术是一种数据恢复技术,仅能对用户逻辑错误进行恢复,

闪回针对的是提交commit的事务,没有提交的事务,使用rollback

1、闪回版本查询 Flashback Version Query

所谓版本指的是每次事务所引起的数据行的变化情况,每一次变化就是一个版本。

Oracle 提供了闪回版本查询,让我们可以看到数据行的整个变化过程。变化指的是已经提

交的事务引起的变化,没有提交的事务引起的变化不会显示。

闪回版本查询语法

基于 SCN 的版本查询
SELECT <columns>
FROM <schema_name.table_name>
VERSIONS BETWEEN SCN <minimum_scn> AND <maximum_scn>
[WHERE <column_filter>]
[GROUP BY <non-aggregated_columns>]
[HAVING <group filter>
[ORDER BY <position_numbers_or_column_names>]
基于 TIMESTAMP 的版本查询
SELECT <columns>
FROM <schema_name.table_name>
VERSIONS BETWEEN timestamp to_timestamp('start_timestamp') and to_timestamp('end_timestamp')
[WHERE <column_filter>]
[GROUP BY <non-aggregated_columns>]
[HAVING <group filter>
[ORDER BY <position_numbers_or_column_names>]

在查询中我们可以结合伪列进行查询:

VERSIONS_STARTSCN VERSIONS_STARTTIME
该记录操作时的 scn 或时间,如果为空,表示该行记录是在查询范围外创建的。

VERSIONS_ENDSCN VERSIONS_ENDTIME
该记录失效时的 scn 或时间,如果为空,说明记录当前时间在当前表内存在,或者已经被删除
了,可以配合着 VERSIONS_OPERATION 列来看,如果 VERSIONS_OPERATION 列值为 D,说明该列
已被删除,如果该列为空,则说明记录在这段时间无操作。

VERSIONS_OPERATION
对该行执行的操作:I 表示 insert,D 表示 delete,U 表示 update。提示:对于索引键的
update 操作,版本查询可能会将其识别成两个操作:DELETE 和 INSERT。

VERSIONS_XID

该操作的事务 ID

举个例子,使用闪回版本查询来模糊查询刚刚进行操作过的t表:

SYS@orcl> select versions_xid xid,versions_operation v_ops from t versions between scn minvalue and maxvalue;

XID                         V

--------------------- --

0300180034040000  D

0300180034040000  D

0300180034040000  D

0300180034040000  D

因为不知道scn号所以我们可以用minvalue和maxvalue来模糊查询,

查询结果显示我刚刚对表t执行了D操作即delete操作。

2、闪回事务查询 Flashback Transaction Query

闪回事务查询就是对过去某段时间内所完成事务的查询和撤销,通过闪回事物分析,
可以识别在一个特定的时间段内所发生的所有变化,也可以对数据库表进行事物级恢复。

3、闪回查询
Flashback query

4、闪回表
Flashback Table

5、闪回删除(Flashback Drop)

6、闪回数据库
Flashback Database

7、闪回数据归档

Flashback Data Archive

Oracle Flashback 闪回的更多相关文章

  1. FlashBack 闪回

    [学习目标] Flashback Database 功能非常类似与RMAN的不完全恢复,它可以把整个数据库回退到 过去的某个时点的状态,这个功能依赖于Flashback log日志.比RMAN 更快速 ...

  2. Oracle的闪回特性之恢复truncate删除表的数据

    Oracle的闪回特性之恢复truncate删除表的数据 SQL> show parameter flashback NAME                                 T ...

  3. oracle的闪回功能

    ORACLE的闪回功能: navicat 执行删改语句 不用提交直接执行? 感觉很恐怖? 今天一不下心手一滑 选错 结果把数据库的字段全改了 很慌 然后发现 oracle 有一个闪回功能 专门用来补天 ...

  4. [Oracle]Oracle的闪回归档

    Oracle的闪回归档 场景需求,由于管理数据库的一些核心表,在实施初期会有人为误删除的问题.Oracle 11gR2提供了闪回归档的特性,可以保证不用RMAN来恢复误删除的数据.实践如下: 1.创建 ...

  5. Oracle 六闪回技术,flashback

    Flashback 技术基于Undo segment基于内容的, 因此,限制UNDO_RETENTON参数. 要使用flashback 特征,您必须启用自己主动撤销管理表空间. 在Oracle 11g ...

  6. Oracle 的闪回技术 --flashback

    SQL Fundamentals: 表的创建和管理 如何开启数据库闪回? SQL> shutdown immediate; ORA-01109: database not open Databa ...

  7. oracle之三闪回flashback

    闪回 flashback 5.1 flashback 的功能:1)利用undo data回溯或撤销提交的数据,2)flashback log 使database 可以恢复到过去某个时间点,可以作为不完 ...

  8. ORACLE 10G 闪回建议

    Flashback Tips The following tips and restrictions apply to using flashback features. Flashback Tips ...

  9. oracle修改闪回日志的位置

    改变闪回日志位置的步骤: A.Change the value of the DB_RECOVERY_FILE_DEST initialization parameter to a new value ...

随机推荐

  1. 让用VS2013编写的程序在XP中顺利运行

    vs2013编译好的exe文件拖到虚拟机xp中无法运行,提示错误,从网上搜索.找答案. 参考:http://blog.csdn.net/asanscape/article/details/387526 ...

  2. Mysql上手

    使用Mysql,打开 相应的服务.启动-- 打开命令窗口.此处有多种方法,我是在开始菜单(Mysql5.6 Command Line Client)打开的(简单). mysql -h localhos ...

  3. Apache 配置多站点访问「为项目分配二级域名」

    一级域名(baidu.com)也叫作顶级域名,注册一级域名是需要付费的. 而二级域名(image.baidu.com)是一级域名的延伸,所以只要购买了一级域名,二级域名是可以任意配置的. 其实(www ...

  4. 域名管理系统DNS

    域名系统DNS,将域名转化为ip地址.域名到ip地址解析过程是以这种方式进行的,当某一程序需要把主机名解析为IP地址时,该应用进程就调用解析程序(本地程序),这时候该进程就变成了DNS的一个客户,将待 ...

  5. CentOS下采用Crontab实现PHP脚本定时任务

    简单实现一个需求,每5分钟往特定表中插入2条数据.经过分析还是采用crontab方式靠谱,另外执行php脚本的方式,不用担心链接超时等问题. 1.准备工作,创建1个数据表“person”, CREAT ...

  6. 配置VMware虚拟机用绕过校园网达到无线上网配置方法

    因为平时要用到Vmware这样的工具上虚拟机上网, 但是本人是学生狗,学生狗在学校就要面对大学毒瘤软件--锐捷,而锐捷是不允许有虚拟网卡的存在的,所以上网只能用wifi上.之前试了很久,反正是怎么开都 ...

  7. javascript中的对象

    除了字符串,数字,布尔值(true,false),null,undefined,js中的值都是对象. 操作一个对象 var o = {name: 'man', value: 99} o.name = ...

  8. Centos挂载第二块硬盘

    作为一个初创小公司的架构师,工作内容纷繁复杂,涉及了系统管理员.数据库管理员.架构师.高级软件工程师.项目经理的部分.   今天的任务是安装公司的服务器,使用centos6.7.安装过程就不用细讲了. ...

  9. webkit 模拟点击 winform

    刚在园子里看到有博主将WebBowser控件替换为Chrome内核(),链接http://www.cnblogs.com/gdyblog/p/WebKitBrowser.html 于是我想既然实现了替 ...

  10. 正则-RegExp()构造函数

    上次写了js正则的字面量声明,今天说说RegExp()构造函数声明: var p=/cat/g;   //字面量声明var p=new RegExp('cat','g') //构造函数声明 它两所表达 ...