SQL>SET TIME ON
16:00:30 SQL>CONN SCOTT/TIGER已连接。16:00:52 SQL>select table_name from user_tables;TABLE_NAME
------------------------------ DEPT BONUS SALGRADE MEDEPT EMP TEST_TAB TEST03已选择7行。
16:01:12 SQL>select * from test03;
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 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- -------------- ---------- ---------- ---------- 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10已选择14行。
16:01:23 SQL>delete from test03;
已删除14行。
16:01:33 SQL>commit;
提交完成。
16:01:36 SQL>select * from test03;
未选定行
16:01:41 SQL>select * from test03 as of timestamp to_timestamp('2011-12-30 16:01:22','yyyy-mm-dd hh24:mi:ss');
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 20EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ---------- 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10已选择14行。
16:02:48 SQL>flashback table test03 to timestamp timestamp('2011-12-30 16:01:22','yyyy-mm-dd hh24:mi:ss');
flashback table test03 to timestamp timestamp('2011-12-30 16:01:22','yyyy-mm-dd hh24:mi:ss') *第 1 行出现错误: ORA-08189: 因为未启用行移动功能, 不能闪回表 16:03:39 SQL>alter table test03 enable row movement;表已更改。
16:03:54 SQL>flashback table test03 to timestamp to_timestamp('2011-12-30 16:01:22','yyyy-mm-dd hh24:mi:ss');
flashback table test03 to timestamp to_timestamp('2011-12-30 16:01:22','yyyy-mm-dd hh24:mi:ss') *第 1 行出现错误: ORA-00604: 递归 SQL 级别 1 出现错误ORA-25153: 临时表空间为空 16:04:33 SQL>conn sys/sfis as sysdba已连接。 16:06:15 SQL>alter tablespace temp add tempfile16:06:31 2 'd:\oradata\orcl\temp01.dbf' size 50m;表空间已更改。
16:06:50 SQL>select file_name from dba_temp_files;
FILE_NAME
---------------------------------------------------------------------------------------------------------------------------------------------------------- D:\ORADATA\ORCL\TEMP01.DBF16:07:10 SQL>conn scott/tiger
已连接。16:07:14 SQL>flashback table test03 to timestamp to_timestamp('2011-12-30 16:01:22','yyyy-mm-dd hh24:mi:ss');闪回完成。
16:08:01 SQL>select * from test03;
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 20EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ---------- 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10已选择14行。
16:08:13 SQL>select dbms_flashback.get_system_change_number from dual;
select dbms_flashback.get_system_change_number from dual *第 1 行出现错误: ORA-00904: : 标识符无效16:09:52 SQL>conn sys/sfis as sysdba
已连接。16:14:10 SQL>select dbms_flashback.get_system_change_number from dual;GET_SYSTEM_CHANGE_NUMBER
------------------------ 303385716:14:14 SQL>delete from scott.test03;
已删除14行。
16:14:24 SQL>select * from scott.test03;
未选定行
16:14:30 SQL>commit;
提交完成。
16:14:33 SQL>select * from scott.test03;
未选定行
16:14:36 SQL>flashback table scott.test03 to scn 3033857;
闪回完成。
16:14:56 SQL>select * from scott.test03;
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 20EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ---------- 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10已选择14行。
17:00:01 SQL>select empno,ename ,versions_xid,versions_startscn,versions_endscn,versions_operation from scott.emp versions between scn minvalue and maxvalue where empno = 7934;
EMPNO ENAME VERSIONS_XID VERSIONS_STARTSCN VERSIONS_ENDSCN V
---------- ---------- ---------------- ----------------- --------------- - 7934 MILLER 06001300F2040000 3036540 I 7934 MILLER 06001300F2040000 3036540 D 7934 MILLER 303654017:02:50 SQL>SELECT operation,undo_sql from flashback_transaction_query where xid=hextoraw('06001300F2040000');
OPERATION UNDO_SQL
-------------------------------- ---------------------------------------------------------------------------- INSERT delete from "SCOTT"."EMP" where ROWID = 'AAAMfPAAEAAAAAeAAO'; DELETE insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values ('7934','MILLER','CLERK','7782',TO_DATE('23-1月 -82', 'DD-MON-RR'),'1400',NULL,'10'); UPDATE update "SCOTT"."EMP" set "SAL" = '1300' where ROWID = 'AAAMfPAAEAAAAAeAAN';17:04:35 SQL>spool off;