开启闪回:http://blog.csdn.net/rlhua/article/details/11934831
误操作DML语句,刚刚发生,undo没有被覆盖
1、查询原数据
11:52:06 scott@TEST0910> select count(*) from test10;
COUNT(*)
----------
14
11:52:06 这个时间点还有数据,稍后作为参考
2、误操作
11:52:19 scott@TEST0910> delete from test10;
14 rows deleted.
11:52:31 scott@TEST0910> commit;
Commit complete.
11:52:35 scott@TEST0910> select count(*) from test10;
COUNT(*)
----------
0
3、使用闪回查询
11:54:25 scott@TEST0910> select * from test10 as of timestamp to_timestamp('2013-09-23 11:52:06','yyyy-mm-dd hh24:mi:ss');
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7788 SCOTT ANALYST 7566 19-APR-87 3000 20
7839 KING PRESIDENT 17-NOV-81 5000 10
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876 ADAMS CLERK 7788 23-MAY-87 1100 20
7900 JAMES CLERK 7698 03-DEC-81 950 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10
14 rows selected.
4、插入闪回查询的结果
11:54:44 scott@TEST0910> insert into test10 select * from test10 as of timestamp to_timestamp('2013-09-23 11:52:06','yyyy-mm-dd hh24:mi:ss');
14 rows created.
11:55:02 scott@TEST0910> commit;
Commit complete.
11:55:30 scott@TEST0910> select count(*) from test10;
COUNT(*)
----------
14