我oracle10g安装在win2003服务器上面,在d盘建立表空间,建了好几个数据文件。其中T_ADD114_3.DBF增长比较快,而且所有的数据文件已经将D盘的60G全部占据完了,win系统老报磁盘空间不足。我如何做才可以将其中的数据库文件T_ADD114_3.DBF移动到E盘呢,这样d盘就有20G的空间了。

解决方案 »

  1.   

    以把文件“C:\ORA8\ORADATA\ORACLE\USERS01.DBF”移动到“D:\ORADATA\USERS01.DBF”为例介绍,要移动其它文件,请安相同的方法(根据实际情况修改文件路径和名称)操作即可。<1> 首先让所有的用户停止连接该数据库,关闭数据库。在命令行窗口中输入:
    C:\sqlplus /nolog(回车)
    SQL> connect /as sysdba(回车)
    SQL>shutdown immediate(回车)
    #等待数据库提示关闭
    SQL>exit<2> 从“C:\ORA8\ORADATA\ORACLE\”目录下找到文件“USERS01.DBF”,然后复制到目录“D:\ORADATA\”下面。如果移动多个文件,重复该步骤。<3> 进入命令窗口,按以下内容输入:
    C:\sqlplus /nolog(回车)
    SQL> connect /as sysdba(回车)
    SQL>startup mount(回车)
    #等待数据库提示装载成功
    SQL>alter database rename file 'C:\ORA8\ORADATA\ORACLE\USERS01.DBF' to 'D:\ORADATA\USERS01.DBF';
    #提示语句已处理后,如果要移动多个文件,修改文件路径和名称后重复执行上面的语句。完成后打开数据库。
    SQL>alter database open;
    SQL>exit
    数据库文件移动成功。
      

  2.   

    在其他的磁盘上增加数据文件也可以缓解D盘的空间压力
    不过楼主如果想在D盘腾出来20个G
    那么就需要移动数据文件了呀
      

  3.   

    一、先将相应的表空间 offline
    二、把数据文件 copy 到新位置
    三、alter tablespace xxx  rename datafile xxx to
    四、将相应的表空间 online