分为两种方法:scn和时间戳两种方法恢复。
一、通过scn恢复删除且已提交的数据
1、获得当前数据库的scn号
select current_scn from v$database; (切换到sys用户或system用户查询)
查询到的scn号为:1499223
2、查询当前scn号之前的scn
select * from 表名 as of scn 1499220; (确定删除的数据是否存在,如果存在,则恢复数据;如果不是,则继续缩小scn号)
3、恢复删除且已提交的数据
flashback table 表名 to scn 1499220;
二、通过时间恢复删除且已提交的数据
1、查询当前系统时间
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
2、查询删除数据的时间点的数据
select * from 表名 as of timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss'); (如果不是,则继续缩小范围)
3、恢复删除且已提交的数据
flashback table 表名 to timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss');
注意:如果在执行上面的语句,出现错误。可以尝试执行 alter table 表名 enable row movement; //允许更改时间戳
一、通过scn恢复删除且已提交的数据
1、获得当前数据库的scn号
select current_scn from v$database; (切换到sys用户或system用户查询)
查询到的scn号为:1499223
2、查询当前scn号之前的scn
select * from 表名 as of scn 1499220; (确定删除的数据是否存在,如果存在,则恢复数据;如果不是,则继续缩小scn号)
3、恢复删除且已提交的数据
flashback table 表名 to scn 1499220;
二、通过时间恢复删除且已提交的数据
1、查询当前系统时间
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
2、查询删除数据的时间点的数据
select * from 表名 as of timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss'); (如果不是,则继续缩小范围)
3、恢复删除且已提交的数据
flashback table 表名 to timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss');
注意:如果在执行上面的语句,出现错误。可以尝试执行 alter table 表名 enable row movement; //允许更改时间戳
发表评论
-
oracle去除重复数据常用的方法
2023-12-07 11:11 649SELECT * from ecm_query t whe ... -
mysql得到表名和字段
2018-05-03 10:21 0引用 SELECT table_name FROM INFOR ... -
mysql级联查询
2017-11-30 16:48 1428实现效果 例如: 中国 下的 省 市 县 乡 输入 省的 ... -
oracle 简单存储 一个表的数据转入另外的表
2017-06-06 19:58 799线损统计导入 select * from xs_gz ... -
Oracle 关联两表写update语句
2017-05-25 09:28 1322两种方法: -- 方法1. UPDATE 表2 SE ... -
oracle 触发器实例
2017-03-29 17:09 806//新增字段更改值 create or replace tri ... -
使用oracle 的 PL/Sql 定时执行一个存储过程
2015-03-17 11:19 1703/* 使用oracle 的 PL/Sql 定时执行一个存储过程 ... -
删除oracle末用户的表数据
2015-03-10 16:01 895begin for cr in (select o.obje ... -
一个字符串是否包含另一个字符串(两个字符串内部已逗号隔开)
2014-08-07 11:39 1158CREATE FUNCTION [dbo].[getStrCo ... -
Sql Server判断是否含有汉字、数字、字母
2014-06-26 09:45 2527/*含有字母或数字*/ select * from Ta ... -
sql 获取字符串长度SQL字符串操作汇总
2014-05-06 21:24 1367将字符串中从某个字符开始截取一段字符,然后将另外一个字符串插入 ... -
sqlserver锁表
2014-03-31 10:58 910select request_session_id s ... -
sql实现15位身份证转化为18位身份证
2014-02-19 14:22 1715create function f_CID15to18 ... -
如何利用SQL查询语句从SQLSERVER数据库中导入导出EXCEL表格
2013-10-21 16:26 2293如何利用SQL查询语句从SQLSERVER数据库中导入导出E ... -
如何将sqlserver表中的数据导出sql语句或生成insert into语句
2013-10-21 15:17 1417输入表名,生成插入语句 if exists (select ... -
使用sql语句将一个表中的数据拷贝到另一个表中
2013-08-12 13:59 1125声名:a,b ,都是表 --b表存在(两表结构一样)inser ... -
SQLSERVER游标的使用
2013-02-19 15:41 1185declare @user_name varchar( ... -
Tomcat 内存分配
2011-03-25 17:25 949023233232 -
oracle数据备份和还原
2011-01-21 11:19 1007imp jwag/jwag@ORA10 file=d:jw ... -
Oracle存储过程
2011-01-14 13:39 803declare cursor c1 is select * ...
相关推荐
在 Oracle 中,delete 方法可以使用闪回方法恢复删除的数据。如果在删除数据后还没有进行大量的操作(只要保证被删除数据的块没有被覆写),就可以利用闪回方式直接找回删除的数据。 首先,需要确定删除数据的时间...
oracle数据被误删,并且commit之后,对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复
### Oracle数据库误删除数据的不同恢复方法 #### 一、引言 在Oracle数据库管理中,误删除数据是一种常见的错误操作,可能导致重要的业务数据丢失。为了应对这种情况,Oracle提供了多种数据恢复的方法,包括闪回恢复...
在日常操作中,有时可能会发生误操作,如误删除数据或锁定问题,本篇文章将详细讲解如何在Oracle中恢复误删除数据以及解锁相关操作。 1. **恢复误删除数据** 当你不小心删除了数据库表中的数据时,Oracle提供了一...
### Oracle数据库误删除数据的不同恢复方法 #### 一、引言 在日常的数据库管理工作中,数据误删除是一个常见的问题。对于Oracle数据库来说,它提供了一系列强大的数据恢复工具和技术,帮助管理员快速有效地恢复误...
在Oracle数据库管理中,...以上内容仅是对Oracle物理删除数据文件恢复的概述,实际操作中可能需要根据具体环境和数据状况调整策略。在处理此类问题时,建议寻求专业的DBA支持或参考Oracle官方文档以获取更详细的指导。
- 首先,确定删除数据时的最新备份,然后使用RMAN恢复到这个备份点,接着应用归档日志直到误删操作之前的时间点。 请注意,恢复数据的效率和可行性取决于你的数据库配置,包括是否启用了闪回选项、是否有足够的...
本篇文章将深入探讨Oracle数据库中物理删除数据文件的恢复方法,帮助你掌握这一关键的故障恢复技能。 首先,我们要理解数据文件物理删除的后果。一旦数据文件被物理删除,不仅文件本身消失,Oracle数据库可能无法...
### ORACLE误删除数据的恢复方法 #### 一、引言 在数据库管理与维护过程中,数据误删除是一个常见的问题。对于Oracle数据库来说,误删除数据后如何进行有效的恢复至关重要。本文将详细介绍如何利用Oracle特有的SCN...
对于“oracle恢复表数据”的主题,本文将深入探讨几种常见的恢复方法,并结合给定的描述与部分代码示例进行详细解释。 ### Oracle恢复表数据概览 在Oracle数据库环境中,数据丢失可能由多种原因引起,如误操作、...
在Oracle数据库中,`TRUNCATE TABLE`命令用于删除表中的所有数据,但它与`DELETE`语句有所不同。`TRUNCATE`操作是DDL(Data Definition Language)的一部分,而`DELETE`是DML(Data Manipulation Language)。由于`...
本文将详细介绍如何正确地删除Oracle表空间数据文件,探讨OFFLINE和OFFLINE DROP的区别,以及在操作系统层面删除数据文件后的恢复策略。 首先,我们来看如何使用`DROP DATAFILE`命令删除数据文件。这个命令允许管理...
### Oracle通过快照进行数据恢复 #### 一、引言 在日常的数据库管理工作中,数据丢失或误删除是常见的问题之一。对于Oracle数据库来说,它提供了多种手段来进行数据恢复,其中一种有效的方式就是利用快照...
找回时操作的数据库为oracle 10g , 之前删除方式为delete
在Oracle数据库中,`TRUNCATE TABLE`是一个用于删除表中所有数据的命令,它与`DELETE`语句不同,不记录任何删除操作,并且在大多数情况下执行速度更快。然而,一旦执行`TRUNCATE TABLE`,数据通常无法通过常规的...
### Oracle通过DBF恢复数据 #### 一、背景介绍 在日常工作中,Oracle数据库作为企业级数据管理系统之一,经常面临着各种意外情况,如误删除、误操作或系统故障导致的数据丢失。在这种情况下,如何有效地恢复数据...
5. **UNDOTABLE空间**:Oracle的UNDO表空间记录了所有事务的撤销信息,如果数据刚刚被删除,且UNDO表空间有足够的保留时间,可以从中恢复。 6. **第三方工具**:市面上有一些专门的数据恢复工具,如Oracle Recovery...
### Oracle删除数据后的恢复方法 在Oracle数据库管理中,误删除数据是一个常见的问题。一旦数据被意外删除且已提交(即使用了`DELETE`语句并执行了`COMMIT`),恢复这些数据变得较为复杂。然而,Oracle提供了一些...
可根据文档提示做相关操作,可以帮助您恢复点不小心误删除的数据
删除数据后,我们关闭并重新启动数据库实例。接下来,我们利用BBED进行恢复操作。BBED需要一个参数文件(parfile),在这个例子中是`/tmp/parfile.cnf`,并提供数据库的用户名和口令。BBED显示了相关信息,包括文件...