- 论坛徽章:
- 8
|
我们都知道,在Oracle中,当我们DROP一张表的时候,这张表其实并没有删除,只是在数据自定中把该表重命名了(SYS表空间除外),此时我们可以在Oracle回收站中找回该表,下面我们就看一下关于Oracle Recyclebin的一些操作吧:
查询回收站:
SELECT * FROM RECYCLEBIN;
SELECT * FROM USER_RECYCLEBIN; --USER_RECYCLEBING与RECYCLEBIN是同义词,字段完全一样
开启或关闭回收站:
会话级别开启/关闭
ALTER SESSION SET RECYCLEBIN = OFF/ON;
系统级别开启/关闭
ALTER SYSTEM SET RECYCLEBIN = OFF/ON SCOPE=SPFILE; (需要重启数据库)
查询回收站中的表数据:
SELECT * FROM "BIN$KlM0Cy+QH0jgU3AVGujw6s==$1";
清空回收站中的数据:
PURGE TABLE EMPLOYEES; 清空回收站某张表
PURGE RECYCLEBIN; 清空回收站所有数据
PURGE RECYCLEBIN EXAMPLE USER SCOTT; 清空回收站数据,但保留scott用户的数据
还原回收站中的数据表:
FLASHBACK TABLE EMPLOYEES TO BEFORE DROP; 还原成原来的表名
FLASHBACK TABLE EMPLOYEES TO BEFORE DROP RENAME TO EMPLOYEES_NEW; 还原成新的表名
|
|