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

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还原到某一点!
 
 

实用开发之-oracle表回滚到一个指定时间的操作语句的更多相关文章

  1. <<< Oracle表创建、修改、删除基础操作

    表是数据库存储数据的基本单元,它对应于现实世界中的对象(如部门和雇员等).表按列进行定义,存储若干行数据.表中应该至少有一列.在 Oracle 中,表一般指的是一个关系型数据表.也可以生成临时表和对象 ...

  2. Oracle把表记录恢复到指定时间节点

    可以执行以下命令alter table 表名 enable row movement; --开启表行移动flashback table 表名 to timestamp to_timestamp('20 ...

  3. 利用sql_trace跟踪一个指定会话的操作

    1.  sys用户给管理用户授权.SQL> grant execute on sys.dbms_system to andy;Grant succeeded.2. 查询被跟踪用户的sid,ser ...

  4. oracle闪回查询

    一.引言 程序中用到需要同步oracle更新和删除数据,于是考虑利用oracle的闪回查询机制来实现. 利用该机制首先需要oracle启用撤销表空间自动管理回滚信息,并根据实际情况设置对数据保存的有效 ...

  5. 45.oracle表类型、数据拆分、表分区

    不要做一些没有意义的事情,就比如说你要离职并不打算吃回头草,离职理由中完全没有必要说明“领导的水平太渣,人品太差”此类的原因,而是“个人原因”,当然实在不批准辞职另说. oracle表类型 表的类型分 ...

  6. Oracle 表空间恢复

    为啥要写这个呢,因为之前遇到个场景.操作系统为Solaris的,oracle11.2.0.4. 一个运维把一张关键表drop了.然后发现recyclebin是off的,然后..然后好像只能从备份里面找 ...

  7. git 回滚到任意版本

    git回滚到任意版本 1.先显示提交的log $ git log -3 commit 4dc08bb8996a6ee02f Author: Mark <xxx@xx.com> Date: ...

  8. Oracle数据库的闪回操作(查询指定时间的数据、恢复数据)

    通过DELETE删除数据后相当于放入回收站,一般情况下可以找回:通过UPDATE更新数据后数据库也会保留数据快照.闪回就是恢复指定时间的数据快照以达到恢复数据的目的.根据步骤一查询出数据快照,恢复数据 ...

  9. log4j向oracle中插入一条系统当前时间的sql语句

    配置log4j,要向oracle插入一条系统当前时间的sql语句,按网上查找的总是出现各种各样的报错,最后总结出的写法是: ### shezhi### log4j.rootLogger = debug ...

随机推荐

  1. iOS开发-APP测试基本流程

    1. UI 测试app主要核ui与实际设计的效果图是否一致:交互方面的问题建议,可以先与产品经理确认,确认通过后,才开始让开发实施更改或优化 2. 功能测试根据软件说明或用户需求验证App的各个功能实 ...

  2. 基于Bootstrap设计网页

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  3. 【Zookeeper】源码分析之网络通信(二)

    一.前言 前面介绍了ServerCnxn,下面开始学习NIOServerCnxn. 二.NIOServerCnxn源码分析 2.1 类的继承关系 public class NIOServerCnxn ...

  4. Html5 基础----列表详述

    html5列表 标签 列表分为:  有序列表/无序列表/自定义列表,用的最多的为无序列表和自定义列表 1.有序列表(order list) eg:把

  5. Django之admin

    django amdin是django提供的一个后台管理页面,改管理页面提供完善的html和css,使得你在通过Model创建完数据库表之后, 就可以对数据进行增删改查,而使用django admin ...

  6. 锋利的jQuery事件

    一:事件 1.鼠标事件 (1)$()是$(document)的简写,默认参数是document. $(function(){}是$(document).ready(function(){})的简写. ...

  7. react学习总结

    http://www.runoob.com/react/react-tutorial.html一般先看一些中文的简单的介绍和一些基本概念http://reactjs.cn/react/docs/get ...

  8. wemall app商城源码Android之Native(原生)支付模式一demo

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享Native(原生)支付模式一demo,供技术 ...

  9. Android中的WebView实战详解(二)

    四.如何用WebView下载软件? 四.如何用WebView下载软件? public class MainActivity extends AppCompatActivity { private We ...

  10. 2017-3-17 SQL server 数据库 视图,事务,备份还原,分离附加

    1.视图:只能查看,不能增删改不能有重复列 create view 名字as查询语句 2.事务:保证流程的完整执行 begin tran --开始事务监控 被监控的代码 ... ...if @@ERR ...