zoukankan      html  css  js  c++  java
  • oracle回滚误删并且commit的表

    1.恢复到某个时刻

    insert into qual_temp_detail select * from qual_temp_detail 
    as of timestamp to_date('2014-12-29 08:30:22', 'yyyy-mm-dd hh24:mi:ss') 

    其中qual_temp_detail是要回滚的数据表名称。 to_date函数的第一个参数是要回滚到的时间点。妈妈再也不怕我手滑了!

    2. 恢复到15分钟以前

    --闪回到15分钟前 
    select *  from orders  as of timestamp (systimestamp - interval ''15'' minute)  where ...... 
    这里可以使用DAY、SECOND、MONTH替换minute,例如: 
    SELECT * FROM orders AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL ''2'' DAY) 

    3.恢复到几天前

    --闪回到两天前 
    select * from orders  as of timestamp (sysdate - 2) where......... 

    4. 如果表结构已经变动

    /*2.FLASHBACK DROP*/ 
    
      1.flashback table orders to before drop; 
      
      2.如果源表已经重建,可以使用rename to子句: 
      flashback table order to before drop  rename to order_old_version; 
      
    /*3.FLASHBACK TABLE*/ 
    
      1.首先要启用行迁移: 
      alter table order enable row movement; 
      2.闪回表到15分钟前: 
      flashback table order  to timestamp systimestamp - interval ''15'' minute; 
        闪回到某个时间点: 
      FLASHBACK TABLE order TO TIMESTAMP    TO_TIMESTAMP('2007-09-12 01:15:25 PM','YYYY-MM-DD HH:MI:SS AM')
  • 相关阅读:
    PHP+VUE实现前端和后端数据互通(宝塔面板)
    PHP上传图片
    GIT常用命令
    基于Postman中的报错
    VUE项目Eslint报错
    git配置:本地仓库提交到远程仓库
    mybatis基础
    Json验证数据
    Json 三种格式数据解析
    Ajax 实现数据异步传输
  • 原文地址:https://www.cnblogs.com/shikelong/p/4190997.html
Copyright © 2011-2022 走看看