我的oracle版本是816,要删除其中某个数据文件。怎么做?

解决方案 »

  1.   

    先使数据文件offlinealter database datafile '...../*.dbf' offline drop;
      

  2.   

    首先要先将表空间脱机:
    alter tablespace xxx offline;然后可以删除表空间中的文件:(直接删除操作系统的文件)
    alter database datafile '.....' drop including datafile;在将表空间上线:
    alter tablespace xxx online;
      

  3.   

    SQL>startup mount--若在ARCHIVELOG模式下
    SQL>Alter database datafile 'file name' offline;
    --若在NOARCHIVELOG模式下
    SQL>Alter database datafile 'file name' offline drop;SQLl>Alter database open;如果启动没有问题,在操作系统级删除你的数据文件就好了。
      

  4.   

    老兄,你这个表空间中有没有在使用的表哦。如果你不对这些表备份直接就删除了就麻烦了。
    建议你先查询确定一下。而且,我认为如果你真的有这样的表,而且表空间不只一个数据文件的话,是不可能确定这些表用到了哪个数据文件的。建议,干脆把表空间备份了,一般我都用IMP,然后直接删除表空间。
      

  5.   

    不要轻易删除表空间,添加可以但是删除就麻烦了,最好备份然后重建,因为oracle会自动平衡各个表空间的使用率,所以即便是添加不久的数据文件里面也肯定写了数据,仅仅通过使其offline,然后再删除它,这个文件里面的数据肯定就没有了