Oracle删除数据如何恢复数据
1.delete from 表名:删除所有数据,表结构还在,写日志,可以恢复,速度慢
delete可以通过日志恢复:
(1) SQL>select * from emp;
(2) SQL> savepoint a; —保存断点(删除之前先保存)
(3) SQL> delete from emp; —删除
(4) SQL> select * from emp; —查看
(5) SQL> rollback to a; —回滚到断点
2.drop table 表名:删除表的结构和数据
drop可以通过闪回恢复
(1) select * from tab;
TNAME TABTYPE CLUSTERID
-——————————————- ———- —————
EMP TABLE
BIN$Rqot1EhjR6CCexnfYwUXpg==$0 TABLE
(2) drop table EMP;
Table dropped
(3) 再次查询 select * from tab;
TNAME TABTYPE CLUSTERID
-——————————————- ———- —————
BIN$Z4xGtH0VQnuYtNtWmqzktg==$0 TABLE
BIN$Rqot1EhjR6CCexnfYwUXpg==$0 TABLE
说明没有被删除;
(4) show recyclebin;
(5) flashback table EMP to before drop; —恢复语句
*(6) 再次查看 select \ from tab;
TNAME TABTYPE CLUSTERID
-——————————————- ———- —————
EMP TABLE —-已恢复
BIN$Rqot1EhjR6CCexnfYwUXpg==$0 TABLE**
3.truncate table 表名:删除表中的所有记录,表结构还在。不写日志,无法恢复,但速度快
还没有评论,来说两句吧...