一、回收站
回收站本身是一个数据字典表,用于维护已删除对象的原始名称与各自系统生成名称之间
的关系。可使用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;
注:闪回删除的表时,恢复的索引、触发器和约束条件将保留各自的回收站名称。
回收站本身是一个数据字典表,用于维护已删除对象的原始名称与各自系统生成名称之间
的关系。可使用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;
注:闪回删除的表时,恢复的索引、触发器和约束条件将保留各自的回收站名称。