1.最好一定要执行删除之前先备份数据,这是最安全的办法。

2.如果真的不小心误删了数据,还有最后一个办法,不过不一定能成功,下面是从网上找的方法,我是执行delete误删的,发现可以,其他方式没试过,看着也比较麻烦,所以最好不要到这种地步。

今天在操作数据库的时候,发现数据操作错误,想要恢复,但是没有用事务,按理说,设置成不默认提交事务,此时所做的各种操作都没有反应到数据库中。这时,你可以rollback事务,撤销所有未提交的修改。不过,一旦commit了的话,就真没办法撤销了。好在oracle还有时间戳方法。

第一种方法:

1.打开Flash存储的权限

ALTER TABLE tablename ENABLE row movement ;

2.把表还原到指定时间点

flashback table tablename to timestamp to_timestamp(''2011-02-28 10:40:00'',''yyyy-mm-dd hh24:mi:ss'');

后面的参数为要还原的时间点

第二种:利用ORacle的快照进行查找某个时间点的数据

select * from tablename AS OF TIMESTAMP  (SYSTIMESTAMP - INTERVAL '100' MINUTE)

or

select * from tablename as of timestamp to_timestamp(2011-05-21 11:40:00','YYYY-MM-DD HH24:MI:SS');

这样可以查询到指定的时间段的数据,再把查询到的数据复制到原来的表中。

例:

如果我们在前5分钟误删除了表emp中的数据,我们可以进行如下操作:

找回原始数据

Select * from emp as of timestamp sysdate  -  6/1440

删除原来的表   删掉后创建一个备份表

Create table emp as (select * from emp as of timestamp sysdate - 6/1440);

可以做差,找到删除的记录=6分钟前的原始数据—现在表中的记录 再插入原来的表中提交

Insert into emp

Select * From

(

select * From emp as of timestamp sysdate - 6/1440 Minus Select * from emp)

--timestamp(ags) 方法

--interval(时间间隔)类型用来存储两个时间戳之间的时间间隔

--当要回复被删除的数据的时候

--查询500分钟之前的数据

select * from emp as of timestamp(systimestamp - interval '500' minute)

--查询600秒之前的数据

select * from emp as of timestamp(systimestamp - interval '600' second)

--查询5小时之前的数据

select * from emp as of timestamp(systimestamp - interval '5' hour)

--查询一天之前的数据

select * from emp as of timestamp(systimestamp - interval '1' day)

--查询1分钟前的数据 (1天=1440分钟) date-number=date

select * from emp as of timestamp sysdate - 1/1440

--查询5小时前的数据

select * from emp as of timestamp sysdate - 5/24

--查询 5小时内数据=内前删除的5小时前表中的数据-现在表中的数据

--minus减去

select * from

(select * from emp as of timestamp sysdate -5000/1440 minus select * from emp)

从9i开始,oracle提供了闪回(flashback)功能。使用flashback table语句从撤销段中(undo segmeng)读取改表的过去映像,同时利用oracle9i中引入的回闪查询功能重建表行。Undo_retention给出了回闪支持的最小时间。也就是说flashback最少可以支持undo_retention给出的时间,如果系统比较闲,则可以回闪更长的时间。如果系统处于忙时,有可能重用还没有达到undo_retention时间吸纳是的数据空间。注意:使用闪回的一个前提是表不能进行ddl操作,不但不能对ddl操作进行回闪,而且,无法闪回到ddl操作以前的数据了。

注意:不启动行移动功能,不能闪回表

Alter table emp enable row movement;

这个命令的作用就是允许ORACLE修改分配给行的rowid。在ORACLE中,插入一行时就会为它分配一个rowid,而且这一行永远拥有这个rowid。闪回表处理时会对EMP表完成DELETE 操作,并且重新插入行,这样就会为这些行分配一个新的rowid。要支持闪回功能就必须允许ORACLE执行这个操作。

这种方式,最好误删之后的这段时间被误删的表没有再被操作过,不然就找不回来了,因为磁盘已经被覆盖了。

oracle恢复删除数据1440,Oracle数据误删了怎么恢复相关推荐

  1. oracle数据误删除怎么恢复,oracle误删除的数据怎么恢复 oracle恢复删除的数据方法...

    oracle误删除的数据怎么恢复?下面为大家带来oracle恢复删除的数据方法: PART1 分为两种方法:scn和时间戳两种方法恢复. 一.通过scn恢复删除且已提交的数据 1.获得当前数据库的sc ...

  2. oracle误删数据和误删表的恢复方法

    之前在操作数据的时候,我在思考如何编写SQL,但是不小心按下了F8执行了drop语句,不小心删除了表,不过之后被我恢复了,但是之后我又不小心删错了表数据,虽然很快恢复了,但是我也找了几篇博客对比,虽然 ...

  3. 玩转oracle 11g(26):误删表数据和误删表回滚

    14.误删除表中数据并提交(delete+commit) select * from  med_dept_dict as of timestamp sysdate - 1/1440 描述:其中med_ ...

  4. oracle数据库数据表误删后,恢复数据处理方式

    有两种方案解决此问题,具体操作: 一:根据时间来恢复: 1.查询数据库当前时间(目的是为了检查数据库时间是否与你电脑时间相近,避免时间不同而将数据恢复到错误时间点) select to_char(sy ...

  5. 复用Oracle数据文件,Oracle控制文件的备份、恢复以及多路复用

    前言 今天给大家带来有关Oracle控制文件的技术分享.不积跬步无以至千里,不积小流无以成江海.Oracle技术博大精深,以我一个人的力量,那无异于蜉蝣于天地,沧海之一粟.在此,笔者抛砖引玉,希望读者 ...

  6. 从Hive导出数据到Oracle数据库--Sqoop

    首先解释一下各行代码: sqoop export # 指定要导入到Oracle的那张表(通常与hive中的表同名) --table TABLE_NAME # host_ip:导入oracle库所在的i ...

  7. sql server 2008数据导入Oracle方法

    试了几种sql server数据导入Oracle的方法,发现还是sql server 的导入导出工具最好使.使用方法很简单,照着向导做就可以.不过使用中需要注意以下几点: 系统盘需要足够大.因为SSI ...

  8. oracle两张表 比较好,比较Oracle两张表的数据是否一样

    比较Oracle两张表的数据是否一样 爱搞机 2008-10-21 11:00 在某些情况下,我们会需要比较两张表的数据是否一样. 假设有两张表A与表B他的字段相同,但是当中的数据可能不同,而且有些字 ...

  9. oracle 查询本周数据生成下周数据

    CreateTime--2018年1月4日16:38:01 Author:Marydon oracle 查询本周数据生成下周数据 第一步:查询指定区间数据 第二步:改变查询结果的值 查询日期字段+7 ...

最新文章

  1. 数据库之子查询四(多重,表复制)
  2. wxWidgets:wxWidgets 验证器示例
  3. matlab的SVM简单的例子
  4. office professional 2010 key
  5. webdynpro 组件重用 传值问题
  6. SpringBoot: 注解@Autowired
  7. c语言链表实践报告,双向链表的实践(C语言)
  8. 计算机视觉CV中RANSAC算法的学习笔记~
  9. 计算机桌面屏保字幕设置,win7系统屏保设置成字幕保护的操作方法
  10. PageHelper获取数据总条数
  11. win7 共享wifi 手机如何上网
  12. 错误:Redis----(error) MISCONF Redis is configured to save RDB snapshots
  13. 3D环绕音乐单页网站源码
  14. 服务器安全值得深思的几点问题?
  15. LJX的校园:社会实践的任务
  16. 多重积分matlab
  17. 微派微营销智能服务平台:微信营销最佳搭档
  18. NOIP模拟赛csy2021/10/30
  19. 编写shell脚本判断当前主机的CPU生产商
  20. ubuntu桌面美化mac_Ubuntu桌面美化(一)桌面美化成MacOS

热门文章

  1. 我的北漂生活| 你好 2021
  2. [唯一索引允许为空]的说法是不严谨的
  3. 宁夏中考计算机考试题库,宁夏信息技术2010中考练习题
  4. C++视频教程全套下载
  5. AI有智商吗?DeepMind为此专门开发了一套IQ测试题...
  6. C# .Net EasyHttp (Http Library for C#) 应用实例
  7. Badboy录制脚本后回放出现乱码
  8. 回溯法----旅行售货员问题
  9. 组装机主板boot menu
  10. 重庆那所大学计算机专业最好,重庆哪所大学的计算机专业比较好