需求:
说是9点的时候开发delete tbl_custtrade 表中的某些行,现在反悔了,想找回delete之前的数据
select *
from tbl_custtrade as of timestamp to_date(\'2007-5-16 9:00:00\', \'yyyy-mm-dd hh24:mi:ss\')。这个语句可以查到9时这个表的状态,9点之后所做的更改都不会体现到这个查询中,注意,只是能查到,并不代表这个表的现有值变了
create table w_1
as
select *
from tbl_custtrade as of timestamp to_date(\'2007-5-16 9:00:00\', \'yyyy-mm-dd hh24:mi:ss\') .找到你需要的数据并更新到tbl_custtrade表中去
回溯时间:
SQL> show parameter undo_retention
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
undo_retention integer 21600
SQL> select 21600/60/60 from dual ;
21600/60/60
-----------
6 --可以查看当前6个小时表的状态值
适用:因为是通过回滚段来恢复,所以只支持update、 delete、 insert、 不支持ddl操作
这个语句可以防止在误操作的情况下进行表数据的快速恢复。天哪,写了一个不用思考、人人皆会的东西。。。
原文转自:http://blogread.cn/it/article/57