`

oracle 删除恢复

阅读更多
写道
同事找回时操作的数据库为oracle 10g , 之前删除方式为delete 不晓得trancate好使不

 SCN(系统改变号),它的英文全拼为:System Change Number ,它是数据库中非常重要的一个数据结构。
  SCN提供了Oracle的内部时钟机制,可被看作逻辑时钟,这对于恢复操作是至关重要的
  注释:Oracle 仅根据 SCN 执行恢复。
  它定义了数据库在某个确切时刻提交的版本。在事物提交时,它被赋予一个唯一的标示事物的SCN 。一些人认为 SCN 是指, System Commit Number ,而通常 SCN 在提交时才变化,所以很多情况下,
  这两个名词经常被交替使用。
  究竟是哪个词其实对我们来说并不是最重要的,重要的是我们知道 SCN 是 Oracle 内部的时钟机制, Oracle 通过 SCN 来维护数据库的一致性,并通过SCN 实施 Oracle 至关重要的恢复机制。
  具体执行流程我们可从以下几个示例图中体会;
  1.原表记录 $ sqlplus eygle/eygle
  SQL*Plus: Release 10.1.0.2.0 - Production on Wed Mar 30 08:52:04 2005
  Copyright (c) 1982, 2004, Oracle. All rights reserved.
  Connected to:
  Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
  With the Partitioning, OLAP and Data Mining options
  SQL>select count(*) from t1;
  COUNT(*)
  ----------
  9318
  2.误删除所有记录
  并且提交更改。
  SQL>delete from t1;
  9318 rows deleted.
  SQL>commit;
  Commit complete.
  SQL>select count(*) from t1;
  COUNT(*)
  ----------
  0
  3.获得当前SCN
  如果能够确切知道删除之前SCN最好,如果不知道,可以进行闪回查询尝试.
  SQL>select dbms_flashback.get_system_change_number from dual;
  GET_SYSTEM_CHANGE_NUMBER
  ------------------------
  10671006
  SQL>select count(*) from t1 as of scn 10671000;
  COUNT(*)
  ----------
  0
  SQL>select count(*) from t1 as of scn 10670000;
  COUNT(*)
  ----------
  9318
  我们看到在SCN=10670000时,数据都在。
  4.恢复数据.
  SQL>insert into t1 select * from t1 as of scn 10670000;
  9318 rows created.
  SQL>commit;
  Commit complete.
  SQL>select count(*) from t1;
  COUNT(*)
  ----------
  9318
  文章2
  误删数据后的还原
  select timestamp_to_scn(to_timestamp('2009-03-13 09:00:00','YYYY-MM-DD HH:MI:SS')) from dual;
  结果:13526973
  将删除时间转换为scn
  select * from reportinfo
  AS OF SCN 13526973
  将reportinfo表中的scn点的数据取出
  然后可以根据这个数据进行还原操作
  create table reporttest as select * from reportinfo where 1=0;
  insert into reporttest select * from reportinfo AS OF SCN 13526973;
  --上面两句应该可以合成一句
  --create table reporttest as select * from reportinfo AS OF SCN 13526973;
  这是reporttest表中就是scn点的reportinfo数据.处理即可

 

分享到:
评论

相关推荐

    Oracle恢复误删除数据

    Oracle 恢复误删除数据 Oracle 数据库是企业级的关系数据库管理系统,广泛应用于各种行业。然而,在实际操作中,误删除数据是一种常见的错误。因此,了解如何恢复误删除数据是非常重要的。本文将详细介绍 Oracle ...

    Oracle数据库误删除数据的不同恢复方法整理

    ### Oracle数据库误删除数据的不同恢复方法 #### 一、引言 在日常的数据库管理工作中,数据误删除是一个常见的问题。对于Oracle数据库来说,它提供了一系列强大的数据恢复工具和技术,帮助管理员快速有效地恢复误...

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

    ### Oracle数据库误删除数据的不同恢复方法 #### 一、引言 在Oracle数据库管理中,误删除数据是一种常见的错误操作,可能导致重要的业务数据丢失。为了应对这种情况,Oracle提供了多种数据恢复的方法,包括闪回恢复...

    Oracle必杀技物理删除数据文件恢复

    本篇文章将深入探讨Oracle数据库中物理删除数据文件的恢复方法,帮助你掌握这一关键的故障恢复技能。 首先,我们要理解数据文件物理删除的后果。一旦数据文件被物理删除,不仅文件本身消失,Oracle数据库可能无法...

    Oracle恢复误删除数据,解除锁定的等SQL语句

    在日常操作中,有时可能会发生误操作,如误删除数据或锁定问题,本篇文章将详细讲解如何在Oracle中恢复误删除数据以及解锁相关操作。 1. **恢复误删除数据** 当你不小心删除了数据库表中的数据时,Oracle提供了一...

    oracle删除数据恢复

    找回时操作的数据库为oracle 10g , 之前删除方式为delete

    oracle 误删除表恢复

    ### Oracle误删除表恢复 在Oracle数据库管理过程中,误删表是常见的操作失误之一,而如何有效、快速地恢复这些被误删的表对于DBA(数据库管理员)来说至关重要。本文将详细介绍如何在Oracle环境下利用回收站功能...

    原创Oracle 物理删除数据文件恢复 危机演练

    本文将深入探讨如何在危机情况下进行Oracle数据文件的物理删除恢复。这个话题对于DBA(数据库管理员)来说至关重要,因为数据的安全性和完整性是任何业务的核心。 首先,我们需要理解Oracle数据文件(Data Files)...

    oracle数据恢复工具

    物理恢复主要是针对数据文件、控制文件、重做日志文件等物理组件的损坏或丢失,而逻辑恢复则涉及事务错误、误删除数据等问题。"Oracle数据恢复工具"在这些领域提供支持,帮助用户在数据灾难发生时尽可能地恢复数据...

    Oracle通过DBF恢复数据

    ### Oracle通过DBF恢复数据 #### 一、背景介绍 在日常工作中,Oracle数据库作为企业级数据管理系统之一,经常面临着各种意外情况,如误删除、误操作或系统故障导致的数据丢失。在这种情况下,如何有效地恢复数据...

    ORACLE恢复删除记录

    可根据文档提示做相关操作,可以帮助您恢复点不小心误删除的数据

    ORACLE truncate 数据恢复

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

    oracle删除用户下所有表

    但是需要注意的是,在执行此类操作时必须格外小心,因为一旦执行了删除命令,这些数据将无法恢复。此外,确保不要误删系统表或重要业务数据表是非常重要的。 #### 核心知识点解析 ##### 1. 删除非系统用户的表 在...

    oracle误删除表空间后恢复

    标题与描述概述的知识点是关于Oracle数据库中误删除表空间后的恢复方法。这涉及到Oracle数据库管理中的关键领域,包括表空间管理、数据恢复以及RMAN(Recovery Manager)的使用。下面将对这一主题进行详细解析,涵盖...

    操作系统重装后oracle数据库的恢复

    a、oracle数据库系统变量的恢复,ora.reg中饱含了oracle的主要系统参数,其中home项包含了不同的版本信息,导入注册表后可以根据情况修改、增加或者删除对应的home信息。 b、oracle odbc驱动参数的恢复,需要导入...

    ORACLE误删除数据的恢复方法

    ### ORACLE误删除数据的恢复方法 #### 一、引言 在数据库管理与维护过程中,数据误删除是一个常见的问题。对于Oracle数据库来说,误删除数据后如何进行有效的恢复至关重要。本文将详细介绍如何利用Oracle特有的SCN...

    Oracle从回收站恢复删除的表

    ### Oracle从回收站恢复删除的表 #### 一、引言 在Oracle 10g及后续版本中,为了提供更高效的数据管理能力,引入了一个非常实用的功能——**回收站**(Recycle Bin)。这一特性使得数据库管理员能够在不慎删除表等...

    oracle删除数据的恢复

    ### Oracle删除数据后的恢复方法 在Oracle数据库管理中,误删除数据是一个常见的问题。一旦数据被意外删除且已提交(即使用了`DELETE`语句并执行了`COMMIT`),恢复这些数据变得较为复杂。然而,Oracle提供了一些...

    oracle 通过快照进行数据恢复

    ### Oracle通过快照进行数据恢复 #### 一、引言 在日常的数据库管理工作中,数据丢失或误删除是常见的问题之一。对于Oracle数据库来说,它提供了多种手段来进行数据恢复,其中一种有效的方式就是利用快照...

Global site tag (gtag.js) - Google Analytics