`
勒布朗
  • 浏览: 71188 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

oralce表数据删除的恢复操作

阅读更多
通常我们操作数据库时可能会对数据库进行了一些错误的操作,做常见的是不小心将表中的数据给删除了或是直接将表给drop了。其实,这些操作后,我们都是可以进行数据恢复的,这里是我进行了一些实验,简单的恢复操作。
1、如果我们将表给删了怎么办?
在这里我们做一个实验
新建一张表t_user
create table t_user(
   username varchar2(20) primary key,
   age varchar2(10)
)
插入两条数据:
insert into t_user values('zzzz','1');
insert into t_user values('xxxx','2');
查看一下:
select * from t_user;
结果是:
zzzz 1 XX U
xxxx 2 XX U
我们继续操作
drop table t_user;
这事再去查询数据库时,没有了t_user这张表了。
但是我们想恢复这张表怎么办呢?
我们可以利用闪回,命令是这样的
flashback table t_user to before drop;
ok,再去查询一下t_user表,这个表以及表中的数据又存在了。
2、我们最常见的是删除了表中的数据,也就是truncate或是delete操作。
这是我们需要将闪回到删除之前的数据库看看
命令是:
(1)select * from t_user as of timestamp sysdate - 5/1440;
(2)select * from t_user as of timestamp(systimestamp-interval '1' minute);
这里的时间参数我们是可以设置的
在这里我们就可以看到我们删除数据之前的表的数据,接下来的操作就很简单了,我们就在上述命令前直接加上:insert  into t_user就Ok了。

这些都是闪回能给我们带来的帮助,但是
注意:如果需要闪回一个表,需要以下条件:
·需要有flashback any table的系统权限或者是该表的flashback对象权限;
·需要有该表的select,insert,delete,alter权限;
·必须保证该表row movement。

如果希望能闪回数据库,需要设置如下参数:DB_RECOVER_FILE_DEST      --日志的存放位置,
DB_RECOVER_FILE_DEST_SIZ  --E恢复区的大小
在创建数据库的时候,Oracle将自动创建恢复区,但默认是关闭的,需要执行alter database flashback on命令。   

执行Flashback Database命令格式:
SQL>flashback database to time to_timestamp(xxx);

SQL>flashback database to scn xxx



数据库的闪回状态可以从V$database视图中查询得到:

SQL> select dbid,name,flashback_on,current_scn from v$database;

DBID             NAME       FLASHBACK_ON CURRENT_SCN

----------        ---------      ------------------       -----------

1692001961  ACF          NO                         8175168



分享到:
评论

相关推荐

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

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

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

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

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

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

    如何正确的删除Oracle表空间数据文件

    本文将详细介绍如何正确地删除Oracle表空间数据文件,探讨OFFLINE和OFFLINE DROP的区别,以及在操作系统层面删除数据文件后的恢复策略。 首先,我们来看如何使用`DROP DATAFILE`命令删除数据文件。这个命令允许管理...

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

    在Oracle数据库管理中,数据文件(Data Files)是存储数据库对象如表、索引等的基础组件。当数据文件遭遇物理删除或丢失时,这将对数据库的...在实践中不断积累经验,你将成为一名真正掌握Oracle数据恢复技巧的大师。

    Oracle恢复误删除数据

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

    ORACLE truncate 数据恢复

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

    oracle误删除表空间后恢复

    综上所述,Oracle数据库中误删除表空间的恢复是一项复杂但有序的过程,需要结合控制文件、数据字典、RMAN备份以及系统的当前状态进行综合考虑和操作。掌握这些技巧不仅有助于及时应对数据丢失的紧急情况,也是提升...

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

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

    ORACLE误删除数据的恢复方法

    Oracle仅根据SCN执行恢复操作。这意味着SCN能够帮助我们确定数据的特定时间点状态,从而实现数据恢复。 #### 三、误删除数据的恢复步骤 ##### 1. 查询SCN 为了恢复数据,首先需要确定误删除数据之前的SCN值。这可以...

    oracle 误删除表恢复

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

    oracle中truncate table后的数据恢复

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

    oracle删除数据的恢复

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

    oracle 恢复表数据

    3. **恢复操作**:在需要时,使用RMAN进行恢复操作。 ### 总结 恢复Oracle中的表数据是一个复杂但至关重要的过程。通过合理利用闪回查询、闪回表、闪回删除等功能,可以在很大程度上避免数据丢失的风险。同时,...

    oracle 通过快照进行数据恢复

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

    oracle查看表历史记录-Oracle查看表操作历史记录并恢复.pdf

    本文将介绍如何查看 Oracle 表的历史记录和恢复删除的数据。 一、查看表操作历史记录 要查看表的操作历史记录,可以使用以下 SQL 语句: ```sql select * from v$sqlarea a where a.SQL_TEXT like '%表名%'; ``` ...

    Oracle从回收站恢复删除的表

    这一特性使得数据库管理员能够在不慎删除表等数据库对象后,能够轻松地从回收站中恢复这些对象,而无需执行复杂的不完全恢复操作或者使用导出/导入工具(EXP/IMP)。本文将详细介绍如何利用Oracle的回收站功能进行...

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

    5. **UNDOTABLE空间**:Oracle的UNDO表空间记录了所有事务的撤销信息,如果数据刚刚被删除,且UNDO表空间有足够的保留时间,可以从中恢复。 6. **第三方工具**:市面上有一些专门的数据恢复工具,如Oracle Recovery...

    oracle恢复误删数据

    在Oracle数据库环境中,数据...在实际操作前,务必备份所有相关数据,避免进一步损失,并确保有足够的权限执行恢复操作。此外,对于生产环境,强烈建议定期备份并测试恢复流程,以确保在真正需要时能够成功恢复数据。

    Oracle通过DBF恢复数据

    在日常工作中,Oracle数据库作为企业级数据管理系统之一,经常面临着各种意外情况,如误删除、误操作或系统故障导致的数据丢失。在这种情况下,如何有效地恢复数据成为了一项重要的技能。本文将详细介绍在没有备份的...

Global site tag (gtag.js) - Google Analytics