Oracle闪回功能

当数据有误删除的并且不能手动添加回去的情况,需要使用oracle闪回功能,详细步骤如下:
第一步:查看历史。
首先要确定在以前的某个时间点上是否存在我们已经删除的数据,如果有,则以这个时间点为准。
SELECT * 
FROM IPEDIA_HOBBY 
AS OF TIMESTAMP 
TO_TIMESTAMP('2012-11-8 10:00:00','yyyy-mm-dd hh24:mi:ss');

第二步:把数据放入临时表
CREATE TABLE IPEDIA_HOBBY_TEMP AS SELECT * 
FROM IPEDIA_HOBBY 
AS OF TIMESTAMP 
TO_TIMESTAMP('2012-11-8 10:00:00','yyyy-mm-dd hh24:mi:ss');

第三步:删除原表记录
DELETE FROM IPEDIA_HOBBY;

第四步:将临时表的数据插入原表
INSERT INTO IPEDIA_HOBBY SELECT * FROM IPEDIA_HOBBY_TEMP;

第五步:删除临时表
DROP TABLE IPEDIA_HOBBY_TEMP;

猜你喜欢

转载自guosen.iteye.com/blog/1765407