一开始,划得表空间数据文件多了,能否实现文章标题所述功能,这样我就可以删除几个数据文件,回收一些空间了。请高手指教。谢谢。

解决方案 »

  1.   

    一种方案:
    1、使用exp逻辑导出在该表空间的用户的所有对象;
    2、删除用户,删除表空间数据文件,并重建表空间,增加用户;
    3、使用imp导入相应的对象;
      

  2.   


    oracle太麻烦了,感觉什么操作都要copy一下,应该会有比较简单的方法吧。不过还是谢谢1楼的回复!
      

  3.   

    简化一下:
    1、export要减少数据文件的表空间,例:
       c:\>exp test/test file=tbs.dmp tablespace=(tbs)2、使用include content子句删除表空间,例:
       sql>drop tablespace tbs including contents;
       c:>del \oracle\oradata\tbs*.dbf3、重建表空间,例:
       sql>create tablespace tbs datafile '\oracle\oradata\tbs01.dbf' size 500m;4、import表空间的所有数据对象,例:
       c:\>imp test/test file=tbs.tmp full=y ignore=y log=tbs.log
      

  4.   

    resize 表空间..------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    Q Q 群:62697716
      

  5.   

    了解了,原来数据文件已经有数据的话,就没办法删除了,只有先dmp再exp,或者将数据文件大小修改一下,以释放一些磁盘空间。如果没有数据,直接删除之,也可。感谢大家的回复。