2011年12月19日 星期一

Oracle Select Deleted Row or Modified Row BY Flashback and Timestamp

利用ORACLE Flashback & Timestamp 來 Select 出已被刪除或修改的資料
Oracle Select Deleted Row or Modified Row BY Flashback and Timestamp

現在時間 2011-12-19 13:00:00 發現早上 10:10 誤刪了100筆資料
The time now 2011-12-19 13:00:00, 10:10 am found 100 rows deleted by mistake

利用Flashback and Timestamp 取出 AM 10:09 分的資料
Use Flashback and Timestamp Take Rows at 10:09 am

SELECT * FROM KKK AS OF TIMESTAMP(TIMESTAMP '2011-12-19 10:09:00.00')
WHERE PHY_YEAR = 2011;

成功的話,如同一般 SELECT 一樣出現資料
Successful, the data appear as if the same SELECT

失敗的話,出現錯誤 ORA-01555: snapshot too old: rollback segment number X with name "XXXXXXXX" too small
Fails, an error ORA-01555: snapshot too old: rollback segment number X with name "XXXXXXXX" too small

沒有留言: