問題:同事不小心把項目DB中的一個表的數據delete all了。DB版本oracle 10g。
網上簡單搜了一下,搞定。以下是過程:
Oracle 10g開始,當我執行Drop Table時,Oracle也會把被刪除的表放到數據庫回收站(Database Recyclebin)里。這樣我們就可以用flashback table命令恢復被刪除的表,語法:
Flashback table 表名 to before drop;
開始恢復,執行以下命令:
網上簡單搜了一下,搞定。以下是過程:
Oracle 10g開始,當我執行Drop Table時,Oracle也會把被刪除的表放到數據庫回收站(Database Recyclebin)里。這樣我們就可以用flashback table命令恢復被刪除的表,語法:
Flashback table 表名 to before drop;
開始恢復,執行以下命令:
flashback table tmm2076 TO TIMESTAMP to_timestamp('2007-05-22 12:00:00','yyyy-mm-dd hh24:mi:ss')
彈出ORA-08189錯誤,需要執行以下命令先:
alter table tmm2076 enable row movement
這個命令的作用是,允許oracle修改分配給行的rowid。
然后再flashback,數據被恢復完畢。