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

 更新时间:2015年08月16日 21:34:38   投稿:mdxy-dxy  
本人主要是对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表的恢复。

相关文章

  • Oracle表空间设置和管理浅析

    Oracle表空间设置和管理浅析

    这篇文章主要给大家介绍了关于Oracle表空间设置和管理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 解决Oracle RMAN删除归档日志不释放问题的方法

    解决Oracle RMAN删除归档日志不释放问题的方法

    RMAN清除方式会自动清除磁盘上的归档日志文件,同时会释放控制文件中对应的归档日志的归档信息,但最近在使用中就遇到了一个问题,下面这篇文章主要给大家介绍了关于解决Oracle RMAN删除归档日志不释放问题的方法,需要的朋友可以参考下。
    2017-07-07
  • Oracle例外用法实例详解

    Oracle例外用法实例详解

    这篇文章主要介绍了Oracle例外用法,结合实例形式较为详细的分析了Oracle例外的概念,功能及相关使用技巧,需要的朋友可以参考下
    2016-03-03
  • 浅析常用数据库的自增字段创建方法汇总

    浅析常用数据库的自增字段创建方法汇总

    本篇文章是对常用数据库的自增字段创建方法进行了全面的汇总介绍,需要的朋友参考下
    2013-07-07
  • ORACLE中dbms_output.put_line输出问题的解决过程

    ORACLE中dbms_output.put_line输出问题的解决过程

    最近用dbms_output.put_line来输出变量的一些信息,却总是看不到结果,所以这篇文章主要给大家介绍了关于ORACLE中dbms_output.put_line输出问题的解决过程,需要的朋友可以参考下
    2022-06-06
  • Oracle中decode函数应用示例详解

    Oracle中decode函数应用示例详解

    Oracle DECODE函数功能很强,这篇文章主要给大家介绍了关于Oracle中decode函数应用示例的相关资料,文中通过代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-05-05
  • Oracle系列学习之Oracle正则表达式详解

    Oracle系列学习之Oracle正则表达式详解

    正则表达式应用广泛,在数据库中也有很大的应用空间,这篇文章主要给大家介绍了关于Oracle系列学习之Oracle正则表达式的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • oracle数据库冷备份的方法

    oracle数据库冷备份的方法

    oracle数据库脱机备份的实现方法与在使用oracle数据库脱机备份时的一些注意事项
    2013-11-11
  • ORA-06512数字或值错误字符串缓冲区太小异常详解

    ORA-06512数字或值错误字符串缓冲区太小异常详解

    最近工作中遇到了Oracle: ORA-06512:字符串缓冲区太小,报错的意思很简单,字符串缓冲区小了,这篇文章主要给大家介绍了关于ORA-06512数字或值错误字符串缓冲区太小异常的相关资料,需要的朋友可以参考下
    2023-01-01
  • oracle数据库导入导出命令使用方法

    oracle数据库导入导出命令使用方法

    这篇文章主要介绍了oracle数据库导入导出命令格式,对单表导出、多张表导出的方法
    2013-11-11

最新评论