Oracle_数据的还原_09

小技巧

1.          查看回收站

select * from user_recyclebin;
2.          清空回收站

purge recyclebin
3.          还原被删的对象

flashback table “Bin(回收站中的表的名字)” to before drop( rename to 表名)
4.          DML恢复(Data Manipulation Language)

那我们知道一条Transaction语句,如果没有COMMIT是可以通过ROLLBACK来撤销的。但是如果如果语句已经COMMIT如何来撤销呢。

在Oralcel里面有一张特殊的表:flashback_transaction_query,desc来看看表结构。如下图所示。

%title插图%num

可以看到表里面的列,这些列就是我们找到SQL语句的限制条件啦。

比方说,昨天你写COMMIT的语句都需要撤销,那么这个时候

SELECT undo_sql
FROM flashback_transaction_query
WHERE logon_user = ‘SCOTT’
AND table_name = ‘EMP2’
AND start_timestamp BETWEEN SYSDATE – 1 AND SYSDATE
之前介绍过SPOOL技术,我们可以在SQL语句的上面和下面分别加上SPOOL D:\flashback.sql SPOOL OFF