• Oracle闪回表


    Oracle闪回技术

    场景:测试环境数据库的表数据被误删除。

    解决思路:使用闪回表技术

    原理

    闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成)。
    Oracle中一个逻辑结构--撤销段(Undo segment)。因为大部分闪回技术都需要依赖撤销段中的撤销数据。撤销数据是反转DML语句结果所需的信息,只要某个事务修改了数据,那么更新前的原有数据就会被写入一个撤销段。(事务回滚也会用到撤销段中的数据)

    1.闪回查询(Flashback Query)

    1):基本闪回查询
    功能描述:可以查询过去某个时间段的数据库状态。

    工作原理:Oracle 会提取所需要的撤销数据(前提是撤销是可用的,即撤销数据还没被覆盖)进行回滚,但这种回滚是临时的,

    SQL> select * from wfprocessdefine as of timestamp to_timestamp('2016-09-10 11:00:00','yyyy-mm-dd hh24:mi:ss');
    

    2):闪回表

    功能描述:可将某个表回退到过去某个时间点
    工作原理:同样,Oracle会先去查询撤销段,提取过去某个时间点之后的所有变更,构造反转这些变更的SQL语句进行回退,闪回操作
    是一个单独的事务,所以若由于撤销数据过期之类的原因导致无法闪回,整个操作会回滚,不会存在不一致的状态。

    *.启用表闪回首先要在表上支持行移动

    SQL> alter table wfprocessdefine enable row movement;
    

    *.闪回表操作

    SQL> flashback table wfprocessdefine to timestamp to_timestamp('2016-09-10 11:00:00','yyyy-mm-dd hh24:mi:ss');
    

    闪回失效的情况:
    1)违反了数据库约束.
    2)撤销数据失效.
    3)闪回不能跨越DDL.

  • 相关阅读:
    LTE网络注册流程(1)(2)(3)
    Linux 添加用户
    (TOJ2627)台州学院首届新生程序设计竞赛参赛资格
    (TOJ1249)四数相加
    (TOJ1192)A + B Problem II
    (TOJ1065)完美数
    (TOJ1248)Encoding
    (TOJ1051)A × B problem
    (TOJ1506)Sort ZOJ7
    (TOJ1531)爱的伟大意义
  • 原文地址:https://www.cnblogs.com/zhangshengdong/p/10113494.html
Copyright © 2020-2023  润新知