當你暈暈乎乎的執行了commit之后,突然間意思到自己點錯了,那說明你和我碰到了一樣的問題。
瞬間感覺大冷天頭頂冒汗,那就說明你的感覺對了。廢話少說,下面是我的辦法:
下面的例子都是以Test表為例。
select t.*,t.rowid from Test t;
-----執行了一堆命令
commit;
意識到自己點錯了。
開始恢復了
select * from Test as of timestamp to_timestamp('2016-12-29 15:04:56','yyyy-mm-dd hh24:mi:ss');
上面的代碼就可以查看你要恢復的時間點的記錄,看看是不是你想要的記錄。
能看到,剩下的就簡單了,可以把現在表中的數據備份到一個臨時表,然后把記錄差插進去就行了
不要用truncate刪除,不然你就回不去了,到時候你就要哭了!!!!!!!
delete from Test;
insert into Test select * from Test as of timestamp to_timestamp('2016-12-29 15:24:27','yyyy-mm-dd hh24:mi:ss');
commit;