oracle误drop/update操作后的数据恢复测试
发布时间:2020-09-06 06:22:55 所属栏目:Oracle 来源:互联网
导读:本人主要是对drop/update数据后,在允许有时间内进行数据恢复,操作性强,比较实用。不对理论进行讲诉,需要的朋友可以参考下
1、drop表,如何进行恢复 代码如下:
create table etl (id number); 如果drop table etl purge --就不能进行恢复下面进行表的恢复:(1)介绍视图进行恢复:DBA_RECYCLEBINSQL> 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,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表的恢复。 (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |