【问题标题】:Deleting table data from tablespace in Oracleoracle从表空间中删除表数据
【发布时间】:2010-08-11 14:42:03
【问题描述】:

我尝试使用命令从表空间中删除数据

删除用户 xyz 级联;

我发现用户被删除但我的表空间大小并没有减少。 我的表空间中的数据是否已被删除?如果是,我该如何确认?为什么没有释放空间?

【问题讨论】:

    标签: sql oracle tablespace


    【解决方案1】:

    Oracle 不会自动收缩数据文件,而数据文件正是表空间的组成部分。 Oracle 只是简单地将用户 XYZ 的段(表、索引等)使用的空间标记为空闲,供其他用户的段使用。

    SELECT * FROM DBA_OBJECTS WHERE OWNER = 'XYZ'; 应证明用户 XYZ 不再拥有数据库中的任何物理(表、索引、集群)或逻辑(序列、过程、包、触发器、类型)对象。

    【讨论】:

      【解决方案2】:

      在某些情况下,您可以使用以下命令收缩数据文件:

      ALTER DATABASE DATAFILE 'filename2' RESIZE new_size;
      

      如果文件末尾没有数据,可以减小数据文件大小。有关详细信息,请参阅“Managing Tablespaces”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-10
        • 1970-01-01
        • 2015-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多