分类目录

登录

统计信息

  • 日志总数:235篇
  • 评论总数:284条
  • 分类总数:3个
  • 标签总数:529个
  • 友情链接:11个
  • 网站运行:3087天

西安市公共自行车 微信小程序 入口扫描,扫我进入~

个人信息

·网名:青年白
·生日:1991年9月17日
·博客: http://www.baikeyang.com
·邮箱:baikeyang@vip.qq.com
·籍贯: 陝西省汉中市
·工作: 杭州鸿泉数字设备有限公司
·职位:Java软件开发工程师
·地址:西安市高新区丈八一路绿地SOHO
·   同盟A座606室
·时间:2015.07─至今
·工作: 西安易一电子科技有限公司
·职位:Java中级软件开发工程师
·地址:西安市高新区科技二路软件园
·   西岳阁403室
·时间:2014.05─2015.06
·工作:陕西齐力集团
·职位:初级软件开发工程师
·地址:西安市建工路19号新城科技产业园
·   华企大厦7层
·时间:2013.05─2014.04
现在位置:    首页 > 技术乱弹 > 正文
Oracle数据误删找回的方法
技术乱弹 暂无评论

今天帮客户直接在数据库删除数据。手一抖一不小心将其他数据给删除掉了。(别提当时心里那个急啊~ )

怎么办?被客户怼两句?No No No

听同事说,Oracle可以将删除的数据找回。然后根据同事的提示,就自行上网百度搜索了一通。方法很简单,就是利用Oracle的快照来快速找回刚刚被自己删除的数据:

我在这里找的是一个小时前的,所以就是 当前时间(sysdate)- 一个小时(1/24);如果要退回一天前,那就直接 sysdate-1 ,这样就是一天前的数据。

在我创建的临时表QUICK_TABLE_BKY_201805281037中,我找到了我刚刚不小心删除的数据啦。既然刚刚被我删除的数据找到了,那接下来该怎么做应该就不用我说了吧。

那这个时候有的人可能要问, 不小心删除表这个时候怎么办?不要急,不要慌。如果不小心删除表,在 user_recyclebin中找到最近操作过的表名称,然后用快照(只能用于10G及以上版本)就能快速找到啦:

这样就可以快速的找到被删除的t_user表啦 。

扩展一下快照的一些用法:

一、.FLASHBACK QUERY:恢复表数据

方法一: 闪回到15分钟前

这里可以使用DAY、SECOND、MONTH替换minute,例如:

 

方法二: 闪回到某个时间点

 

方法三: 闪回到两天前

 

二、FLASHBACK DROP:恢复被错误drop掉的表

方法一: 找回已被删除的表

 

方法二: 如果源表已经重建,可以使用rename to子句

 

三、FLASHBACK TABLE:恢复表到一个早期状态

首先要启用行迁移:

方法一: 闪回表到15分钟前

方法二: 闪回到某个时间点

 

本文版权归青年博客所有,转载引用请完整注明以下信息:
本文作者:BaiKeyang
本文地址:Oracle数据误删找回的方法 | 青年博客

发表评论

留言无头像?