关闭

Oracle drop 或者误删表数据恢复的两种实用方法

标签: oracle
97人阅读 评论(0) 收藏 举报
分类:

–误drop 恢复

select count(1) FROM  ACCODE_0328;
 COUNT(1)
----------
         5 
DROP TABLE ACCODE_0328;
    table ACCODE_0328 dropped.
FLASHBACK TABLE ACCODE_0328 TO BEFORE DROP;
    table ACCODE_0328 succeeded.
select count(1) FROM  ACCODE_0328;
  COUNT(1)
----------
         5 
--误删且已经commited恢复
delete accode_0328;
5 rows deleted.
commit;
committed.
create table accode_03281 as select * from accode_0328 as of timestamp to_timestamp('2016-05-31 11:00:30','yyyy-mm-dd hh24:mi:ss');--删除commit前的时间
table ACCODE_03281 created.
select count(1) from accode_03281;
  COUNT(1)
----------
         5 
insert into accode_0328 select *from accode_03281;
5 rows inserted.
drop table accode_03281;
table ACCODE_03281 dropped.

删除的恢复注意
–恢复时间不能太久之前,看数据库配置,一般半个小时内都可以恢复
–讲要恢复表的数据删之前的数据insert到一个临时表,再根据需要从临时表恢复

—其他方法

alter table msclmclaimant enable row movement;
flashback table msclmclaimant to timestamp to_timestamp('2016-03-10 10:30:30','yyyy-mm-dd hh24:mi:ss');
-------
Select * from recyclebin;
Select object_name,original_name,B.* from recyclebin  B where original_name like '%MSCLMPAY%';
Flashback table B1_MSCLMPAY to before drop;
Flashback table “BIN$6LsvzDLiTfGD06IcYloxIA==$0” to before drop;
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:727次
    • 积分:67
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类