参考资料:Using Oracle Flashback Technology
Oracle 11g的新特性闪回操作
- 闪回查询
- 闪回查询
- 闪回版本查询
- 闪回事务查询
- 闪回数据
- 闪回表
- 闪回删除
- 闪回数据
- 闪回归档
下面会分别介绍这些操作。在介绍这些操作之前先看下闪回特性是否开启。
检查闪回特性是否启用
参考资料:
Configuring Your Database for Oracle Flashback Technology
确认数据库闪回特性已经启用:v$database
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
NO
如果闪回特性没有启用,则需要先启用闪回。
打开闪回的步骤:
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database flashback on;
SQL> alter database open;
打开之后可再次检查闪回特性是否打开。只要打开了闪回特性,就可以进行闪回操作。
闪回查询
参考资料:Using Oracle Flashback Query (SELECT AS OF)
查询某一个历史时间点的数据。
查询某个时间点表中的数据——某个时间点表中快照的数据。
SQL> create table t(x int , y int);
表已创建。
SQL> insert into t values(1,2);
已创建 1 行。
SQL> insert into t values(2,3);
已创建 1 行。
SQL>
SQL> commit;
提交完成。
SQL> select * from t;
X Y
---------- ----------
1 2
2 3
SQL> set time on
21:11:45 SQL> delete from t where x=1;
已删除 1 行。
21:12:11 SQL> commit;
提交完成。
21:12:18 SQL> select * from t;
X Y
---------- ----------
2 3
21:12:21 SQL> select * from t as of timestamp to_timestamp('2016-03-21 21:11:45'
,'yyyy-mm-dd hh24-mi-ss');
X Y
------