ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle recyclebin 管理

oracle recyclebin 管理

原创 Linux操作系统 作者:terryhyx 时间:2010-06-12 19:55:21 0 删除 编辑
管理回收站

 

如果在该过程中没有实际删除表—因而没有释放表空间—那么当被删除的对象占用了所有空间时,会发生什么事?

 

答案很简单:这种情况根本不会出现。当表空间被回收站数据完全占满,以至于必须扩展数据文件来容纳更多数据时,可以说表空间处于“空间压力”情况下。此时,对象以先进先出的方式从回收站中自动清除。在删除表之前,相关对象(如索引)被删除。

 

同样,空间压力可能由特定表空间定义的用户限额而引起。表空间可能有足够的空余空间,但用户可能将其在该表空间中所分配的部分用完了。在这种情况下,Oracle 自动清除该表空间中属于该用户的对象。

 

此外,有几种方法可以手动控制回收站。如果在删除名为 TEST 的特定表之后需要从回收站中清除它,可以执行

 

PURGE TABLE TEST;

或者使用其回收站中的名称:

 

PURGE TABLE "BIN$04LhcpndanfgMAAAAAANPw==$0";

此命令将从回收站中删除表 TEST 及所有相关对象,如索引、约束等,从而节省了空间。但是,如果要从回收站中永久删除索引,则可以使用以下命令来完成工作:

 

purge index in_test1_01;

此命令将仅仅删除索引,而将表的拷贝留在回收站中。

 

有时在更高级别上进行清除可能会有用。例如,您可能希望清除表空间 USERS 的回收站中的所有对象。可以执行:

 

PURGE TABLESPACE USERS;

您也许希望只为该表空间中特定用户清空回收站。在数据仓库类型的环境中,用户创建和删除许多临时表,此时这种方法可能会有用。您可以更改上述命令,限定只清除特定的用户:

 

PURGE TABLESPACE USERS USER SCOTT;

诸如 SCOTT 等用户可以使用以下命令来清空自己的回收站

 

PURGE RECYCLEBIN;

DBA 可以使用以下命令清除任何表空间中的所有对象

 

PURGE DBA_RECYCLEBIN;

可以看到,可以通过多种不同方法来管理回收站,以满足特定的需要。

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2361091/viewspace-665118/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-09

  • 博文量
    9
  • 访问量
    20926