环境是这样的:
oracle9i,安装时安装目录选的c盘,数据文件放在d盘oracledata下。然后重新做了系统到c盘,现在只有d盘的数据文件了。oracledata下有ora和dbf文件。ora中的表空间有带坐标(地理坐标的空间表)的表。
求怎样恢复,初入茅庐,求9

解决方案 »

  1.   

    应该还有救,只要你记得当初的SID
      

  2.   

    按以前的样子重建数据库,再把oracledata文件夹的内容拷过去试试。
      

  3.   

    www.anysql.net
    可以做恢复
      

  4.   

    www.sosdb.com 
    专业的数据库恢复
      

  5.   

    直接复制过去的这种方法我试过,不行。oracledata文件夹只有ora和dbf文件,没有控制文件和redolog文件。
      

  6.   

    你是在数据库完全停下的情况下重做的系统吗?
    当时具体的情况是怎样的? 或许我可以帮下你但是可以肯定的是,的确还有救,最坏的情况是可以找Oracle的人修复,但他们收费很高的
    当然也有高手自己有工具可以修复,免费基本不可能
      

  7.   

    情况是这样的:
    安装时是这样的:安装目录选的c:/oracle/
                  数据文件存放路径d:/oracledata/
    查看安装的oracle发现c:/oracle/oradata/下有控制文件和redolog文件,而d:/oracledata/下有ora和dbf文件(其中有要恢复的文件cqyt.ora)
    现在格式化c盘进行重新安装系统,现在只有d:/oracledata/的ora和dbf文件了,怎样恢复我的cqyt的表空间啊
      

  8.   

    你的datafile 是否是一致的?
    如果是一致的,或者不一致,但是有归档日志,应该可以恢复的。
    1.恢复一个spfile 出来
    2.参照下面create controlfile 的格式,根据自己的数据库情况,来写一个create controlfile 的sql。
    --crt_ctl.sql
    CREATE CONTROLFILE REUSE DATABASE "TEST" RESETLOGS  NOARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 3
        MAXDATAFILES 100
        MAXINSTANCES 8
        MAXLOGHISTORY 292
    LOGFILE
      GROUP 1 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO01.LOG'  SIZE 50M,
      GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO02.LOG'  SIZE 50M,
      GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO03.LOG'  SIZE 50M
    -- STANDBY LOGFILE
    DATAFILE
      'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF',
      'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.DBF',
      'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAUX01.DBF',
      'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF',
      'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\EXAMPLE01.DBF'
    CHARACTER SET ZHS16GBK
    ;3.然后创建控制文件
    startup nomount
    @crt_ctl.sql4. recover database;
    alter  database open  resetlogs;