oracle數據庫還原24小時內的時間點
阿新 • • 發佈:2018-06-26
企業 直接 數據還原 表名 rom 導致 amp sele oracle數據
--首先查詢在某個時間點的數據 t_asn_dtl 為表名
SELECT * FROM t_asn_dtl AS OF TIMESTAMP TO_TIMESTAMP(‘20180625 22:30:00‘,‘YYYYMMDD HH24:MI:SS‘);
--把這個時間點的數據,賦值到一個新的表內,tab_bal;最好新建兩張表,算是一個備份 create table tab_bak as SELECT * FROM T_ASN_DTL AS OF TIMESTAMP TO_TIMESTAMP(‘20180625 22:30:00‘,‘YYYYMMDD HH24:MI:SS‘);
--查詢這個表,看數據是否已經進來,
SELECT * FROM tab_bak; SELECT * FROM T_ASN_DTL;
--把數據混亂的表名改了,然後把新建的表名改成使用的表名,這樣數據就回來了.
alter table T_ASN_DTL rename to taba alter table tab_bak rename to T_ASN_DTL
因為更新的時候忘記攜帶條件,導致數據混亂.
用此方法把數據還原到1個小時前(22.30.00)
如果是企業版本的oracle,可以直接使用flashback
alter table 表名 enable row movement; flashback table 表名 to timestamp to_timestamp(‘2011-03-04 05:00:00‘,‘yyyy-mm-dd HH24:MI:SS‘);
標準版oracle是不支持這個回閃動作的!!!
oracle數據庫還原24小時內的時間點