原数据库表文件总共大约30g,dmp备份后13g,我将大部分表的数据清理后,备份的dmp有1.5g。重新建库,定义表空间150mb,然后导入,结果新的数据文件几乎没有缩水,仍然30g左右。我现在的目的是删除大部分业务数据,保留字典数据,达到最后恢复库的时候表空间文件占用硬盘空间变小,请问如何实现? 

解决方案 »

  1.   

    你怎么清数据的?delete 删除,还是truncate table
      

  2.   

    导出时有个compress属性 n和y你都试试
    可能有用 但是具体的哪个可以压缩表空间我也没搞清
      

  3.   


    我是用delete删除的数据后,重新exp,然后在imp的。
      

  4.   


    compress=y试过,没有什么作用,重新exp后表空间文件还是30G。
      

  5.   

    没有降低HWM吧,10G以上用用SHINK,不过要启用行迁移,
    整理碎片大表的话比较痛苦
      

  6.   


    谢谢,按照你说的解决了我目前的文问题,但是系统中的大表比较多,逐一降低HWM比较繁琐,能否在exp的时候实现?
      

  7.   

    我用SHINK,每张表的空间是小了,但是总表空间的大小没变,而且不能resize。