oracle 10G 11G drop表的恢复
时间:2015-02-11 19:33 来源:linux.it.net.cn 作者:IT
对于oracle10G以上的数据库版本,提供了对数据的回收站机制,通过相关的配置,我们在drop非系统表的时候,
可以不直接删除表,而是把表放回回收站,我们可以通过一些列的方法进行还原操作。具体步骤如下
1、使用具有一定权限的用户查找是否开启了回收站功能
show parameter recyclebin;
如果是off状态,
alter system set recyclebin=off;
alter system set recyclebin=on;
alter session set recyclebin=off;
alter session set recyblebin=on;
2、在回收站查找我们需要恢复的表
show recyclebin/select * from recyclebin(推荐使用后面这种
,前面的show recyclebin 有的版本没有)
如果是管理员请使用 select * from dba_recyclebin
3、恢复表ct_bs_project;
flashback table ct_bs_project to before drop;
如果使用system或者sys进行恢复需要制定表的所属用户
flashback table scott.emp to before drop;
4、完成恢复,进行验证
select * from ct_bs_project;
补充:在开启recyclebin状态是open的情况下,drop表的时候并
不会释放表空间,所以我们需要定时的手动清理回收站,或者是
表空间不够的情况下会自动进行清理。
释放回收站里面的空间
purge recyclebin 清空回收站
完全删除表(释放表空间)
drop table ct_bs_project purge;
删除名为 TEST 的特定表之后需要从回收站中清除它
purge table test;
PURGE TABLE "BIN$04LhcpndanfgMAAAAAANPw==$0";
两个表名称都可以
清除表空间 USERS 的回收站中的所有对象
PURGE TABLESPACE USERS;
(责任编辑:IT)
对于oracle10G以上的数据库版本,提供了对数据的回收站机制,通过相关的配置,我们在drop非系统表的时候, 可以不直接删除表,而是把表放回回收站,我们可以通过一些列的方法进行还原操作。具体步骤如下 1、使用具有一定权限的用户查找是否开启了回收站功能 show parameter recyclebin; 如果是off状态, alter system set recyclebin=off; alter system set recyclebin=on; alter session set recyclebin=off; alter session set recyblebin=on; 2、在回收站查找我们需要恢复的表 show recyclebin/select * from recyclebin(推荐使用后面这种 ,前面的show recyclebin 有的版本没有) 如果是管理员请使用 select * from dba_recyclebin 3、恢复表ct_bs_project; flashback table ct_bs_project to before drop; 如果使用system或者sys进行恢复需要制定表的所属用户 flashback table scott.emp to before drop; 4、完成恢复,进行验证 select * from ct_bs_project; 补充:在开启recyclebin状态是open的情况下,drop表的时候并 不会释放表空间,所以我们需要定时的手动清理回收站,或者是 表空间不够的情况下会自动进行清理。 释放回收站里面的空间 purge recyclebin 清空回收站 完全删除表(释放表空间) drop table ct_bs_project purge; 删除名为 TEST 的特定表之后需要从回收站中清除它 purge table test; PURGE TABLE "BIN$04LhcpndanfgMAAAAAANPw==$0"; 两个表名称都可以 清除表空间 USERS 的回收站中的所有对象 PURGE TABLESPACE USERS; (责任编辑:IT) |