孤独的微积分
论坛版主
论坛版主
  • 发帖数44
  • QQ296066606
  • 金币686两
  • 威望91点
  • 钻石0枚
  • 注册日期2016-11-10
  • 最后登录2019-12-26
阅读:21293回复:10

oracle 还原已经被drop table的表and 数据

楼主#
更多 发布于:2016-11-15 16:50
图片挂了~
例如tc_obk_file已经被drop table tc_obk_file


前提:数据库回收站已经开启,一般回收站都是开启的,而且只有system有权限执行这个关闭的操作
SELECT Value FROM V$parameter WHERE Name = 'recyclebin';



如果返回状态为on,继续往下走,
如果返回状态为off,不用看了,准备跑路


这个操作建议在pl/sql的command window的环境下操作

alter system set recyclebin = on
(这个指令的意思是开启回收站, = off就是关闭回收站,一般只有system有权限执行这个关闭的操作,写在这里是用来看的,不是一定要操作这一句)


1 找数据库回收站
select object_name,original_name,partition_name,type,ts_name,createtime,droptime
from recyclebin
where original_name = 'TC_OBK_FILE';

获取数据索引"BIN$PPz5M3WwxpPgUwgAqMAvUQ==$0"(为什么有两行呢?因为我第一次删除了之后,又重新创建了,要还原原来的数据,所以要再删除,因此会有两行删除记录)


2,根据回收站获取的指引执行数据回滚指令
flashback table "BIN$PPz5M3WwxpPgUwgAqMAvUQ==$0" to before drop;

提示done表示指令成功执行
这个操作建议在pl/sql的command window的环境下操作


3,执行查询语句,检查资料是否已经找回
select * from tc_obk_file
谢天谢地,一切顺利~~





此方法只要回收站不清空,多久的数据都可以找回
黄金有价,数据无价,危险操作需谨慎,好了不说了,面壁思过~~
喜欢1 评分0

最新喜欢:

wjw1967wjw196...
孤独的微积分
论坛版主
论坛版主
  • 发帖数44
  • QQ296066606
  • 金币686两
  • 威望91点
  • 钻石0枚
  • 注册日期2016-11-10
  • 最后登录2019-12-26
沙发#
发布于:2016-11-16 14:53
kuangkuang:学习了. niubility回到原帖
匡神,这是你教我的嗄
回复(0) 喜欢(0)     评分
游客

返回顶部