`
lsh4894
  • 浏览: 105141 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle 如何找回已经删除了的表记录

阅读更多

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

 

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

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

 

我:怎么了

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

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

张:10点左右

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

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

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

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

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

 

select * from emp as of timestamp sysdate - 6/1440  --timestamp 后面为时间点

 

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

  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。。。

分享到:
评论

相关推荐

    oracle如何将删除的表找回

    在Oracle数据库中,数据的删除并不意味着立即永久丢失,尤其是当你使用`DELETE`语句删除数据后,只要没有进行大量的后续操作,就有可能通过特定的恢复机制找回已删除的表或数据。本篇文章将详细解释如何在Oracle 10g...

    Oracle数据库误删除数据的不同恢复方法整理(超级实用)

    当表被DROP后,如果没有立即被其他数据覆盖,Oracle会将其放置在**回收站**(Recycle Bin)中,这使得用户可以在一定时间内恢复被删除的表。 #### 三、误删除数据的具体恢复方法 ##### 3.1 DELETE误删除的恢复方法 ...

    oracle找回删除的数据

    在Oracle数据库环境中,误删除数据是一个常见的问题,但幸运的是,通过合理的恢复策略和技术手段,我们通常能够找回这些被删除的数据。以下将详细介绍如何在Oracle环境下执行数据恢复操作,包括理解Oracle的时间戳...

    oracle中truncate table后的数据恢复

    在Oracle数据库中,`TRUNCATE TABLE`是一个用于删除表中所有数据的命令,它与`DELETE`语句不同,不记录任何删除操作,并且在大多数情况下执行速度更快。然而,一旦执行`TRUNCATE TABLE`,数据通常无法通过常规的...

    恢复drop的表和记录

    然而,现代的数据库管理系统(DBMS)提供了多种机制来帮助恢复被误删除的表和记录,其中Oracle数据库的闪回功能尤为突出。本文将围绕“恢复drop的表和记录”这一主题,深入探讨如何利用Oracle数据库的闪回技术来恢复...

    ORACLE truncate 数据恢复

    在Oracle数据库中,`TRUNCATE TABLE`命令用于删除表中的所有数据,但它与`DELETE`语句有所不同。`TRUNCATE`操作是DDL(Data Definition Language)的一部分,而`DELETE`是DML(Data Manipulation Language)。由于`...

    oracle数据误删找回

    1. **确认删除操作**:首先,确认数据已被删除并提交,例如通过 "SELECT COUNT(*) FROM table_name" 来检查表中的记录数。 2. **获取删除前的 SCN**:如果可能,找出删除操作前的 SCN,这有助于精确恢复到误删前的...

    误删表空间导致Oracle不能启动的解决方法

    当管理员不慎删除了表空间相关的文件,可能会导致Oracle数据库无法正常启动,进而影响业务运行。本篇文章将深入探讨误删表空间文件后如何解决这一问题,以及预防此类情况的策略。 首先,当Oracle数据库遇到表空间...

    oracle 闪回 flashback

    - 允许用户撤销对表或表空间的DROP操作,找回误删的对象。 6. **Flashback Table**: - 用于恢复单个表到先前的状态,这在误操作后特别有用。 Oracle的闪回技术是其强大的数据保护和恢复机制的一部分,提供了...

    oracle使用logmnr找回误删数据.rar

    6. **查询Log Miner结果**:通过查询V$LOGMNR_CONTENTS视图,可以查看到所有在指定日志区间内的DML(数据操纵语言)操作,包括删除记录。找到与误删操作相关的事务,记录其SQL语句。 7. **重建数据**:根据Log ...

    Oracle闪回特性

    4. **闪回查询**:使用`AS OF TIMESTAMP`或`AS OF SCN`进行闪回查询,以找回已删除的记录。 5. **恢复被删除的数据**:通过插入闪回查询结果的方式,恢复被删除的数据。 #### 四、Oracle 10g的闪回特性改进 在...

    oracle常见问题解答

    2. **找回被意外删除的数据** Oracle Flashback技术允许从任意时间点恢复数据,即使是在数据已被删除或更新之后。通过`FLASHBACK TABLE`、`FLASHBACK QUERY`等命令,可以在不破坏现有数据的情况下,恢复至所需的...

    用户管理_源代码_jsp+oracle经典实例

    在实际项目中,开发者通常会使用诸如Hibernate或MyBatis这样的ORM框架来简化JSP与Oracle之间的数据交互,将Java对象与数据库表对应,减少手写SQL的繁琐工作。 【用户管理模块】可能包含以下子模块: 1. 注册模块:...

    Oracle 10g Flashback 概述

    只要表尚未被回收,就可以轻松找回。 6. **Flashback表空间** 类似于Flashback Database,但只针对特定的表空间。这在需要恢复部分数据而非全部时非常有用。 7. **Flashback Data Archive** 为了长期保留历史...

    Oracle 闪回 找回数据的实现方法

    在Oracle中,删除的表会进入数据库的回收站,我们可以使用`DBA_RECYCLEBIN`视图查看回收站中的对象。通过`FLASHBACK TABLE`语句,我们可以将表恢复到被删除前的状态,如下所示: ```sql DROP TABLE student; ...

    Oracle 数据库应用:第17章 Oracle闪回技术.ppt

    这种功能依赖于撤销数据,使得意外删除的对象有机会被找回。 **闪回版本查询** 允许用户查看特定表在某一时间段内的所有修改记录,这在追踪数据变化历史时非常有用。同样,它基于撤销数据来实现。 **闪回事务查询*...

    oracle练习及答案

    找回第41题中删除的数据内容 - **知识点**: 使用`FLASHBACK TABLE`恢复数据。 - **SQL语句**: 恢复数据: - `FLASHBACK TABLE emp TO BEFORE DROP;` #### 43. 复制`emp`表中所有部门编号为20的员工信息,表名为:...

    数据库复习材料.doc

    3. 表空间是Oracle数据库中数据的逻辑组织,一个表空间可以由一个或多个数据文件组成。表空间分为本地管理和字典管理两种类型。 4. 在Oracle的逻辑存储结构中,数据被分为不同类型的段:数据段、索引段、回退段、...

    delete all delete all delete all delete all

    4. 数据库操作:在数据库管理中,"DELETE ALL"或"TRUNCATE TABLE"命令用于清空表中的所有记录,前者记录日志,可回滚,后者速度快但不可回滚。 5. 缓存与历史记录:在浏览器中,"Delete All"可以清除浏览历史、...

    java_jsp项目源码_移动ssh项目(struts+spring+hibernate+oracle).rar

    移动SSH项目是一个基于Struts、Spring、Hibernate和Oracle技术栈的企业级Java Web应用,它为企业提供了一套完整的移动端SSH(Secure Shell)解决方案。项目具有高度可定制性,可以根据客户需求进行二次开发和定制。...

Global site tag (gtag.js) - Google Analytics