zoukankan      html  css  js  c++  java
  • |待研究|oracle flashback的用法

    10g的flashback table有如下特性
    * 在线操作 
    * 恢复到指定时间点或者SCN的任何数据. 
    * 自动恢复相关属性,如索引,触发器等 
    * 满足分布式的一致性 
    * 满足数据一致性,所有相关对象将自动一致 
    语法为:
    FLASHBACK TABLE tablename TO TIMESTAMP (JUL-07-2003, 02:33:00) 
    FLASHBACK TABLE employee TO SCN 123456;
    FLASHBACK TABLE tablename  TO TIMESTAMP '2003-03-03 12:05:00' ENABLE TRIGGERS;
    其中ENABLE TRIGGERS表示触发器恢复之后为enable状态,而默认为disable状态。

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

    查询的语法:

    SELECT * FROM t3 AS OF TIMESTAMP 
    TO_TIMESTAMP('090719082800', 'yymmddhh24miss')

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

    恢复的语法:

    1.误删一个表(数据并不会丢失):

          create table t3(id number,name varchar2(10),test1 varchar(10),test2 varchar2(10),test3 varchar2(10));

          drop table t3;

          flashback table t3 to before drop;

    2.误删一个表中的数据:

          select * from t3;

     
            ID NAME       TEST1      TEST2      TEST3
    ---------- ---------- ---------- ---------- ----------
             3 s          s          s          s
             1 sf         sd         sdf        s
           

          delete t3;

          select * from t3 as of timestamp  to_timestamp('090719084751','yymmddhh24miss');

          alter table t3 enable row movement;

         flashback table t3 to timestamp  to_timestamp('090719084751','yymmddhh24miss');

  • 相关阅读:
    批量创建账号脚本
    shell 批量创建_备份 mysql 数据库 表
    优化chkconfig
    cut 命令
    Shell for 循环
    while 读取文件内容
    生成随机数
    linux 资源管理
    shell 脚本后台运行知识
    while 语句
  • 原文地址:https://www.cnblogs.com/sumsen/p/2524732.html
Copyright © 2011-2022 走看看