在平时操作数据库时,难免会误删数据,或者表格,这时候不用慌张,按照如下步骤进行恢复:

删除的操作有三种:DELETE和TRUNCATE 只删除数据, DROP则删除整个表(结构和数据)

1.delete误删除的解决方法
原理:

利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的块没被覆写),就可以利用闪回方式直接找回删除的数据
具体步骤为:

确定删除数据的时间(在删除数据之前的时间就行,不过最好是删除数据的时间点)

用以下语句找出删除的数据:

select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')

把删除的数据重新插入原表:

 insert into 表名 (select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss'));注意要保证主键不重复。

如果表结构没有发生改变,还可以直接使用闪回整个表的方式来恢复数据。

2.drop误删除的解决方法

原理:由于oracle在删除表时,没有直接清空表所占的块,oracle把这些已删除的表的信息放到了一个虚拟容器“回收站”中,而只是对该表的数据块做了可以被覆写的标志,所以在块未被重新使用前还可以恢复。

具体步骤:

查询这个“回收站”或者查询user_table视图来查找已被删除的表:

  select table_name,dropped from user_tables*select object_name,original_name,type,droptime from user_recyclebin

在以上信息中,表名都是被重命名过的,字段table_name或者object_name就是删除后在回收站中的存放表名

如果还能记住表名,则可以用下面语句直接恢复:

  flashback table 原表名 to before drop

如果记不住了,也可以直接使用回收站的表名进行恢复,然后再重命名,参照以下语句:

flashback table "回收站中的表名(如:Bin$DSbdfd4rdfdfdfegdfsf==$0)" to before drop rename to 新表名

oracle的闪回功能除了以上基本功能外,还可以闪回整个数据库:

使用数据库闪回功能,可以使数据库回到过去某一状态, 语法如下:

SQL>alter database flashback on
SQL>flashback database to scn SCNNO;
SQL>flashback database to timestamp to_timestamp('2007-2-12 12:00:00','yyyy-mm-dd hh24:mi:ss');

oracle误删数据恢复的方法-delete相关推荐

  1. oracle如何把误删的数据恢复,oracle误删数据恢复方法小结

    如果用户误删/更新了数据后,作为用户并没有什么直接的方法来进行恢复,他们必须求助DBA来对数据库进行恢复,到了Oracle9i,这一个难堪局面有所改善.Or(www.jb51.cc)acle 9i中提 ...

  2. oracle误删记录,oracle误删数据恢复方法小结

    如果用户误删/更新了数据后,作为用户并没有什么直接的方法来进行恢复,他们必须求助DBA来对数据库进行恢复,到了Oracle9i,这一个难堪局面有所改善.Or(www.)acle 9i中提供了一项新的技 ...

  3. oracle数据删了怎么恢复吗,oracle误删数据恢复方法总结

    如果用户误删/更新了数据后,作为用户并没有什么直接的方法来进行恢复,他们必须求助DBA来对数据库进行恢复,到了Oracle9i,这一个难堪局面有所改善.Oracle 9i中提供了一项新的技术手段--闪 ...

  4. oracle误删数据恢复方法

    误删数据恢复 删除表数据有三种方式:delete.drop和truncate delete误删除的解决方法 原理: 利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据 ...

  5. oracle 误删数据恢复

    select * from 表名 as of timestamp to_timestamp('2023-01-30 14:30:29','YYYY-MM-DD HH24:MI:SS') where + ...

  6. Oracle 误删数据恢复

    一. 根据时间恢复: 1.查询数据库当前时间(目的是为了检查数据库时间是否与你电脑时间相近,避免时间不同而将数据恢复到错误时间点) select to_char(sysdate,'yyyy-mm-dd ...

  7. oracle用户删除了可以恢复吗,oracle_oracle误删数据恢复方法小结,如果用户误删/更新了数据后, - phpStudy...

    oracle误删数据恢复方法小结 如果用户误删/更新了数据后,作为用户并没有什么直接的方法来进行恢复,他们必须求助DBA来对数据库进行恢复,到了Oracle9i,这一个难堪局面有所改善.Or(www. ...

  8. oracle误删了表怎么恢复数据,oracle误删除表或者表数据的恢复方法总结

    --一.误删除表的恢复方法 --查询这个"回收站"或者查询user_table视图来查找已被删除的表: select table_name,dropped from user_ta ...

  9. 彻底删除的文件如何恢复?误删数据恢复,四种方法就可以解决

    电脑磁盘中存储了许多文件,我们不可避免地会误删一些文件,但是我们中的许多人不知道在文件被错误删除后如何恢复它们.事实上,误删数据恢复没有想象中那么难,我们自己也可以操作完成.到底是什么方法?接下来我们 ...

最新文章

  1. 大数据中用到的新的数据类型bigint、decimal、smallint、tinyint
  2. AI一分钟 | 小米MIX 2S将于3月27号发布,搭载骁龙845;张朝阳:在研究区块链 但相信AI的力量
  3. 扔掉okhttp、httpClient,来试试这款轻量级HTTP客户端神器?
  4. 深度优先搜索算法(有向图和无向图)
  5. cocos2d-lua 3.5 android搭建常见错误
  6. SpringBoot运行时提示:Error starting ApplicationContexxt,To display the uto-configration report re-run you
  7. ajax的核心有哪些,ajax的核心
  8. 在DropboxEdge网络上评估BBRv2
  9. python中向类中动态添加新特性及删除属性方法
  10. flowable 表名sql mysql和oracle
  11. ubuntu使用CMake时报错compilation terminated找不到头文件解决方法
  12. C程序设计语言(KR)笔记
  13. html返回顶部开始隐藏,回到顶部并且监听顶部按钮显示或隐藏
  14. 对联广告代码效果大全
  15. html修改按钮属性,button属性
  16. 获取UDID的几种方式
  17. Android 判断当前身份证格式是否正确
  18. IDRAC 固件升级操:
  19. TX1刷机教程(安装caffe、cuda/cudnn)
  20. 【高级UI】【026】手动为RecyclerView添加橡皮筋拉伸回弹效果

热门文章

  1. php移动文件到指定目录
  2. 聚焦2023北京安博会,超高清安防应用将成潮流
  3. Adobe重磅发布的AI作图工具Firefly,被MidJourney吊打了。
  4. dubbo源码学习(二) : spring 自定义标签
  5. Layui数据表格解析任意数据格式问题
  6. QQ如何设置会话窗默认使用腾讯视频播放视频文件
  7. 云服务器被攻击了怎么办,接入高防服务器好还是高防IP好,攻击如何才能防的住,防御DDOS攻击哪个效果好
  8. 傅理叶变换的频域图xy轴的意义
  9. 字符串的split方法
  10. keras 实现 反卷积 转置卷积 deconv convtranspose