Oracle中表被删除或数据被错误修改后的恢复方法
2012-12-12 11:12
260 查看
表被修改或删除后可以按照以下步骤恢复:
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)
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)
相关文章推荐
- Oracle中表被删除或数据被错误修改后的恢复方法
- Oracle中表被删除或数据被错误修改后的恢复方法 .
- Oracle中表被删除或数据被错误修改后的恢复方法
- 错误修改删除数据后的恢复方法(FlashBack)
- oracle drop table(表)数据恢复方法
- Oracle 恢复数据后,数据库中中文变成问号解决方法
- oracle误删除数据的恢复方法
- oracle备份文件恢复到oracle10的数据乱码问题解决方法
- 最简单的Oracle数据恢复 select as of使用方法
- 误删oracle表,恢复表结构及数据方法
- Oracle 11g参数修改错误导致数据库无法启动的处理方法.[ORA-01034,ORA-27101,ORA-00824]
- oracle处理已有数据的字段(主键)类型修改方法
- Oracle误删除数据的恢复方法
- oracle commit后怎样恢复被修改的数据
- oracle误删数据恢复方法小结
- 关于EXP-00056: 遇到 ORACLE 错误 1455 ORA-01455: 转换列溢出整数数据类型 EXP-00000: 导出终止失败 的问题解决方法整理
- oracle数据文件被删除没备份恢复
- Oracle 恢复被删除的数据,解决误操作删除数据
- Oracle之删除数据之后如何恢复的方法总结
- dul 10恢复oracle lob数据方法(转载)