在装系统时,用户不小心吧数据库格式化了,但oradata文件还留在,现在重新安装了数据库,是否可以把oradata中的数据还原回去 .

解决方案 »

  1.   

    如果之前数据库是非归档模式或没有完整的备份那就没有办法了(尤其是你的datafile不光是放在了
    oradata下或丢失控制文件的的时候)
    如果之前配置在归档模式下且有完整的备份(init.ora,controlfile,datafile,
    logfile&&archivedlogfile)
    那么重新安装把这写文件替换掉就能完全恢复
    如果没有online redo log那么就只能执行不完全恢复,也会丢数据
      

  2.   

    oracle文件夹下面三个文件都还在
    admin,ora81,oradata这三个文件都完整,是否可以直接覆盖回去,
    如果这样不行,是否有其他办法可以恢复呢.谢谢
      

  3.   

    主要oradata完整,重新安装oracle数据库之后(要求实例名等信息一致)直接覆盖即可。
    如果损坏的当时数据库没有正常关闭,可能会启动失败,还需要在nomount状态下重建控制文件。
      

  4.   

    新建实例,目录结构一样,copy原文件就可以了
      

  5.   

    如果datafile,control file ,online log file都在并且一致,没有问题windows系统,装好oracle软件,不用建起始数据库。使用oradim -new -sid 原来的sid 命令建立新的instance,名字和原来的一样在$ORACLE_HOME\database目录下放上原来的spfile文件,如果没有了,也可以编辑一个pfile,文件名为initSID.ora,其中SID为原来的SID名,里面的内容和原来的设置一样如果password file没有了,利用orapwd重新建一个启动sqlplus,用sys as sysdba身份登陆startup启动数据库,搞定
      

  6.   

    现在存在的文件例表如下:
    CONTROL01.CTL
    CONTROL02.CTL
    CONTROL03.CTL
    DR01.DBF
    INDX01.DBF
    RBS01.DBF
    REDO01.LOG
    REDO02.LOG
    REDO03.LOG
    SYSTEM01.DBF
    TEMP01.DBF
    TOOLS01.DBF
    USERS01.DBF                    数据大小
    XDOCMAN01.ORA                    512M
    XDOCMAN02.ORA                    1G 
    XINDEX.ORA                       
    XINDEX01.ORA
    XPAGE01.ORA                      2G   
    XPAGE02.ORA                      2G 
    现在我必须把里面的数据读取出来,Oracle数据库我不是很厉害,请大家指点。谢谢。
      

  7.   

    你的可以恢复,因为数据库文件控制文件没有损坏啊找个DBA问问!