`
沧海一小粟
  • 浏览: 24717 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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;
  • 大小: 5 KB
  • 大小: 4.3 KB
  • 大小: 16.3 KB
  • 大小: 8.4 KB
  • 大小: 11 KB
1
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics