分享

ORACLE 删除用户及空闲表空间释放空间

 昵称9283147 2016-05-10
第一步:删除过期用户
  1. DROP USER colin CASCADE;
第二步:查询过期用户相关的表空间是否还有对象
  1. SELECT OWNER, SEGMENT_NAME, SEGMENT_TYPE, TABLESPACE_NAME
  2.   FROM DBA_SEGMENTS
  3.  WHERE TABLESPACE_NAME IN
  4.        (SELECT TABLESPACE_NAME
  5.           FROM DBA_TABLESPACES
  6.          WHERE TABLESPACE_NAME LIKE '%COLIN%')
第三步:转移过期用户表空间上的对象到其他表空间
  1. ALTER TABLE tab_colin MOVE TABLESPACE colin_song_tbs;

  2. ALTER INDEX idx_tab_colin REBUILD TABLESPACE colin_song_idx_tbs;
第四步:查询无对象的表空间
  1. SELECT 'DROP TABLESPACE ' || TABLESPACE_NAME ||
  2.        ' INCLUDING CONTENTS AND DATAFILES;'
  3.   FROM DBA_TABLESPACES
  4.  WHERE NOT EXISTS (SELECT 12
  5.           FROM DBA_SEGMENTS
  6.          WHERE DBA_SEGMENTS.TABLESPACE_NAME =
  7.                DBA_TABLESPACES.TABLESPACE_NAME);
第五步:删除之 把上述查询出来的语句贴到文本编辑里检查下(PS:这里会包含一个temp的临时表空间一定要去掉啊)
  1. SQL> drop tablespace STAT_FTFY_CHRGSTAY_DTBS including contents and datafiles;
  2.  
  3. Tablespace dropped
  4. SQL> drop tablespace STAT_FTFY_CHRGNEW_WIXTBS including contents and datafiles;
  5.  
  6. Tablespace dropped
  7. SQL> drop tablespace STAT_FTFY_CHRGSMR_MIXTBS including contents and datafiles;
  8.  
  9. Tablespace dropped

最后去看下你的系统空间应该释放了吧

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多