SCOTT@ORA10G>set time on
15:15:20 SCOTT@ORA10G>create table fb_query1 as select * from dept;
Table created.
15:15:31 SCOTT@ORA10G>create table fb_query2 as select * from dept;
Table created.
15:15:35 SCOTT@ORA10G>
15:16:35 SCOTT@ORA10G>update fb_query1 set loc=null;
4 rows updated.
15:17:21 SCOTT@ORA10G>update fb_query2 set dname=null;
4 rows updated.
15:17:26 SCOTT@ORA10G>commit;
Commit complete.
15:17:32 SCOTT@ORA10G>select * from fb_query1;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING
20 RESEARCH
30 SALES
40 OPERATIONS
15:17:38 SCOTT@ORA10G>select * from fb_query2;
DEPTNO DNAME LOC
---------- -------------- -------------
10 NEW YORK
20 DALLAS
30 CHICAGO
40 BOSTON
15:17:42 SCOTT@ORA10G>
闪回定位到1分钟前;另,处于闪回会话模式时,不允许执行DML、DDL操作
(注:包dbms_flashback的执行权限,要单独赋予)
15:17:43 SCOTT@ORA10G>exec dbms_flashback.enable_at_time(sysdate-1/1440);
PL/SQL procedure successfully completed.
15:18:06 SCOTT@ORA10G>select * from fb_query1;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
15:18:28 SCOTT@ORA10G>select * from fb_query2;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
15:18:32 SCOTT@ORA10G>delete fb_query1;
delete fb_query1
*
ERROR at line 1:
ORA-08182: operation not supported while in Flashback mode
15:18:40 SCOTT@ORA10G>exec dbms_flashback.disable;
PL/SQL procedure successfully completed.
15:18:56 SCOTT@ORA10G>select * from fb_query1;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING
20 RESEARCH
30 SALES
40 OPERATIONS
15:19:03 SCOTT@ORA10G>select * from fb_query2;
DEPTNO DNAME LOC
---------- -------------- -------------
10 NEW YORK
20 DALLAS
30 CHICAGO
40 BOSTON
15:19:07 SCOTT@ORA10G>
SCOTT@ORA10G>select dbms_flashback.get_system_change_number as scn from dual;
SCN
----------
645510
SCOTT@ORA10G>delete fb_query1;
4 rows deleted.
SCOTT@ORA10G>delete fb_query2;
4 rows deleted.
SCOTT@ORA10G>commit;
Commit complete.
SCOTT@ORA10G>exec dbms_flashback.enable_at_system_change_number(645510);
PL/SQL procedure successfully completed.
SCOTT@ORA10G>select * from fb_query1;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING
20 RESEARCH
30 SALES
40 OPERATIONS
SCOTT@ORA10G>select * from fb_query2;
DEPTNO DNAME LOC
---------- -------------- -------------
10 NEW YORK
20 DALLAS
30 CHICAGO
40 BOSTON
SCOTT@ORA10G>exec dbms_flashback.disable;
PL/SQL procedure successfully completed.
SCOTT@ORA10G>select count(*) from fb_query1;
COUNT(*)
----------
0
SCOTT@ORA10G>select count(*) from fb_query2;
COUNT(*)
----------
0
SCOTT@ORA10G>