一:表的恢复
对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有:
1、从flash back里查询被删除的表
select * from recyclebin
2.执行表的恢复
falshback table tb to drop before,这里的tb代表你要恢复的表的名称。
二:表数据恢复
对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复,一般步骤有:
1、先从flashback_transaction_query视图里查询,视图提供了供查询用的表名称、事务提交时间、UNDO_SQL等字段。
如:select * from flashback_transaction_query where table_name='TEST';
2、执行表记录恢复
一般先根据时间进行查询,查询语句模式为select * from tb as of timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'); tb指表名称,time指某个时间点
如select * from scott.test as of timestamp to_timestamp('2009-12-11 20:53:57','yyyy-mm-dd hh24:mi:ss');
若有数据,恢复极为简单了,语句为flashback table tb to timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss');
如flashback table scott.test to timestamp to_timestamp('2009-12-11 20:47:30','yyyy-mm-dd hh24:mi:ss');
'scott.test'----表名
如果没有 flashback_transaction_query 这个视图,可以用以下方法
如果在 2010-12-16 12:30:00 误删了abc表数据,那么可以执行下面的语句把删除前的全部记录找回来。
select * from abc as of timestamp to_timestamp('2010-12-16 12:25:00', 'yyyy-mm-dd hh24:mi;ss') ;
'abc'---表名
分享到:
相关推荐
**原理**:利用Oracle提供的闪回方法,在删除数据之后还未执行大量其他操作的情况下,可以通过闪回的方式直接找回被删除的数据。 **步骤**: 1. **确定删除数据的时间**:需要知道数据被删除的具体时间点。 2. **...
5. **恢复数据**:一旦找到被删除的数据行,可以根据实际情况选择手动或自动的方式将这些数据行重新插入到表中。 ### 总结 通过以上介绍,我们可以了解到Oracle数据库提供了一种有效的方式来处理误删除数据的问题...
在Oracle数据库中,`TRUNCATE TABLE`是一个用于删除表中所有数据的命令,它与`DELETE`语句不同,不记录任何删除操作,并且在大多数情况下执行速度更快。然而,一旦执行`TRUNCATE TABLE`,数据通常无法通过常规的...
本篇文章将详细解释如何在Oracle 10g中找回被删除的表以及涉及的相关知识点。 首先,了解SCN(System Change Number)的概念至关重要。SCN是Oracle数据库的一个核心组成部分,它作为一个内部的逻辑时钟,用于维护...
如果在删除数据后还没有进行大量的操作(只要保证被删除数据的块没有被覆写),就可以利用闪回方式直接找回删除的数据。 首先,需要确定删除数据的时间(在删除数据之前的时间就行,不过最好是删除数据的时间点)。...
RMAN能够精确地恢复到某个时间点,但需要确保备份包含了被删除的数据。 4. **操作系统文件恢复**:在某些情况下,如果数据文件没有被覆盖,可能可以通过操作系统级别的文件恢复工具找回。但这通常需要专业知识,...
本文将详细介绍如何在Oracle数据库中恢复被删除的数据表或存储过程,以及如何回滚被更新的数据表到某个时间点的状态。 #### 一、解锁用户账户 在进行数据恢复之前,确保操作用户具有足够的权限是非常重要的。如果...
本文将深入探讨如何在 Oracle 10g 中找回被误删的数据,主要涉及 SCNs(系统改变号)的概念及其在恢复过程中的作用。 SCN,即 System Change Number,是 Oracle 数据库的一个关键组件,它充当了数据库的内部时钟,...
利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的块没被覆写),就可以利用闪回方式直接找回删除的数据。
当数据被删除时,这些变更信息可以用来重建丢失的数据状态。 误删数据恢复步骤如下: 1. **开启归档模式**:为了使用logmnr进行数据分析,数据库需要处于归档模式。如果尚未开启,需要执行ALTER DATABASE ...
在Oracle数据库中,误删数据或表是常见的问题之一。以下是一些恢复策略和技术: **1. 恢复表数据** - **时间戳查询**: 如果只需要恢复表中的部分数据,可以使用带有时间戳的查询来获取特定时间点之前的数据。例如...
当执行DROP TABLE操作时,如果启用了回收站(Recycle Bin),则被删除的表会暂时存储在回收站中,这为恢复操作提供了一个窗口期。 ### 恢复被DROP的表 #### 启用回收站 在Oracle数据库中,默认情况下回收站是关闭...
在Oracle环境中,"exp.exe"是Oracle Data Pump Export工具的一部分,用于将数据库对象(如表、索引、存储过程等)的数据和结构导出到一个或多个DMP(Data Pump Export)文件中。DMP文件是一种二进制格式,便于存储和...
只要回收站中的内容未被清除,用户就能随时找回被删除的对象。 “闪回删除”(Flashback Drop)是“数据闪回”机制的一个组成部分,它允许用户恢复意外删除的表或数据库对象。在Oracle 10g中,当你执行DROP TABLE...
通过`FLASHBACK TABLE`语句,我们可以将表恢复到被删除前的状态,如下所示: ```sql DROP TABLE student; FLASHBACK TABLE student TO BEFORE DROP; ``` 这将恢复STUDENT表到被删除前的状态。 二、找回表数据 ...
回收站是Oracle提供的一种内置垃圾收集机制,用于保存被删除的对象,以便在需要时能够恢复。因此,如果误删了表,第一步就是查看回收站中的内容,确认表是否还在。这可以通过以下SQL查询实现: ```sql SELECT ...
Oracle Flashback技术允许从任意时间点恢复数据,即使是在数据已被删除或更新之后。通过`FLASHBACK TABLE`、`FLASHBACK QUERY`等命令,可以在不破坏现有数据的情况下,恢复至所需的状态。 3. **管理自动UNDO表空间...
AS OF SCN`查询尝试找到数据未被删除的SCN。例如: ``` SELECT dbms_flashback.get_system_change_number FROM dual; SELECT count(*) FROM t1 AS OF SCN 10670000; ``` 一旦找到正确的时间点,就可以通过插入闪回...
- **Oracle数据库管理**:理解Oracle的SQL语法,包括DML(插入、更新、删除)、DDL(创建表、索引)、以及存储过程和函数的编写。 - **JDBC连接**:学习如何使用Java JDBC API与Oracle数据库进行通信,包括连接、...