急!
今天,服务器崩了!重新在服务器上装了oracle 9i,在E:\ora90下
而以前的数据库是装在d:\ora90下,与今天装的目标不一样。幸好,我前天有把全部数据进行冷备份。请问,我要把数据库还原回去,我应该怎么做,急死人了。请高手指点,并100分相送!

解决方案 »

  1.   

    你重新安装的db_name和sid和以前一样吗?控制文件和联机日志有备份吗?如果都一样,那还原是比较方便的,目录不同的话只需要在mount状态下将数据文件重命名,否则可能会比较麻烦了,需要重新生成控制文件和联机日志
      

  2.   

    1、添加环境变量 ORACLE_SID = 你的SID   
    2、把数据文件、控制文件、重做日志方回到原来的地方。参数文件放哪儿到不重要。
    3、使用oradim创建服务。
       C:\>oradim.exe -new  -sid ORCL -startmode m
       C:\>oradim.exe -edit  -sid ORCL -startmode a 
    4、创建口令文件。
       C:\>orapwd.exe file=D:\ora90\database\PWDorcl.ora password=change_on_install
    5、启动数据库
       C:\>sqlplus "/ as sysdba"
       SQL>startup pfile = '参数文件的位置';
    6、重新创建spfile
       SQL>create spfile from pfile = '参数文件的位置';
    7、Over.
      

  3.   

    TO:space6212() 
    db_name和sid和以前的不一样
      

  4.   

    冷备恢复,sid不一样怎么行。你需要重新创建一个服务,名字和以前的sid一样。
      

  5.   

    按照我给的方法不行吗?哦,创建服务里的ORCL应该是你的数据库的sid
      

  6.   

    to:xinpingf(白开心)我没有试成功!
    我的sid与原来的不一样,
    路径也不一样。
    但是,还是非常感谢你。
    你确认可以吗?
      

  7.   

    路径也不一样
    ---------------
    那就要
    > connect system/manager as sysdba
    > startup mount
    > alter database rename file '/disk1/../user.dbf' to '/disk2/../user.dbf';
    > alter database open;
      

  8.   

    、添加环境变量 ORACLE_SID = 你的SID   
    2、把数据文件、控制文件、重做日志方回到原来的地方。参数文件放哪儿到不重要。
    3、使用oradim创建服务。
       C:\>oradim.exe -new  -sid ORCL inipwd oracle -startmode m -pfile '参数文件的位置'
    4、启动数据库
       C:\>sqlplus "/ as sysdba"
       SQL>startup pfile = '参数文件的位置';
    5、重新创建spfile
       SQL>create spfile from pfile = '参数文件的位置';
    6、Over.