需求:
說是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