首页 > 数据库 > Oracle > oracle 回收站功能
在oracle中,drop掉的数据会暂时放在回收站中(前提是开启了回收站功能)
查看回收站是否开启
SHOW PARAMETER RECYCLEBIN;
value是on为开着

11g开启回收站即可使用,19c中,需要开启归档+回收站才可以使用
关闭回收站
SQL> ALTER SYSTEM SET RECYCLEBIN=OFF;
System altered.
SQL> ALTER SESSION SET RECYCLEBIN=OFF;
Session altered.
查看回收站中的对象
select ORIGINAL_NAME,OBJECT_NAME,TYPE,TS_NAME,CREATETIME,DROPTIME,OWNER,OPERATION from DBA_RECYCLEBIN;

恢复回收站中的对象(只能用于非系统表空间和本地管理的表空间)(不需要开启闪回)
2种恢复方法:
FLASHBACK TABLE DEF.TEST TO BEFORE DROP;
flashback table "BIN$BLmi9vlwN3TgUKjAgYxoiA==$0" to before drop;
清空回收站中的某个表
purge table "BIN$/UpBuh+LQ9yZGN95BFsk5Q==$0";
purge table "HNSI"."BIN$kvbM59svBqTgU94LC4WDdg==$0";
spool(数量过多,脚本)
set linesize 150
set pagesize 9999
spool /tmp/applied.log
xxxxxx
spool off
表版本
select 'purge '||TYPE||' "'||OWNER||'".'||'"'||OBJECT_NAME||'"'||';' from DBA_RECYCLEBIN where TYPE='TABLE';
所有对象版本
select 'purge '||TYPE||' "'||OWNER||'".'||'"'||OBJECT_NAME||'"'||';' from DBA_RECYCLEBIN;
注意:
清理回收站的对象可以减少逻辑大小,但是物理大小是不变的,需要自己shrink。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69980685/viewspace-3002046/ ,如需转载,请注明出处,否则将追究法律责任。