zoukankan      html  css  js  c++  java
  • Oracle Flashback 闪回

    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

  • 相关阅读:
    WSP部署错误—SharePoint管理框架中的对象“SPSolutionLanguagePack Name=0”依赖其他不存在的对象
    Elevate Permissions To Modify User Profile
    Error with Stsadm CommandObject reference not set to an instance of an object
    ASP.NET MVC3添加Controller时没有Scaffolding options
    测试使用Windows Live Writer写日志
    配置TFS 2010出现错误—SQL Server 登录的安全标识符(SID)与某个指定的域或工作组帐户冲突
    使用ADO.NET DbContext Generator出现错误—Unable to locate file
    CSS
    HTML DIV标签
    数据库
  • 原文地址:https://www.cnblogs.com/ivychang/p/5661908.html
Copyright © 2011-2022 走看看