分享

Oracle 回收站的操作

 昵称11268080 2013-01-30
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.启动回收站功能

  1. ALTER SYSTEM SET recyclebin = ON

2.创建一个DEMO_RECYCLEBIN表

  1. CREATE TABLE DEMO_RECYCLEBIN (COL1 NUMBER); 

3.向DEMO_RECYCLEBIN表中插入一条数据

  1. INSERT INTO DEMO_RECYCLEBIN (COL1) VALUES (1); COMMIT

4.删除(Drop)DEMO_RECYCLEBIN表

  1. DROP TABLE DEMO_RECYCLEBIN; 

5.查询

  1. SELECT * FROM USER_RECYCLEBIN; 

结果:

6.从回收站中还原DEMO_RECYCLEBIN表

  1. FLASHBACK TABLE DEMO_RECYCLEBIN TO BEFORE DROP

7.还原后查询

  1. SELECT * FROM DEMO_RECYCLEBIN; 

查询结果和删除前是一致的。

8.删除表,并且将其从回收站中清空

  1. DROP TABLE DEMO_RECYCLEBIN PURGE; 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多