• Oracle 数据表误删恢复 Flashback


    1. 前提条件. recyclebin 参数打开.

     验证参数是否打开:

    SHOW PARAMETER RECYCLEBIN

    2. 如果参数没有打开的话 需要打开,并且重启一下数据库方法为

    alter system set recyclebin=on scope=spfile;

    3. 登录数据库

    sqlplus / as sysdba
    #关闭数据库
    shutdown immediate
    #开启数据库
    startup

    4. 创建表测试

    Create table zhaobsh (Test varchar(20));
    insert into table zhaobsh values ("zhaobsh");
    select * from zhaobsh
    drop table zhaobsh

    5. 回滚表

    flashback TABLE zhaobsh TO BEFORE DROP ;

    技术含量比较低 但是 比较有用 如果开启了 recyclebin的话 并且drop 表的时间在 比较短的情况下.

    6. 回滚到某一时间节点的方法

    保证表可以movement

    命令

    ALTER TABLE zhaobsh ENABLE ROW MOVEMENT;

    将表回滚到五分钟之前

    flashback table zhaobsh to timestamp systimestamp - interval '5' minute; 

    回滚到一个精确的时间节点的语法

    FLASHBACK TABLE zhaobsh TO TIMESTAMP TO_TIMESTAMP('2018-06-20 10:04:01 PM','YYYY-MM-DD HH:MI:SS AM')

    注意一点 这里的时间是数据库的时间 不是客户端的时间 需要严格匹配 不然结果是不对的.

  • 相关阅读:
    MYSQL分库分表
    MYSQL主从数据库
    mysql not in用法
    python 文件及目录操作
    python 读写文件
    python字符编码
    python类的继承、封装和多态
    python之定义类创建实例
    理解OSI参考模型
    python闭包与装饰器
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/9206366.html
Copyright © 2020-2023  润新知