视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
oracle回收站管理
2020-11-09 16:13:13 责编:小采
文档


无详细内容 无 oracle10g,在pl/sql中选中删除后会出现类似:BIN$nJ5JuP9cQmqPaArFei384g==$0的表。1.查看回收站select * from user_recyclebin;2.清空回收站purge recyclebin;3.清空回收站中的某个表--如下方式删除会提示:SQL命令未正确结束。purge table B

<无详细内容> <无> $velocityCount-->
oracle10g,在pl/sql中选中删除后会出现类似:BIN$nJ5JuP9cQmqPaArFei384g==$0的表。
1.查看回收站
select * from user_recyclebin;
2.清空回收站
purge recyclebin;
3.清空回收站中的某个表
--如下方式删除会提示:SQL命令未正确结束。
purge table BIN$/UpBuh+LQ9yZGN95BFsk5Q==$0
--正确写法如下:
purge table "BIN$/UpBuh+LQ9yZGN95BFsk5Q==$0";
--如下方式删除会提示:SQL命令未正确结束。
drop table BIN$/UpBuh+LQ9yZGN95BFsk5Q==$0
--而如下这样写,则会提示:无法对回收站中的对象执行DDL/DML。
drop table "BIN$0iJ7/rWFQrSGdZexvGv3qQ==$0"
4.恢复回收站
FLASHBACK TABLE "BIN$0iJ7/rWFQrSGdZexvGv3qQ==$0" TO BEFORE DROP
这是10g 的新特性
在10g中,如果启用flash drop功能,在drop表时,数据库不会直接删除,而是将其放在回收站中,当空间出现短缺时,才会逐渐回收这部分空间。
bin$表示表放在了回收站,你想要的话还可以找回来
删除的话一个方法是直接删delete tanle bin$.....;
另一种方法就是使用 purge table table_name;
drop table时, 不产生他们,修改你的drop语句

写成 :
DROP TABLE TABLE_NAME PURGE ;
转载:
以前只知道Windows有个回收站,今天听说Oracle也有个回收站!
在Oracle中可能不小心会DROP掉一个表,如果没有定期做备份的话,将会带来很大的麻烦。如果有的情况下,每天的数据都很重要,而定期备份的周期又稍长,情况恐怕也不容乐观!
不过还好Oracle有个回收站,概念就跟Windows里的回收站一模一样。
比如有以下误操作:
DROP TABLE drop_test;
这个时候再用SELECT语句查询此表时,将会提示表或视图不存在。但可以用如下语句查询到这个表还在Oracle回收站中:
SELECT * FROM user_recyclebin WHERE original_name=‘drop_test’;
那么现在就可以用如下语句进行恢复:
FLASHBACK TABLE drop_test TO BEFORE DROP
但是,要注意的是,如果用toad工具进行鼠标操作,即右键drop table时,如果选择了purge选项,那么就是永久性删除,在oracle的回收站也不会存在了,所以在进行表的删除的时候一般不要选择该选项,除非你很肯定该表不再使用。

下载本文
显示全文
专题