你的位置:首页 > 数据库

[数据库]Oracle回收站 使用

 

--时间:2016年1月27日
--Author:zhenxing yu

查询回收站

SELECT * FROM RECYCLEBIN;SELECT * FROM USER_RECYCLEBIN; --USER_RECYCLEBING与RECYCLEBIN是同义词,字段完全一样

 

--开启或关闭回收站
--A:会话级别开启/关闭

ALTER SESSION SET RECYCLEBIN = OFF/ON;

 



--B:系统级别开启/关闭

ALTER SYSTEM SET RECYCLEBIN = OFF/ON SCOPE=SPFILE;--(需要重启数据库)

 



--查询回收站中的表数据

SELECT * FROM "BIN$KlM0Cy+QG0jgU3AVGawe9w==$0";

 

--清空回收站中的数据

PURGE TABLE BIN$KlM0Cy+QG0jgU3AVGawe9w==$0;--根据OBJECT_NAME名称清除PURGE TABLE EMPLOYEES;--根据ORIGINAL_NAME名称清除PURGE RECYCLEBIN;--清空回收站数据PURGE RECYCLEBIN EXAMPLE USER SCOTT;--清空回收站数据,但保留scott用户的数据

 

--还原回收站中的数据表

FLASHBACK TABLE EMPLOYEES TO BEFORE DROP;--还原成原来的表名FLASHBACK TABLE EMPLOYEES TO BEFORE DROP RENAME TO EMPLOYEES_NEW;--还原成新的表名

 



--会员表附属的对象
--注意:回收站中的表,当表恢复以后,相关的索引也会同时恢复,但索引的名字仍旧会使用在回收站中的名称
--所以需要将索引重新命名,以便知道各个索引的含义

--1、查询已恢复表的索引名称

SELECT INDEX_NAME, INDEX_TYPE, TABLE_NAME, UNIQUENESSFROM USER_INDEXESWHERE TABLE_NAME = 'EMP1';

 


--2、将索引重命名

ALTER INDEX "BIN$KlNYwcBGG1LgU3AVGazI7Q==$0" RENAME TO EMP_N1;