WEB开发网
开发学院数据库Oracle Oracle 10g数据库中闪回表特性剖析 阅读

Oracle 10g数据库中闪回表特性剖析

 2007-05-13 12:29:16 来源:WEB开发网   
核心提示: 此命令不会将表重命名为回收站中的名称,而是永久删除该表,Oracle 10g数据库中闪回表特性剖析(3),就象 10g 之前的版本一样,管理回收站如果在该过程中没有实际删除表 — 因而没有释放表空间 — 那么当被删除的对象占用了所有空间时,用户创建和删除许多临时表,

此命令不会将表重命名为回收站中的名称,而是永久删除该表,就象 10g 之前的版本一样。

管理回收站

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

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

同样,空间压力可能由特定表空间定义的用户限额而引起。表空间可能有足够的空余空间,但用户可能将其在该表空间中所分配的部分用完了。在这种情况下,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;

上一页  1 2 3 4  下一页

Tags:Oracle 数据库 特性

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接