以前没细研究,今天发现Oracle被删除的表进了回收站,而且可以再回来,呵呵,需要学习的东西还很多!
首先我创建了个表
create table test001(username char(30),passw char(30));
insert into test001('李云鹏','admin');
然后删除掉
drop table test001;
然后查看我的表
select table_name from cat;
发现多出来这样一张表
TABLE_NAME TABLE_TYPE
------------------------------ -----------
BIN$c2gGrYO1Sceh5re9OLksWg==$0 TABLE
之前问了下别人,说这是加密表,但是我知道这个是因为我创建了一张表形成的,而我又没创建什么加密表,那我就好奇了,是啥东西呢,然后我查了一下资料,原来这个事被回收站的表~!
也就是Oracle删除了的表被放进了回收站,相当于Windows系统下的回收站,虽然删除了,但是它还存在在回收站里头
我们可以通过
select * from recyclebin;
来查看被删除掉放进回收站的表
我们可以通过
flashback table 原表名 to before drop;
来把删除掉的表找回来
还可以通过
purge recyclebin;
清空回收站
还可以通过
drop table 表名 purge;
不经过回收站来删除表
当然还可以在系统里面设置是否通过回收站来删除表
alter system set recyclebin = off/on DEFERRED;
首先我创建了个表
create table test001(username char(30),passw char(30));
insert into test001('李云鹏','admin');
然后删除掉
drop table test001;
然后查看我的表
select table_name from cat;
发现多出来这样一张表
TABLE_NAME TABLE_TYPE
------------------------------ -----------
BIN$c2gGrYO1Sceh5re9OLksWg==$0 TABLE
之前问了下别人,说这是加密表,但是我知道这个是因为我创建了一张表形成的,而我又没创建什么加密表,那我就好奇了,是啥东西呢,然后我查了一下资料,原来这个事被回收站的表~!
也就是Oracle删除了的表被放进了回收站,相当于Windows系统下的回收站,虽然删除了,但是它还存在在回收站里头
我们可以通过
select * from recyclebin;
来查看被删除掉放进回收站的表
我们可以通过
flashback table 原表名 to before drop;
来把删除掉的表找回来
还可以通过
purge recyclebin;
清空回收站
还可以通过
drop table 表名 purge;
不经过回收站来删除表
当然还可以在系统里面设置是否通过回收站来删除表
alter system set recyclebin = off/on DEFERRED;