ALTER DATABASE 
    RENAME FILE 'C:\CLUB_DATA\CLUB_DATA.DBF' TO 
    'D:\CLUB_DATA\CLUB_DATA.DBF'

解决方案 »

  1.   

    重新创建控制文件,要同步保证控制能找到数据文件
    STARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "demo" NORESETLOGS NOARCHIVELOG
        MAXLOGFILES 32
        MAXLOGMEMBERS 2
        MAXDATAFILES 32
        MAXINSTANCES 1
        MAXLOGHISTORY 449
    LOGFILE
      GROUP 1 '/path/oracle/dbs/t_log1.f'  SIZE 500K,
      GROUP 2 '/path/oracle/dbs/t_log2.f'  SIZE 500K
    # STANDBY LOGFILE
    DATAFILE
      'd:\oracle\oradata\main\system01.dbf',
      '/path/oracle/dbs/t_db1.f',
      '/path/oracle/dbs/dbu19i.dbf',
      '/path/oracle/dbs/tbs_11.f',
      '/path/oracle/dbs/smundo.dbf',
      '/path/oracle/dbs/demo.dbf'
    CHARACTER SET WE8DEC
    ;
      

  2.   

    首先得保证表空间必须离线,然后将准备移动的表空间文件复制到新的位置(为了安全先不要剪切),然后执行:
    ALTER TABLESPACE yourtablespacename RENAME
    DATAFILE 'c:\oracle\oradata\main\system01.dbf'
    TO 'd:\oracle\oradata\main\system01.dbf';
      

  3.   

    楼上的方法适用于非system表空间可以startup mount
    然后alter database (见牧师)