step 1 : 查看回收站当前状态, 下面SQL,如果返回值为on表示‘开启’,如果off表示‘关闭’
SELECT Value FROM V$parameter WHERE Name = 'recyclebin'; step2: 启动或者关闭回收站里的每个会话(session)和系统(system) ALTER SYSTEM SET recyclebin = ON; //或OFF ALTER SESSION SET recyclebin = ON; //或OFF step3: 查看回收站里的内容 SELECT * FROM RECYCLEBIN; SELECT * FROM USER_RECYCLEBIN; SELECT * FROM DBA_RECYCLEBIN; step4:还原被删除的对象 view sourceprint?1 FLASHBACK TABLE <> TO BEFORE DROP RENAME step5: 清空回收站 1. 清空特定的表:PURGE TABLE <<Table_NAME>>; 2.清空特定的索引: PURGE INDEX <<Index_NAME>>; 3.清空与该表空间有关联的对象: PURGE TABLESPACE<<Table_NAME>>; 4.清空一个特定用户的表空间对象: PURGE TABLESPACE<<Table_NAME>> USER <<User_Name>>; 5.清空回收站: PURGE RECYCLEBIN; 6.当一个表被删除(drop)时就直接从回收站中清空 DROP TABLE <<Table_Name>> PURGE; step 6. Demo 1.启动回收站功能 - ALTER SYSTEM SET recyclebin = ON;
2.创建一个DEMO_RECYCLEBIN表 - CREATE TABLE DEMO_RECYCLEBIN (COL1 NUMBER);
3.向DEMO_RECYCLEBIN表中插入一条数据 - INSERT INTO DEMO_RECYCLEBIN (COL1) VALUES (1); COMMIT;
4.删除(Drop)DEMO_RECYCLEBIN表 - DROP TABLE DEMO_RECYCLEBIN;
5.查询 - SELECT * FROM USER_RECYCLEBIN;
结果: 
6.从回收站中还原DEMO_RECYCLEBIN表 - FLASHBACK TABLE DEMO_RECYCLEBIN TO BEFORE DROP;
7.还原后查询 - SELECT * FROM DEMO_RECYCLEBIN;
查询结果和删除前是一致的。 8.删除表,并且将其从回收站中清空 - DROP TABLE DEMO_RECYCLEBIN PURGE;
|