背景
使用navicat导出数据库脚本文件后,每个表的前面都是 drop 语句,直接把表删了重建。但是这个往往问题很多,在新的用户下,没有这个表执行drop语句会报错,顶多用来做数据备份脚本。
前段时间,想导出sql脚本到新的用户下执行的时候,操作错误,直接在导出sql的用户下执行语句,反应过来的时候已经有部分表被drop了,所以特地学习了一下 oracle 中 drop 语句的数据恢复方法。
oracle数据恢复的原理
oracle在删除表时,不会将全部数据从磁盘上全部去除,而是放置到回收站中
操作步骤
- 执行查看全部删除记录语句
select object_name,original_name,type,droptime from user_recyclebin;
object_name是删除表后的表名
这个语句执行之后,可以看到回收站可恢复的删除记录,仔细看被删除的表,先找到自己删除的时