在oracle中,把数据删除并commit,如何恢复数据。更悲剧的是数据没有备份

解决方案 »

  1.   

    -- 操作示例如下:11:19:23 SYSTEM@tdwora > conn scott/bee56915
    已连接。
    11:19:29 SCOTT@tdwora > select * from emp;     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
          7369 SMITH      CLERK           7902 17-12月-80            800                    20
          7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300         30
          7521 WARD       SALESMAN        7698 22-2月 -81           1250        500         30
          7566 JONES      MANAGER         7839 02-4月 -81           2975                    20
          7654 MARTIN     SALESMAN        7698 28-9月 -81           1250       1400         30
          7698 BLAKE      MANAGER         7839 01-5月 -81           2850                    30
          7782 CLARK      MANAGER         7839 09-6月 -81           2450                    10
          7788 SCOTT      ANALYST         7566 19-4月 -87           3000                    20
          7839 KING       PRESIDENT            17-11月-81           5000                    10
          7844 TURNER     SALESMAN        7698 08-9月 -81           1500          0         30
          7876 ADAMS      CLERK           7788 23-5月 -87           1100                    20
          7902 FORD       ANALYST         7566 03-12月-81           3000                    20已选择12行。已用时间:  00: 00: 00.06
    11:19:38 SCOTT@tdwora > delete from emp where empno>7800;已删除4行。已用时间:  00: 00: 00.01
    11:19:46 SCOTT@tdwora > commit;提交完成。已用时间:  00: 00: 00.00
    11:19:48 SCOTT@tdwora > insert into emp
    11:21:38   2  select * from emp as of timestamp TO_TIMESTAMP('2012-06-06 11:19:29','YYYY-MM-DD HH24:MI:SS')
    11:21:38   3  WHERE empno not in (select empno from emp);已创建4行。已用时间:  00: 00: 00.03
    11:21:42 SCOTT@tdwora > commit;提交完成。已用时间:  00: 00: 00.00
    11:21:46 SCOTT@tdwora > select * from emp;     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
          7839 KING       PRESIDENT            17-11月-81           5000                    10
          7844 TURNER     SALESMAN        7698 08-9月 -81           1500          0         30
          7876 ADAMS      CLERK           7788 23-5月 -87           1100                    20
          7902 FORD       ANALYST         7566 03-12月-81           3000                    20
          7369 SMITH      CLERK           7902 17-12月-80            800                    20
          7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300         30
          7521 WARD       SALESMAN        7698 22-2月 -81           1250        500         30
          7566 JONES      MANAGER         7839 02-4月 -81           2975                    20
          7654 MARTIN     SALESMAN        7698 28-9月 -81           1250       1400         30
          7698 BLAKE      MANAGER         7839 01-5月 -81           2850                    30
          7782 CLARK      MANAGER         7839 09-6月 -81           2450                    10
          7788 SCOTT      ANALYST         7566 19-4月 -87           3000                    20已选择12行。已用时间:  00: 00: 00.04
    11:21:51 SCOTT@tdwora >
      

  2.   

    select * from tab as to timestamp to_date('','');不过需要你的undo表空间里面的内容还没有被覆盖。