zoukankan      html  css  js  c++  java
  • 实用开发之-oracle表回滚到一个指定时间的操作语句

    在开发或客户使用过程中,难免会出现误操作或脏数据,那么怎么迅速处理这个问题呢?

    1.备份还原就用了,太麻烦。

    就是使用ORACLE的备份功能,然后在还原,还原的时候新建一个库,然后使用dblink进行连接。

    将数据导回去。

    2.使用oracle的还原操作,但是这个操作只能还原数据,表发生改变就不能了,切记。这个语句是这样的:

    ---说明这个语句来自网络:地址:这里就是笔记。

    select * from 表名 as of timestamp to_timestamp('2014-6-19 1:10:00','yyyy-mm-dd hh24:mi:ss');

    alter table 表名 enable row movement;
    flashback table 表名 to timestamp to_timestamp('2011-03-04 05:00:00','yyyy-mm-dd HH24:MI:SS');


    测试:

    create table  A (
    a number,
    b number
    )

    select sysdate from dual;2014-6-20 17:35:50

    insert into a values(1,2);
    insert into a values(2,2);
    insert into a values(3,2);
    insert into a values(4,2);
    insert into a values(5,2);
    insert into a values(6,2);

    查看现在的效果图:

    查看刚建完表时的数据:

    执行回滚操作,执行之后的结果:

    到此,我们可以看出,这个操作真的好用,ok。我们来分析一下,到底做了什么操作,如果你早就懂了,就过了吧。留步,大手,对了,给楼主推荐基本书学习下啊!

    select * from a as of timestamp to_timestamp('2014-6-20 17:35:50','yyyy-mm-dd hh24:mi:ss');

    as of:截至,就是到某一个事件。

    to_timestamp():时间转换函数,转换成更加下精确,和to_date()作用一样。

    AS OF TIMESTAMP查询这个表到某一时刻。

    AS OF TIMESTAMP但是在某些情况下,我们建议使用AS OF SCN的方式执行Flashback Query。如需要对多个相互有主外键约束的表进行恢复时,如果使用AS OF TIMESTAMP的方式,可能会由于时间点不统一的缘故造成数据选择或插入失败,通过AS OF SCN方式则能够确保记录处理的时间点一致。

    alter table a enable row movement;

    enable row movement:行迁移,意思就是,一个现存的行允许改变其rowid(物理存储地址),通常情况下,数据行在分配了空间之后,行的rowid就固定了,即使以后行长度超出预留的空间,也不会将其移动,在长数据行的情况下,表会产生行链接,对于io来说,行链接是不利的,为了性能,就需要将行调整为在单个物理存储地址下能保存行的所有信息,这需要行迁移.另外在flashback的时候,由于原始版本的行占据了相应的物理地址,所以,也需要行迁移.

    其它的,比如说在收缩段空间的情况下,由于要把所有段数据向段前挤压,大部分行都需要改变其物理地址.也需要行迁。
    flashback table a to timestamp to_timestamp('2014-6-20 17:35:50','yyyy-mm-dd HH24:MI:SS');
    flashback table还原到某一点!
     
     
    一步一步行走,做好每一件事情。
  • 相关阅读:
    .net类库里ListView的一个BUG
    获取lable的caption, 摘抄还未测试可用否
    (转) lua实现split的简易方法
    2. SharePoint Online 开发,请联系qq512800530。加好备注。(不要发站内信。。。)
    1. android
    开发人员应关注的20个jQuery网站/博客
    Temp
    彩票项目开发节项
    求android ble 解决方案!
    自己开发的工作流引擎
  • 原文地址:https://www.cnblogs.com/dava/p/3799948.html
Copyright © 2011-2022 走看看