PLSQL 误删表恢复

不小心在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'  可以看到历史对数据库表、索引等的操作,进而实现闪回。

 

阅读更多
上一篇mybatis Like 写法
下一篇String... 不定参数个数
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭