有的时候我们不小心把数据库表(emp)中重要的记录给删除了,怎么给找回来了,看下面这个例子你就会明白。

某一天,10点钟的时候,张三一不小心给数据库表emp的一条重要记录给删除了并且还提交了,此时也没有其他任何备份数据,

他十分惊恐,10:05分他的同事,也就是本人出现了在和他轻松的聊天中给出了如下解决方法,哈哈哈。。。

我:怎么了

张:我把数据emp表的某几条记录给删除了,我也不知道删除的是那几条。。。

我:不要急,大概是几点删除的

张:10点左右

我:恩,现在10:05分了,也就是5分钟前删除的,还不超过6分钟

张:怎么办啊,我怎么把那几条数据给找回来啊,下午客户那边还要等着做数据演示了

我:冷静点,让我想想。。。有了,如果我们能够找回6分钟前的没有删除时候的数据那问题就解决了

找回6分钟前的原始数据(注意6分钟一定要是操作距现在的有效时间时间区域段,如果大于5分钟不足6分钟,

这个中间有没有做任何操作那只能坚持就小原则写5,不然会报  ora-01466 : 无法读取数据-表定义已更改)

  1. select * from emp as of timestamp sysdate - 6/1440

我:现在你可以把原来的表哦删掉直接创建备份一个表就可以了

  1. create table emp as (select * from emp as of timestamp sysdate - 6/1440);

张:这到是一个好办法,但是我们公司有规定,表不能随表删除,不然我的绩效奖金就全部泡汤了。。。

张:能不能在补删除原表的基础上,把找回的记录插入到原表中了

我:让我,想想。。。有了。。。

我:我们可以做差,找到删除的记录=6分钟前的原始数据-现在表中的记录,再插入原来的表中,提交

  1. insert into emp
  2. select *  --6分钟前删除的记录
  3. from(select * --6分钟前删除的记录
  4. from emp as of timestamp sysdate - 6 / 1440 --6分钟前的原始数据
  5. minus --减去
  6. select * from emp --现在表中的记录)

张:耶。。。可以了,thanks。。。

From:http://blog.csdn.net/goodleiwei/article/details/7431063

【转】Oracle 如何找回已经删除了的表记录的更多相关文章

  1. mysql之字段的修改,添加、删除,多表关系(外键),单表详细操作(增删改)

    字段的修改.添加和删除 create table tf1( id int primary key auto_increment, x int, y int ); #修改 alter table tf1 ...

  2. oracle创建表之前判断表是否存在,如果存在则删除已有表

    Mysql 创建表之前判断表是否存在,如果存在则删除已有表 DROP TABLE IF EXISTS sys_area; CREATE TABLE sys_area ( id int NOT NULL ...

  3. Oracle创建,删除用户与表空间

    1.创建表空间与用户 a:创建数据表空间 create tablespace user_data logging datafile 'D:\oracle\product\10.2.0\oradata\ ...

  4. Oracle 删除用户和表空间

    版权声明:本文为博主原创文章,未经博主允许不得转载. Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用 ...

  5. 使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响?

    使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响? 1.问题:各操作间或者性能上会不会有影响? 如果有该如何解决? 多用户操作的影响主要是回锁定记录,oracl ...

  6. ORACLE 11gR2 RAC添加删除(正常及强制)节点操作步骤(删除篇)

    ORACLE 11gR2 RAC添加删除(正常及强制)节点操作步骤(删除篇) 本文主要转载 [  http://www.cnxdug.org/?p=2511 ] 有部分细节自己实验添加,再此谢谢前辈. ...

  7. Oracle 从共享池删除指定SQL的执行计划

    ORACLE从共享池删除指定SQL的执行计划 2016-12-29 11:14 by 潇湘隐者, 2836 阅读, 0 评论, 收藏, 编辑 Oracle 11g在DBMS_SHARED_POOL包中 ...

  8. oracle删除用户及其表空间

    oracle删除用户及其表空间 删除表空间:可以先将其offlinealter tablespace xx offline;将磁盘上的数据文件一同删除drop tablespace xxx inclu ...

  9. Oracle卸载后手工删除内容

    使用deinstall卸载oracle后,手工删除Oracle数据库,方法如下: 第一步:停用全部oracle服务 第二步:删除oracle注册表运行regedit在如下路径中找到oracle相关键值 ...

随机推荐

  1. BZOJ2438:[中山市选2011]杀人游戏(强连通分量)

    Description 一位冷血的杀手潜入 Na-wiat,并假装成平民.警察希望能在 N 个人里面,查出谁是杀手.警察能够对每一个人 进行查证,假如查证的对象是平民,他会告诉警察,他认识的人, 谁是 ...

  2. PHP语言开发微信公众平台(订阅号)之curl命令(补充)

    在之前的一篇随笔中,博主在调用curl命令上传文件时会经常出现上传方法过时的情况.如下图所示: 所以,我们只需要把上传方法换成创建CURLFile 类即可.如下所示 $ch = curl_init() ...

  3. npm run build 打包后,如何运行在本地查看效果

    目前,使用vue-cli脚手架写了一个前端项目,之前一直是使用npm run dev 在8080端口上进行本地调试.项目已经进行一半了,今天有时间突然想使用npm run build进行上线打包,试试 ...

  4. 图片背景2X && 3X

    图片背景2X && 3X @media (-webkit-min-device-pixel-ratio: 3),(min-device-pixel-ratio: 3){ .share_ ...

  5. MongoDB的角色作用(1)

    MongoDB的角色作用: 经过大量血的教训,一个分片配置两个副本集时(一个是primary一个是secondary),如果primary挂掉,secondary是不会升级的,必须要加上一个不存储数据 ...

  6. PL/SQL添加Oracle对象

    1.首先用system的身份进入数据库 2.找到user文件夹 3.右击新建用户 在“创建用户”窗口中,输入新用户的名称.口令,默认表空间.临时表空间等 4.赋予新用户权限,赋予其角色权限:conne ...

  7. Window系统Oracle 安装

    一:安装Oracle 数据库软件 1.先去官网下载所需文件:http://www.oracle.com/technetwork/database/enterprise-edition/download ...

  8. Python的多进程

    这里不说其它,Python的多进程网上已经有很多了,可以尽情搜索.但是用多进程一般是采用对任务的方式,所以注意文件锁定.一般采用Pool是比较合适的.给个网友的小代码 from multiproces ...

  9. Git 远程推送被拒绝的一种解决方案

    今天在推送的时候发生了如下错误信息: error: 无法推送一些引用到 'https://gitee.com/von_w/demo_app.git'提示:更新被拒绝,因为您当前分支的最新提交落后于其对 ...

  10. 如何在tornado中以异步的方式调用同步函数

    问题 如何在tornado的coroutine中调用同步阻塞的函数 解决方案 使用python内置标准库的concurrent.futures.ThreadPoolExecutor和tornado.c ...