以前的datafiles,control files等都在,我重装了winnt,oracle,新建了个与以前同样的数据库实例,然后用恢复了所有datafiles,但oracle依然无法正常启动
请问,如何操作?因为没有备份,数据库运行在nonarchivelog方式,所以有没有可能恢复到原来的模杨winnt4.0+oracle8.0.5

解决方案 »

  1.   

    先安装原来版本的数据库(注意,目录要和原来的一致,且设置也要一样),停止数据库服务
    把datafiles,control files,log files等copy回原来的目录,
    再重新启动数据库服务,这样就可以了
      

  2.   

    orapwd 重建一个密码文件吧!只目录一至,dbf,log,clt文件一个不少的话!!
      

  3.   

    目录是绝对一致,我试试orapwd
      

  4.   

    条件:1.平台不变;2.数据库版本不变;3.手头的数据库文件必须是完全关闭或是立即关闭数据库后的文件,不能是使用ABORT选项关闭数据库后的文件的。注意,关闭服务(SERVICE)其实是用ABORT选项关闭的。满足以上条件的情况下,只需要数据文件,初始化参数文件,联机日志文件以生成控制文件,口令文件可用以前的,也可重新生成。
    拷贝以上文件到一指定目录下,注意,如果与原目录不一样,需要修改初始化参数文件中的相关参数,尤其要注意control_file参数,必须正确。安装好平台和数据库后,保证相关实例的服务已经启动,否则,使用Oradim创建实例,并启动该服务。登录到具有SYSDBA角色的用户,然后再NOMOUNT状态下,重新创建控制文件(仅是例子,具体语句请参看Oracle Document):
    svrmgrl>startup pfile=<init.ora> nomount;
    svrmgrl>create controlfile set database <db_name> reuse
             log file group 1 ('log_file1a','log_file1b') size 1M,
                      group 2 ('log_file2a','log_file2b') size 2M
             resetlogs
              data file 'sysorcl.ora',
                          'usrorcl.ora',
                          'rbsorcl.ora',
                          'tmporcl.ora'
              character set zh16cgb231280;
    svrmgrl>alter database open resetlogs;
    svrmgrl>shutdown;
    --必须进行全数据库备份。
      

  5.   


      由于是病毒导致机器瘫痪,具体当时怎样,客户坚决说是正常关机;我认为,如果时nonarchivelog方式运行,非正常退出(死机,或reboot),datafiles是废物一个;但客户没备份过,希望恢复他们的数据,所以只好一试;我将原来oracle目录,数据文件及相关文件都先备份了一遍;然后装nt,oracle,重新建了个
    和原来一样的数据库,可以正常启动;然后我将旧的数据文件,control files等覆盖掉新建立的,数据库unavailable,报1403svrmgrl进步去,说是tns没配好;net8\admin下的东西也是用旧的;
      

  6.   

    只要装同样的实例(如ORCL),把以前的ORCL目录覆盖回来就可以了
    其他目录用新的。
      

  7.   

    错误代码及原因如下:ORA-01403 no data foundCause: In a host language program, all records have been fetched. The return code from 
    the fetch was +4, indicating that all records have been returned from the SQL query. Action: Terminate processing for the SELECT statement. 
     
    TNS-01403 Load: stringCause: Listener logging message.Action: No action required.