SYS@orcl SQL>SET TIME ON
16:00:30 SYS@orcl SQL>CONN SCOTT/TIGER
已连接。
16:00:52 SCOTT@orcl SQL>select table_name from user_tables;
TABLE_NAME
------------------------------
DEPT
BONUS
SALGRADE
MEDEPT
EMP
TEST_TAB
TEST03
已选择7行。
16:01:12 SCOTT@orcl 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 SCOTT@orcl SQL>delete from test03;
已删除14行。
16:01:33 SCOTT@orcl SQL>commit;
提交完成。
16:01:36 SCOTT@orcl SQL>select * from test03;
未选定行
16:01:41 SCOTT@orcl 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 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:02:48 SCOTT@orcl 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 SCOTT@orcl SQL>alter table test03 enable row movement;
表已更改。
16:03:54 SCOTT@orcl 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 SCOTT@orcl SQL>conn sys/sfis as sysdba
已连接。
16:06:15 SYS@orcl SQL>alter tablespace temp add tempfile
16:06:31 2 'd:\oradata\orcl\temp01.dbf' size 50m;
表空间已更改。
16:06:50 SYS@orcl SQL>select file_name from dba_temp_files;
FILE_NAME
----------------------------------------------------------------------------------------------------------------------------------------------------------
D:\ORADATA\ORCL\TEMP01.DBF
16:07:10 SYS@orcl SQL>conn scott/tiger
已连接。
16:07:14 SCOTT@orcl SQL>flashback table test03 to timestamp to_timestamp('2011-12-30 16:01:22','yyyy-mm-dd hh24:mi:ss');
闪回完成。
16:08:01 SCOTT@orcl 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:08:13 SCOTT@orcl 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 SCOTT@orcl SQL>conn sys/sfis as sysdba
已连接。
16:14:10 SYS@orcl SQL>select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
3033857
16:14:14 SYS@orcl SQL>delete from scott.test03;
已删除14行。
16:14:24 SYS@orcl SQL>select * from scott.test03;
未选定行
16:14:30 SYS@orcl SQL>commit;
提交完成。
16:14:33 SYS@orcl SQL>select * from scott.test03;
未选定行
16:14:36 SYS@orcl SQL>flashback table scott.test03 to scn 3033857;
闪回完成。
16:14:56 SYS@orcl 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 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行。
17:00:01 SYS@orcl 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 3036540
17:02:50 SYS@orcl 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 SYS@orcl SQL>spool off;
转载于:https://www.cnblogs.com/lovemail/archive/2011/12/31/2308389.html