手机
当前位置:查字典教程网 >编程开发 >Oracle教程 >oracle误drop/update操作后的数据恢复测试
oracle误drop/update操作后的数据恢复测试
摘要:1、drop表,如何进行恢复复制代码代码如下:createtableetl(idnumber);insertintoetlvalues(1)...

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表的恢复。

【oracle误drop/update操作后的数据恢复测试】相关文章:

OracleDataGuard_主库重命名数据文件

Oracle数据库的备份与恢复

Oracle数据安全面面观

oracle 实际值超过数据库某个字段指定长度报错解决

oracle联机数据库备份详解

Oracle 插入超4000字节的CLOB字段的处理方法

Oracle对于死锁的处理方法

Oracle教程 误添加数据文件删除方法

oracle中的trim函数使用介绍

Oracle数据完整性和锁机制简析

精品推荐
分类导航