在过去,如果用户误删/更新了数据后,作为用户并没有什么直接的方法来进行恢复,他们必须求助DBA来对数据库进行恢复,到了Oracle9i,这一个难堪局面有所改善。Oracle 9i中提供了一项新的技术手段--闪回查询,用户使用闪回查询可以及时取得误操作前的数据,并可以针对错误进行相应的恢复措施,而这一切都无需DBA干预。
以下 以数据库中表 web_userinfo1为例
SQL> select count(1) from web_userinfo1;
COUNT(1)
----------
2156
SQL> delete web_userinfo1;
2156 rows deleted
SQL> commit;
Commit complete
SQL> select count(1) from web_userinfo1;
COUNT(1)
----------
0
SQL> insert into web_userinfo1 select * from web_userinfo1 as of timestamp sysdate-1/480;
2156 rows inserted
SQL> commit;
Commit complete
SQL> select count(1) from web_userinfo1;
COUNT(1)
----------
2156