create table t1 as select * from dba_objects;
专注于为中小企业提供成都网站制作、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业大渡口免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
SCOTT@ORA12C> select sysdate from dual;
SYSDATE
-------------------
2015-09-20 14:54:10
1 row selected.
SCOTT@ORA12C> delete from t1;
0 rows deleted.
SCOTT@ORA12C> commit;
Commit complete.
SCOTT@ORA12C> select count(*) from t1;
COUNT(*)
-----------------
0
1 row selected.
SCOTT@ORA12C> select count(*) from t1 as of timestamp to_timestamp('2015-09-20 14:54:00','yyyy-mm-dd hh34:mi:ss');
COUNT(*)
-----------------
91692
1 row selected.
SCOTT@ORA12C> flashback table t1 to timestamp to_timestamp('2015-09-20 14:54:00','yyyy-mm-dd hh34:mi:ss');
flashback table t1 to timestamp to_timestamp('2015-09-20 14:54:00','yyyy-mm-dd hh34:mi:ss') *
ERROR at line 1:
ORA-08189: cannot flashback the table because row movement is not enabled
SCOTT@ORA12C> alter table t1 enable row movement;
Table altered.
SCOTT@ORA12C> flashback table t1 to timestamp to_timestamp('2015-09-20 14:54:00','yyyy-mm-dd hh34:mi:ss');
Flashback complete.
SCOTT@ORA12C> select count(*) from t1;
COUNT(*)
-----------------
91692
1 row selected.
注意system表空间下面的表不能闪回,不能跨越DDL语句,
SYS@ORA12C> flashback table t2 to timestamp to_timestamp('2015-09-20 15:07:25','yyyy-mm-dd hh34:mi:ss');
flashback table t2 to timestamp to_timestamp('2015-09-20 15:07:25','yyyy-mm-dd hh34:mi:ss') *
ERROR at line 1:
ORA-08185: Flashback not supported for user SYS
但是可以查询:
SYS@ORA12C> select count(*) from t2 as of timestamp to_timestamp('2015-09-20 15:07:25','yyyy-mm-dd hh34:mi:ss');
COUNT(*)
-----------------
91694
1 row selected.
可以重新建一张表或者直接insert:
SYS@ORA12C> create table t3 as select * from t2 as of timestamp to_timestamp('2015-09-20 15:07:25','yyyy-mm-dd hh34:mi:ss');
Table created.
SYS@ORA12C> insert into t2 select * from t2 as of timestamp to_timestamp('2015-09-20 15:07:25','yyyy-mm-dd hh34:mi:ss');
91694 rows created.
@ORA12C> commit;
Commit complete.