Oracle恢复已删除数据

Oracle恢复已删除的数据,主要有两种方法: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; //允许更改时间戳

或者insert into t_viradsl2 select * from t_viradsl2 as of timestamp to_Date(’2011-01-19 15:28:00′, ‘yyyy-mm-dd hh24:mi:ss’)             //已将误删除数据插入表中

时间: 2024-12-21 23:09:35

Oracle恢复已删除数据的相关文章

oracle 恢复table删除数据 恢复package(使用闪回)

好久没写东西了,今天写一篇凑个数吧,来公司一年多了,感觉自己到了一个小瓶颈期了. 以前每天很多新东西,都是忙着学,感觉没时间写博客总结一下,大部分都是写笔记,现在又是没东西可以写,每天干着95%都是重复的工作,大部分时间在运维,但我内心是把自己当做dba的,毕竟当初老大把我从java开发拉倒系统组^_^ 上次一个技术把表中的数据删除,这次是另一个技术把正确的包给覆盖了,我给恢复了,哈哈哈---有用的话看一下 参考博客:https://blog.csdn.net/wyzxg/article/det

Oracle闪回查询恢复delete删除数据

Flashback query(闪回查询)原理 Oracle根据undo信息,利用undo数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. Flashback query(闪回查询)前提: SQL> show parameter undo; NAME                                TYPE       VALUE ------------------------------------ ----------- --------

oracle恢复已经删除的数据

insert into tablerestore select * from tablerestore as of timestamp to_Date('2014-8-8 15:00:00','yyyy-mm-dd hh24:mi:ss')     参数解释:tablerestore 要恢复数据的表 后面的时间是恢复截止到某个点的数据 oracle恢复已经删除的数据,布布扣,bubuko.com

如何恢复已删除账号及无账号密码进入win7系统?

电脑几乎成了家庭.公司必备的工具,处处都可见到它的身影.当我们不小心删除win7账户显示没有可用账户可登陆系统时,接下来应该怎么呢? 一,如何解决在系统装有杀毒软件的情况下恢复已删除账号? 由于只是删除原有账号并没有删除账户文件,猜测账户是可以恢复.果然,开始-附件-系统工具-系统还原,发现有一个早上的还原点,这个还原点有我需要的一切数据.于是选择该还原点进行还原. 但是,当系统自动重启之后出现提醒窗口"开启了杀毒软件,系统还原失败".关闭杀毒软件重试,还是同样结果. 检查后发现,杀毒

Exchange2013恢复已删除用户邮箱

上一篇文章我们讲到了如何恢复已禁用的邮箱.但是在微软的Exchange中,禁用邮箱和删除邮箱毕竟是两个截然不同的概念,这篇文章我们就来看看如何恢复已删除的邮箱. 1.依然是新建用户"张三",然后给其发一封邮件,作为后续邮箱数据恢复的参照. 2.此时删除该用户邮箱. 3.此时我们可以看到,无论是AD中还是Exchange收件人中,均已找不到用户"张三"的信息. 4.重新连接用户邮箱 5.筛选对应的后端MBX服务器,选中已断开连接的"张三"的邮箱,点

myeclipse如何恢复已删除的文件和代码

这是一篇分享技巧的文章:myeclipse恢复误删文件和代码 [ 恢复误删文件 ] 今天在写代码的时候,不小心把一个包给删除了,然后这个包下所有的文件都没了,相信很多人都有类似的经历, 幸好myeclipse给我们提供了一个很好用的功能: 选中项目 -> Restore from Local History.. -> 界面如下图 勾选要恢复的文件,点击Restore就可以了,就算你把myeclipse关闭了也没关系,非常的方便. [ 恢复误删代码 ] 对于误删的代码,如果没有关闭myeclip

GIT 恢复已删除的提交

在Git中一切的操作都是可以恢复的,包括已经删除的提交,今天在做一个项目时就遇到了这种问题,也不知道是怎么回事不小心就把上午提交的所有代码都删除了,于是赶紧通过git log来查看日志,但奇怪的是当时不知是怎么操作的通过log并没有找到当时提交的任何记录 在网上有人说reflog可以找到所有的操作记录,然后按照操作通过reflog成功恢复被删除的提交 参考:Git reflog 机制 Git挽救丢失的代码 从Git仓库中恢复已删除的分支.文件或丢失的commit 3.2 Git 分支 - 分支的

Oracle 恢复被删除的数据,解决误操作删除数据

在删除数据的时候不小心,把delete语句执行错了,把别的表给delete,而且还执行了commit!真汗.......数据是相当的重要........废话少说了!赶快找方法吧: 第一种: 1.打开Flash存储的权限ALTER TABLE tableName ENABLE row movement ;2.把表还原到指定时间点flashback table tableName to timestamp to_timestamp(''2011-02-28 10:40:00'',''yyyy-mm-

Linux系统通过extundelete恢复已删除的数据

我们都知道windows系统有个回收站,凡是被删除的文件都可以通过回收站来恢复数据,即便是按住shift键永久删除了,也有很多数据恢复软件可供使用.那么Linux下如果数据被删除了,又该如何恢复呢,Linux系统可没有回收站,只能通过数据恢复软件来解决了.Linux系统有很多开源的数据恢复工具,例如:debugfs.R-Linux.ext3grep.extundelete等,那么我要给大家介绍的是extundelete,这款工具是用来恢复ext格式(ext3.ext4等)的文件系统被误删除的数据