`
newleague
  • 浏览: 1504775 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

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数据.处理即可

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/w40338544/archive/2010/08/21/5828257.aspx

 

/**

mdp:

 select timestamp_to_scn(to_timestamp('2011-06-2 01:00:00','YYYY-MM-DD HH:MI:SS')) from dual 57663446
select * from tb_soft_download AS OF SCN 57663446 where create_date >to_date('2011-5-31 20:00:00','yyyy-MM-dd HH24:MI:SS') AND SERIAL_NO = '980540368600'

insert into tb_soft_download select  * from tb_soft_download AS OF SCN 57663446 where create_date >to_date('2011-5-31 20:00:00','yyyy-MM-dd HH24:MI:SS') AND SERIAL_NO = '980540368600'

**/

分享到:
评论

相关推荐

    oracle数据误删找回

    本文将深入探讨如何在 Oracle 10g 中找回被误删的数据,主要涉及 SCNs(系统改变号)的概念及其在恢复过程中的作用。 SCN,即 System Change Number,是 Oracle 数据库的一个关键组件,它充当了数据库的内部时钟,...

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

    本文将详细介绍如何利用logmnr找回误删数据。 首先,了解logmnr的基本概念。Log Miner是Oracle数据库内置的一个实用工具,它可以分析Redo Log文件,从中提取出数据库的变更历史信息。当数据被删除时,这些变更信息...

    oracle恢复误删数据

    在Oracle数据库环境中,数据安全是至关重要的,但有时由于误操作,可能会导致数据被意外删除。在这种情况下,了解如何恢复误删数据变得极其关键。Oracle提供了多种机制来帮助用户在不同场景下恢复丢失的数据,包括闪...

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

    无论是单条记录的误删还是整张表的删除,Oracle都提供了多种恢复手段。合理利用这些工具和技术,不仅可以避免数据丢失的风险,还能最大限度地减少对业务的影响。当然,在实际操作过程中还需要根据具体情况选择最适合...

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

    它基于Oracle数据库的事务日志和重做日志,能够帮助用户找回误删除的数据。 - **闪回查询**:可以查看某个时间点的数据。 - **闪回删除**:用于恢复被删除的数据。 - **闪回表**:用于恢复整个表到某个时间点的状态...

    oracle闪回数据库

    Oracle闪回数据库是一种高效的数据恢复技术,它允许管理员迅速恢复数据库至某一特定时间点,而无需执行完整的数据库恢复过程。这种技术显著提高了数据恢复的速度和便捷性,特别适合处理逻辑错误,例如用户误操作导致...

    Oracle数据库表数据误删还原的方法

    Oracle数据库表数据误删还原的方法,在一定时间内表数据误删除了恢复数据的方法

    使用oracle快照恢复误删的数据

    oracle 数据恢复 误删恢复 111111111111111111111111111111111111111111111111111111111111111111111111

    Oracle误删的重要数据恢复指导

    在Oracle数据库管理中,数据是企业的生命线,因此一旦发生误删操作,后果可能非常严重。本篇文章将详细探讨如何在Oracle中恢复误删的重要数据,以及如何采取预防措施以避免此类情况的发生。 首先,理解Oracle的数据...

    Oracle10G数据库恢复

    ### Oracle10G数据库恢复详解 #### 数据失败类型与应对策略 在Oracle10G数据库管理中,数据失败是常见的问题,它不仅影响数据库的稳定性和数据的完整性,还可能导致业务中断。根据失败的性质,Oracle10G将数据失败...

    oracle误删数据恢复

    ### Oracle误删数据恢复 在Oracle数据库管理过程中,误删数据是常见的问题之一。当遇到这类情况时,Oracle提供了一种强大的数据恢复机制——回闪(Flashback)功能。通过回闪功能,用户可以在特定的时间点恢复已...

    oracle 误删办法

    四中操作oracle数据库误删数据的解决办法,比较齐全,有代码。

    oracle误删数据表还原的二种方法(oracle还原)

    Oracle数据库在面临误删数据表的情况时,有多种方法可以尝试恢复数据。以下将详细介绍两种主要的方法,以及一些额外的恢复策略。 一、即时恢复(Flashback Technology) Oracle数据库提供了强大的回闪技术,允许...

    安装卸载Oracle数据库详细步骤

    2. **删除注册表项**:使用注册表编辑器删除Oracle相关的键值,但需谨慎操作,以免误删其他关键信息。 3. **删除文件和目录**:定位到Oracle的安装目录,删除所有相关文件和子目录。 4. **清理环境变量**:检查并...

    oracle数据库各种删除重复数据方法

    ### Oracle数据库删除重复数据的方法 在Oracle数据库管理中,处理重复数据是一项常见且重要的任务。重复数据不仅会占用额外的存储空间,还可能导致数据分析时出现偏差。因此,掌握如何有效地识别并删除这些重复记录...

    Oracle误删数据恢复.txt

    ### Oracle误删数据恢复知识点详解 #### 一、概述 在Oracle数据库管理中,误删数据是一种常见的问题,尤其对于大型或关键业务系统的数据库来说,误删数据可能会导致严重的后果。因此,掌握如何有效地恢复误删的数据...

    只剩下oracle 文件恢复全过程

    在IT领域,尤其是在数据库管理与恢复方面,Oracle数据库的文件恢复是一个极其关键且技术含量较高的过程。根据给定的文件信息,“只剩下oracle 数据文件恢复以前数据库全过程”这一标题明确指向了Oracle数据库的数据...

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

    Oracle数据库管理系统是世界上最广泛使用的数据库之一,其强大的数据恢复和管理功能为企业提供了可靠的数据保障。在日常操作中,有时可能会发生误操作,如误删除数据或锁定问题,本篇文章将详细讲解如何在Oracle中...

    oracle基础教程

    第1章 ORACLE数据库概述 2 1.1 产品概述 2 1.1.1 产品简介 2 1.1.2 基本概念 3 1.2 ORACLE系统结构 4 1.2.2 ORACLE物理结构 4 1.2.3 系统全局区 6 1.2.4 进程 8 1.3 存储管理 9 1.3.2 逻辑结构 10 1.3.3 表(Table)...

    《Oracle数据库系统管理与运维》课程教学大纲 数据库运维.docx

    ### Oracle数据库系统管理与运维知识点概述 #### 一、课程背景与目标 - **课程背景**:随着信息技术的发展,数据库已成为现代信息系统的核心组成部分。Oracle数据库因其高性能、高可靠性等特点,在企业级应用中占据...

Global site tag (gtag.js) - Google Analytics