--時間: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, UNIQUENESS FROM USER_INDEXES WHERE TABLE_NAME = 'EMP1';
--2、將索引重命名
ALTER INDEX "BIN$KlNYwcBGG1LgU3AVGazI7Q==$0" RENAME TO EMP_N1;