博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle中表被删除或数据被错误修改后的恢复方法
阅读量:6989 次
发布时间:2019-06-27

本文共 878 字,大约阅读时间需要 2 分钟。

hot3.png

表被修改或删除后可以按照以下步骤恢复:

1、删除目标表(表被错位修改的情况,如果被删除就没有这步了);

2、删除表后,可以采用如下操作:

在user_recyclebin中找到最近操作过的表名称,然后用闪回(只能用于10G及以上版本)。
FLASHBACK TABLE TABLE_NAME TO BEFORE DROP;

3、如果是删了或修改里面的数据,可以先建立一个快表将删除修改之前状态的数据找回到这个表中:

CREATE TABLE QUICK_TABLE AS
SELECT * FROM TABLE_NAME AS OF TIMESTAMP SYSDATE-1/24 (一小时前的),减去的时间可以自己定 如:select * from TABLE_NAME  AS OF TIMESTAMP  (SYSTIMESTAMP - INTERVAL '1' MINUTE)

4.恢复后的TABLE_NAME是回收站的表不可以用,最后可以直接把QUICK_TABLE改成需要的TABLE_NAME

注意:这个恢复的QUICK_TABLE表好像不能恢复主键和外键,所有在删除表之前最好把源表的主键、外键和索引的语句拷贝下来

 

样例(比如表AAA内数据被错位修改):

select * from user_recyclebin;
可以查询到所有被删除的记录,从记录中可以找到AAA,找到表名后,作如下操作
FLASHBACK TABLE AAA TO BEFORE DROP;
恢复到5个小时前
CREATE TABLE QUICK_TABLE AS SELECT * FROM AAA AS OF TIMESTAMP SYSDATE-5/24
恢复到10分钟之前
CREATE TABLE QUICK_TABLE AS SELECT * FROM AAA AS OF TIMESTAMP  (SYSTIMESTAMP - INTERVAL '10' MINUTE)

转载于:https://my.oschina.net/u/267665/blog/227541

你可能感兴趣的文章
让Birt报表脚本数据源变得既简单又强大
查看>>
博客开张
查看>>
jquery.Callbacks的实现
查看>>
同一环境下新建Standby RAC库
查看>>
JAVA 序列化(转)
查看>>
随手笔记NO.4
查看>>
未来监护人:FCC专员正在努力推迟网络中立投票
查看>>
LVS负载均衡群集(LVS-NAT)
查看>>
当区块链走进象牙塔:耶鲁系与浙大系首度碰撞
查看>>
ssh配置免密码登录,一句搞定。
查看>>
nodejs渐入佳境[16]-node express项目部署到heroku
查看>>
nodejs渐入佳境[21]-express+mondoDB应用部署到heroku
查看>>
营销圈带你看比伯结婚在中国引起热论背后的故事
查看>>
别急!新鲜的云硬盘让它再凉一会
查看>>
【Zabbix】如何搭建memcached?并使用Zabbix监控memcached?
查看>>
完爆 Best Fit,看阿里如何优化 Sigma 在线调度策略节约亿级成本
查看>>
spring事务
查看>>
NoSQL最新现状和趋势:云NoSQL数据库将成重要增长引擎
查看>>
python系统监控--转载
查看>>
2019年我国云计算行业存在的问题和发展趋势
查看>>