oracle中误删除数据恢复
情形一:将表中某条数据删除后将其恢复
已知有表TB,字段有BID,BNAME,BSEX,BAGE,表中数据如下:
执行删除语句:DELETE TB WHERE BID='6';表中数据如下:
执行查询语句:查询删除数据之前表中的所有数据
SELECT * FROM TB AS OF TIMESTAMP SYSDATE-1/12;查询结果如下:
现在执行insert语句即可将数据还原到表中:
INSERT INTO TB(
SELECT * FROM TB AS OF TIMESTAMP SYSDATE-1/12
WHERE NOT EXISTS(
SELECT 1 FROM TB T WHERE TB.BID=T.BID));
情形二:将某表删除后恢复(当然这里只是在drop时)
以STUDENT表为例:
执行drop表语句:DROP TABLE STUDENT;
再次查询时报表或视图不存在:
执行以下语句查询删除的记录:
SELECT * FROM RECYCLEBIN;
执行以下语句对删除的表进行恢复:
FLASHBACK TABLE STUDENT TO BEFORE DROP;
猜你喜欢
转载自beijing2008gejun.iteye.com/blog/2035267
今日推荐
周排行