ln -s 是操作系统的命令,虽然路径在操作系统里改了,但oracle数据字典里的记录的文件路径没有改,所以不能起动...

解决方案 »

  1.   

    数据文件迁移
    14:37:23 SQL> create tablespace tsp_u01 datafile 'C:\oracle\oradata\tsp_u01.dbf' size 10M
    14:38:52   2  autoextend on next 5M maxsize unlimited;表空间已创建。已用时间:  00: 00: 01.31
    14:40:16 SQL> select tablespace_name,status from dba_tablespaces;TABLESPACE_NAME                STATUS
    ------------------------------ ---------
    SYSTEM                         ONLINE
    RBS                            ONLINE
    USERS                          ONLINE
    TEMP                           ONLINE
    TOOLS                          ONLINE
    INDX                           ONLINE
    SFMIS                          ONLINE
    ZBMIS                          ONLINE
    HBMIS                          ONLINE
    HBXNMIS                        ONLINE
    OEM_REPOSITORY                 ONLINETABLESPACE_NAME                STATUS
    ------------------------------ ---------
    TSP_U01                        ONLINE已选择12行。已用时间:  00: 00: 00.63
    14:40:38 SQL> alter tablespace tsp_u01 offline;表空间已更改。已用时间:  00: 00: 00.38
    14:41:05 SQL> select tablespace_name,status from dba_tablespaces where tablespace_name='TSP_U01';TABLESPACE_NAME                STATUS
    ------------------------------ ---------
    TSP_U01                        OFFLINE已用时间:  00: 00: 00.16
    14:41:26 SQL> alter tablespace tsp_u01 rename datafile 'C:\oracle\oradata\tsp_u01.dbf'
    14:43:00   2  to 'C:\oracle\oradata\oral\tsp_u01.dbf';表空间已更改。已用时间:  00: 00: 00.63
    14:43:32 SQL> alter tablespace tsp_u01 online;表空间已更改。已用时间:  00: 00: 00.81
    14:43:45 SQL> select tablespace_name,status from dba_tablespaces where tablespace_name='TSP_U01';TABLESPACE_NAME                STATUS
    ------------------------------ ---------
    TSP_U01                        ONLINE已用时间:  00: 00: 00.15
    14:45:35 SQL> drop tablespace tsp_u01 including contents cascade constraints;表空间已丢弃。已用时间:  00: 00: 00.28
    14:45:43 SQL>
      

  2.   

    如果其他方法试过了不行的话,这样试试:1.关闭数据库
    2.startup mount;
    3.alter database rename datafile 'xxxx' to 'yyyy';
    4.alter database open;
      

  3.   

    操作步骤:
    conn / as sysdba
    startup mount;
    alter database datafile 'c:\...xxx.dbf' offline drop;
    alter database open;
    alter tablespace xxx rename datafile 'c:\...xxx.dbf' to 'd:\...xxx.dbf';
    alter database datafile 'd:\...xxx.dbf' online;OK!
      

  4.   

    不行呀.都没有startup,哪里能查询呀.
      

  5.   

    因为磁盘空间不够,已不是修改请数据能解决,redo ,system,undo三个表数据我拷贝到另一磁盘后.
    再用 ln -s /hdc1 /oracle/u02/oradata/test04 
    这样把现在的磁盘/hdc1指到原先目录下:/oracle/u02/oradata/test04 
    目录还是相同的.
      

  6.   

    现在问题找到了,我拷贝时丢了一个文件,那个文件取名取得很是TMD,名字叫: .dbf;现在服务器不能启动ORACLE了,怎么办??
      

  7.   

    出现两个错误: 
    ORA-01157: cannot identify/lock data file 24 - see DBWR trace file; 
    ORA-01110: data file 24 : '/oracle/u02/oradata/test04/.dbf' 
      

  8.   

    最后解决方法:
    SVRMGR> connect internal
    SVRMGR> startup mount
    SVRMGR> alter database create datafile 'c:\test.ora';
    SVRMGR> set autorecovery on
    SVRMGR> recover datafile 'c:\test.ora';
    SVRMGR> alter database open;http://www.infosecurity.org.cn/article/dbsec/mix/23300.html