回收站&闪回删除

一、回收站
    回收站本身是一个数据字典表,用于维护已删除对象的原始名称与各自系统生成名称之间
的关系。可使用DBA_RECYCLEBIN 视图查询回收站。
    初始化参数RECYCLEBIN控制闪回删除功能是打开( ON)  还是关闭( OFF )。

回收站对象的回收策略:
    * 显式发出PURGE命令时执行手动清除
    * 空间不足时执行自动清除:对象在回收站中时,DBA_FREE_SPACE 也会报告其对应空间,
      因为这些空间是可以自动回收的。然后按以下顺序使用特定表空间中的空闲空间:
      <1>.与回收站对象不对应的空闲空间。
      <2>.与回收站对象对应的空闲空间。在这种情况下,将使用先进先出(FIFO) 算法自动
          将回收站对象从回收站中清除。
      <3>.自动分配的空闲空间(如果表空间是可以自动扩展的)假设在TBS1 表空间内创
          建一个新表。如果向此表空间分配了与回收站对象不对应的空闲空间,则首先使
          用此空闲空间。如果该空间不够,则使用与TBS1 内驻留的回收站对象对应的空
          闲空间。如果使用了某些回收站对象的空闲空间,则会从回收站中自动清除这些
          对象。此时,将无法再使用闪回删除功能恢复这些对象。如果仍未满足空间要求,
          则作为最后的方法,会在可能的情况下扩展TBS1 表空间。

二、不使用回收站
eg:
drop table <table_name> [purge];
drop tablespace <ts_name> [including contents];
drop user <user_name> [cascade];

    发出DROP TABLESPACE  ... INCLUDING CONTENTS命令后,表空间中的对象不会
移到回收站中。而且,回收站中属于该表空间的对象也会被清除。发出不带INCLUDING 
CONTENTS 子句的以上命令时,表空间必须为空,之后才能成功执行命令。但回收站中可
以有属于该表空间的对象。这种情况下,会清除这些对象。
    发出DROP USER ... CASCADE 命令后,将从数据库中永久地删除该用户及其拥有的
所有对象。回收站中属于已删除用户的所有对象都将被清除。

--查看回收站状态
SHOW PARAMETER RECYCLEBIN

--禁用回收站(这个要重启数据库)
ALTER SYSTEM SET RECYCLEBIN=OFF SCOPE=SPFILE;


三、闪回删除
eg:
FLASHBACK TABLE employees TO BEFORE DROP;
注:闪回删除的表时,恢复的索引、触发器和约束条件将保留各自的回收站名称。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值