PLSQL Drop 表之后恢复

不小心在PLSQL中将一张表删掉了,并且都不知道自己删的是哪张表,一时大为紧张,寻思了一下找到了一种恢复误删除表的方法。

1、查看你删除的是哪张表:

       select * from user_recyclebin where DROPTIME >'2013-09-02 00:00:00';

我们会看到我们删除的是ASS_REQ_LOG_STAT_BAK表,这下松了一口气,原来是它,还是张备份表。

2、那还是把它恢复过来吧:

      我们从上条查询语句中得到一个OBJECT_NAME这是有用的,下面我们就使用它来恢复表:
   

  flashback Table "BIN$5WCRYXHwI6/gQBKsPzBBtw==$0" to before drop

就这样,大功告成。不禁感叹Oracle的回收站还是很有用的。

3、如果是删了或修改里面的数据,可以先建立一个快表将删除修改之前状态的数据找回到这个表中:

CREATE TABLE QUICK_TABLE AS
SELECT * FROM TABLE_NAME AS OF TIMESTAMP SYSDATE-1/24 (一小时前的),减去的时间可以自己定 如:select * from TABLE_NAME AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' MINUTE)

4、关于数据库的回收站:

select * from user_recyclebin t where t.TYPE='TABLE'   --可以看到历史对数据库表、索引等的操作,进而实现闪回。

猜你喜欢

转载自blog.csdn.net/wangming520liwei/article/details/85062987
今日推荐