今天遇到oracle数据库数据恢复的问题,通过查询知道应该使用oracle的闪回功能将数据恢复到以前的某个时间点。
具体的做法是:
查询某个时间点时,表的数据状态时什么。语法:
select * from tablename as of timestamp to_timestamp('2012-12-14 15:00:00','yyyy-mm-dd hh24:mi:ss');
确定完时间点后,可以进行数据恢复,但是遇到 闪回命令出错 ORA-08189: cannot flashback the table because row movement is not enabled,这是因为table的row movement的状态没有打开(DISABLE)。
修改表的row movement的语法:alter table tablename enable row movement;
解决好这个问题以后,就可以进行数据恢复了:
flashback table tablename to timestamp to_timestamp('2012-12-14 15:00:00','yyyy-mm-dd hh24:mi:ss');