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

oracle 恢复误删除的表和误更新的表

阅读更多

今天不小心把一个表删除了。呵呵 查找了下恢复的方法 ,还真是简单啊

根据ORACLE10G的特性,当我执行Drop Table或delete all时,Oracle都会把被删除的表或数据记录放到数据库回收站(Database Recyclebin)里。这样我们就可以用flashback table命令恢复被删除的表,语法:
Flashback table 表名 to before drop;

 

sql@kokooa>flashback table test003 to before drop;

Flashback complete.

sql@kokooa>select * from test003;

NAME      STATE     PERSON
---- ---------- ----------
A             1
A             2
A             1
A             1
B             2
B             2

6 rows selected.

 

 

 

update的表

sql@kokooa>flashback table a to timestamp to_timestamp('2009-11-09 11:00:00','yyyy-mm-dd hh24:mi:ss');

一般会报错:

ERROR at line 1:
ORA-08189: cannot flashback the table because row movement is not enabled

 

只需要:

sql@kokooa>alter table a enable row movement;

Table altered.

就OK了

sql@kokooa>flashback table a to timestamp to_timestamp('2009-11-09 11:00:00','yyyy-mm-dd hh24:mi:ss');

Flashback complete.

sql@kokooa>select * from a;

NAME                        NUM
-------------------- ----------
jim                          90
tom                         100
kate                        220
lily                        330

 

[SYS@ora10gr1#2009-11-04/08:42:53] SQL>show parameter db_flashback_retention_target

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target        integer     1440


默认情况下,oracle会对提交的数据做 1440 分钟,也就是一天的“缓存”,因此一天之内的数据是有办法找回的。

今天不小心把一个表删除了。呵呵 查找了下恢复的方法 ,还真是简单啊

根据ORACLE10G的特性,当我执行Drop Table或delete all时,Oracle都会把被删除的表或数据记录放到数据库回收站(Database Recyclebin)里。这样我们就可以用flashback table命令恢复被删除的表,语法:
Flashback table 表名 to before drop;

 

sql@kokooa>flashback table test003 to before drop;

Flashback complete.

sql@kokooa>select * from test003;

NAME      STATE     PERSON
---- ---------- ----------
A             1
A             2
A             1
A             1
B             2
B             2

6 rows selected.

 

 

 

update的表

sql@kokooa>flashback table a to timestamp to_timestamp('2009-11-09 11:00:00','yyyy-mm-dd hh24:mi:ss');

一般会报错:

ERROR at line 1:
ORA-08189: cannot flashback the table because row movement is not enabled

 

只需要:

sql@kokooa>alter table a enable row movement;

Table altered.

就OK了

sql@kokooa>flashback table a to timestamp to_timestamp('2009-11-09 11:00:00','yyyy-mm-dd hh24:mi:ss');

Flashback complete.

sql@kokooa>select * from a;

NAME                        NUM
-------------------- ----------
jim                          90
tom                         100
kate                        220
lily                        330

 

[SYS@ora10gr1#2009-11-04/08:42:53] SQL>show parameter db_flashback_retention_target

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target        integer     1440


默认情况下,oracle会对提交的数据做 1440 分钟,也就是一天的“缓存”,因此一天之内的数据是有办法找回的。
 

分享到:
评论

相关推荐

    Oracle恢复误删除数据

    Oracle 恢复误删除数据 Oracle 数据库是企业级的关系数据库管理系统,广泛应用于各种行业。然而,在实际操作中,误删除数据是...Oracle 恢复误删除数据需要了解闪回方法的使用和限制,同时也需要注意空间占用的问题。

    oracle 误删除表恢复

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

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

    Oracle数据库提供了多种误删除数据的恢复方法,包括闪回恢复和回收站恢复。通过对这些方法的理解和应用,可以有效地避免因误操作而导致的数据丢失问题。同时,在日常维护中,合理地管理回收站和及时回收不再需要的...

    oracle误删除表空间后恢复

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

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

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

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

    对于Oracle数据库来说,它提供了一系列强大的数据恢复工具和技术,帮助管理员快速有效地恢复误删除的数据。本文将详细介绍Oracle数据库中不同场景下的数据恢复方法。 #### 二、Delete误删除的解决方法 **1. 原理**...

    ORACLE误删除数据的恢复方法

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

    利用oracle闪回技术恢复误删除的表或误更新的记录.pdf

    为了使 Oracle 数据库从任何逻辑误操作中迅速地恢复,Oracle 推出了闪回技术。 该技术首 先以闪回查询( Flashback Query)出现在 Oracle 9i 版本中,后来 Oracle 在 10g 中对该技术 进行了全面扩展,提供了闪回...

    oracle误删除表数据后的恢复详解.doc

    总结来说,Oracle 提供了强大的数据恢复机制,包括通过调整 Undo Retention 参数来延长撤销信息的保留时间,以及利用 Flashback 和 AS OF TIMESTAMP 功能来恢复误删除的数据。理解并熟练运用这些工具对于数据库管理...

    【总结】oracle恢复误删除数据,解除锁定的等sql语句.doc

    - **闪回表**: 当整个表被误删除时,可以通过`FLASHBACK TABLE`命令恢复到删除前的状态。首先需要知道被删除表的名称。例如: ```sql FLASHBACK TABLE 表名 TO BEFORE DROP; ``` 这条命令将把表恢复到最后一次...

    oracle 9i误删除表空间的解决办法(造成ORA-01033.txt

    通过上述步骤,可以有效地解决Oracle 9i中因误删除表空间导致的ORA-01033和ORA-01110等错误。值得注意的是,在处理这类问题时,应尽量避免对生产环境造成进一步的影响,并在必要时寻求高级数据库管理员的帮助。

    oracle中truncate table后的数据恢复

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

    oracle误删除表数据.txt

    ## oracle恢复误删除的表数据 ** 查询某个时间节点的表数据 ```java select * from 表名 as of timestamp to_timestamp('2020-04-27 17:25:00','yyyy-mm-dd hh24:mi:ss') ``` 开启行移动功能 ```java alter table ...

    oracle恢复误删除数据,解除锁定的等sql语句.pdf

    以下是一些关键的知识点,涵盖了如何恢复误删除的数据、解除锁定、处理账户锁定以及查询数据库用户和权限的相关信息。 1. **恢复误删除数据**: - Oracle 提供了闪回技术来恢复误删除的数据。通过 `AS OF ...

    解决误删了oracle的表空间

    运行在虚拟机的Linux下,解决误删了oracle的表空间,不用重装oracle

    Oracle恢复流程图(doc)

    3. 闪回事务:撤销特定的事务操作,对于误删除或更新特别有用。 六、总结 Oracle恢复是一个复杂但至关重要的过程,涉及到多种策略和技术,包括崩溃恢复、介质恢复、归档日志恢复和闪回恢复。理解并熟练掌握这些...

    oracle 恢复表数据

    对于“oracle恢复表数据”的主题,本文将深入探讨几种常见的恢复方法,并结合给定的描述与部分代码示例进行详细解释。 ### Oracle恢复表数据概览 在Oracle数据库环境中,数据丢失可能由多种原因引起,如误操作、...

    oracle恢复误删除数据,解除锁定的等sql语句[参考].pdf

    本文将详细讲解如何在Oracle中恢复误删除数据、解除锁定,以及查询和管理用户权限。 1. **恢复误删除数据** 当意外删除表中的数据时,Oracle提供了一种称为"闪回"的技术。在10g及更高版本中,可以使用`AS OF ...

    Oracle恢复truncate删除表的数据.pdf

    【Oracle 恢复 Truncate 删除表的数据】 在Oracle数据库中,`TRUNCATE TABLE`命令用于删除表中的所有数据,但保留表结构。与`DELETE`语句不同,`TRUNCATE`不记录任何删除操作,因此无法通过常规的事务回滚来恢复...

Global site tag (gtag.js) - Google Analytics