oracle误drop/update操作后的数据恢复测试

1、drop表,如何进行恢复

复制代码 代码如下:

create table etl (id number);

insert into etl values (1);

commit;

drop table etl;

如果drop table etl purge –就不能进行恢复

下面进行表的恢复:

(1)介绍视图进行恢复:dba_recyclebin
sql> select object_name,original_name,can_undrop,can_purge from dba_recyclebin where original_name=’etl’;
object_name original_name can can
—————————— ——————————– — —
bin$v0qznpbkrbieuax/mzb8ww==$0 etl yes yes
sql> create table etl as select * from “bin$v0qznpbkrbieuax/mzb8ww==$0”;
表已创建。
sql> select * from etl;
id
———-
1
恢复完成.
(2) 无法恢复的情况:drop table etl purge ;
sql> create table etl2 (name varchar2(10));
表已创建。
sql> insert into etl2 values (‘test’);
已创建 1 行。
sql> commit;
提交完成。
sql> drop table etl2 purge;
表已删除。
sql> select object_name,original_name,can_undrop,can_purge from dba_recyclebin where original_name=’etl2′;
未选定行
sql>
2、update 表的恢复
sql> select sysdate from dual;
sysdate
——————-
2008-11-21 19:45:20
sql> select * from etl;
id
———-
1
sql> update etl set id=2;
已更新 1 行。
sql> select * from etl;
id
———-
2
sql> commit;
提交完成。
create table test_bak
as
select * from test as of timestamp to_timestamp(‘20081126 103435′,’yyyymmdd hh24miss’);
表已创建。
sql> select * from etl_bak;
id
———-
1
sql>
完成update表的恢复。

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐