现在得到一些文件,说是oracle8热备份出来的文件,现在需要吧数据恢复出来。
文件有:
inithp.oraHPT001S01559.ARCCONTROL01.CTL
CONTROL02.CTLDR01.DBF
INDX01.DBF
OEMREP01.DBF
RBS01.DBF
SYSTEM01.DBF
TEMP01.DBF
TOOLS01.DBF
USERS01.DBF
DATA_HP.DBF---应该就是需要恢复这个里面的数据现在不知道该怎么办了,通过这些文件能恢复出来吗,查了些资料说是先新建一个然后再把这些文件覆盖上去就可以了,试了下会出错。
各位熟悉的指点下~ 先谢谢了。

解决方案 »

  1.   

    选用和原服务器一样的机子,装上同样的操作系统和Oracle服务器版本,使用rman方法使之online。
      

  2.   

    出什么错啊,如果只是简单的COPY出来,再COPY进去的话,我遇到的出错情况基本上是密码、启动文件不正确,只要重新做一下密码、启动文件就能用了。
    因为你新建了数据库后密码和原来的不一样,启动文件-inithp.ora也和原来不一样,另外,你建新库时要注意尽量设置得跟原来的一摸一样。我的环境是Windows2003+SP2 Oracle9i(9.2.0.1),做的冷备份(就是拷贝出来、新建库后再拷贝进去)。
      

  3.   

    谢谢了 能不能具体说说啊 oracle基本没弄过~
      

  4.   

    看一下:http://www.cnblogs.com/zcx2001/archive/2008/09/08/1286502.html
      

  5.   

    其实里面最重要的是数据,你先先.dbf文件所有的数据都用exp导出来
    然后装好另外一台机,再把导出来的数据imp进入这些最好你先用一台机测试导数据,测试成功后,再进行实际转移
      

  6.   

    lz得到的文件是用 备份软件备份出来的吧?
    同意2楼的观点,
    想恢复里面的数据,大概过程如下:
    你需要利用原来的建库脚本.
    先建立一个库,把同样的表空间都建立起来,
    再把你存下来的这些文件备份覆盖到相应的位置上去.
    最后再启动数据库.
    如果你是unix操作系统,覆盖后记得要修改文件权限到oracle组.这是我做过的一个数据迁移的案例,你可以以这种方式尝试.不同的是你需要重建一个oracle,
    我是在9i上做的, 你可先别动归挡模式:
    你还需重建连接oracle的密码,具体可google下.数据库文件的迁移  
     
    1、拷贝数据文件到盘阵
     SQL>shutdown immediate;
     cp /opt/app/oracle/oradata/fjkdsw/redo01.log      /mnt/kdsw/redofile/redo01.log
     cp /opt/app/oracle/oradata/fjkdsw/redo02.log      /mnt/kdsw/redofile/redo02.log
     cp /opt/app/oracle/oradata/fjkdsw/redo03.log      /mnt/kdsw/redofile/redo03.log
     cp /opt/app/oracle/oradata/fjkdsw/system01.dbf    /mnt/kdsw/datafile/system01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/undotbs01.dbf   /mnt/kdsw/datafile/undotbs01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/cwmlite01.dbf   /mnt/kdsw/datafile/cwmlite01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/drsys01.dbf     /mnt/kdsw/datafile/drsys01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/example01.dbf   /mnt/kdsw/datafile/example01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/indx01.dbf      /mnt/kdsw/datafile/indx01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/tools01.dbf     /mnt/kdsw/datafile/tools01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/users01.dbf     /mnt/kdsw/datafile/users01.dbf
     cp /oradata/statindex01.dbf                       /mnt/kdsw/datafile/statindex01.dbf
     cp /oradata/statdata01.dbf                        /mnt/kdsw/datafile/statdata01.dbf
     cp /oradata/statdata02.dbf                        /mnt/kdsw/datafile/statdata02.dbf
     cp /opt/app/oracle/oradata/blues/page00db2.dbf    /mnt/kdsw/datafile/page00db2.dbf
     cp /opt/app/oracle/oradata/blues/page000db2.dbf   /mnt/kdsw/datafile/page000db2.dbf
     cp /opt/app/oracle/oradata/blues/pagerbs0.dbf     /mnt/kdsw/datafile/pagerbs0.dbf
     cp /opt/app/oracle/oradata/harmony.dbf            /mnt/kdsw/datafile/harmony.dbf
     cp /opt/app/oracle/oradata/rap01.dbf              /mnt/kdsw/datafile/rap01.dbf
     cp /oradata/system02.dbf                          /mnt/kdsw/datafile/system02.dbf
    2、拷贝控制文件到盘阵
     cp /opt/app/oracle/oradata/fjkdsw/control01.ctl /mnt/kdsw/controlfile/control01.ctl
     cp /opt/app/oracle/oradata/fjkdsw/control02.ctl /mnt/kdsw/controlfile/control02.ctl
     cp /opt/app/oracle/oradata/fjkdsw/control03.ctl /mnt/kdsw/controlfile/control03.ctl
    3、更改控制文件路径
    bash-2.05$ sqlplus " / as sysdba"
    SQL*Plus: Release 9.2.0.1.0 - Production on Wed May 23 14:34:10 2007
    Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
    Connected to an idle instance.
    SQL> create pfile='./init.ora' from spfile='./spfilefjkdsw.ora';
    SQL>shutdown
    修改/opt/app/oracle/product/9.2.0/dbs/init.ora 中控制文件路径为盘阵存放控制文件的路径
    SQL>create spfile='./spfilefjkdsw.ora' from pfile='./init.ora';  
    SQl>startup mount;
    4、更改数据文件的路径为盘阵路径
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/redo01.log'    to '/mnt/kdsw/redofile/redo01.log';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/redo02.log'    to '/mnt/kdsw/redofile/redo02.log';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/redo03.log'    to '/mnt/kdsw/redofile/redo03.log';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/system01.dbf'  to '/mnt/kdsw/datafile/system01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/undotbs01.dbf' to '/mnt/kdsw/datafile/undotbs01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/cwmlite01.dbf' to '/mnt/kdsw/datafile/cwmlite01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/drsys01.dbf'   to '/mnt/kdsw/datafile/drsys01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/example01.dbf' to '/mnt/kdsw/datafile/example01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/indx01.dbf'    to '/mnt/kdsw/datafile/indx01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/tools01.dbf'   to '/mnt/kdsw/datafile/tools01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/users01.dbf'   to '/mnt/kdsw/datafile/users01.dbf';
    alter database rename file '/oradata/statindex01.dbf'                     to '/mnt/kdsw/datafile/statindex01.dbf';
    alter database rename file '/oradata/statdata01.dbf'                      to '/mnt/kdsw/datafile/statdata01.dbf';
    alter database rename file '/oradata/statdata02.dbf'                      to '/mnt/kdsw/datafile/statdata02.dbf';
    alter database rename file '/opt/app/oracle/oradata/blues/page00db2.dbf'  to '/mnt/kdsw/datafile/page00db2.dbf';
    alter database rename file '/opt/app/oracle/oradata/blues/page000db2.dbf' to '/mnt/kdsw/datafile/page000db2.dbf';
    alter database rename file '/opt/app/oracle/oradata/blues/pagerbs0.dbf'   to '/mnt/kdsw/datafile/pagerbs0.dbf';
    alter database rename file '/opt/app/oracle/oradata/harmony.dbf'          to '/mnt/kdsw/datafile/harmony.dbf';
    alter database rename file '/opt/app/oracle/oradata/rap01.dbf'            to '/mnt/kdsw/datafile/rap01.dbf';
    alter database rename file '/oradata/system02.dbf'                        to '/mnt/kdsw/datafile/system02.dbf';
    5、更改临时文件路径
    bash-2.05$ cp /opt/app/oracle/oradata/fjkdsw/temp01.dbf /opt/app/oracle/oradata/fjkdsw/temp01.dbf.old
    bash-2.05$ cp /opt/app/oracle/oradata/blues/PAGETEMP0.dbf /opt/app/oracle/oradata/blues/PAGETEMP0.dbf.old
    bash-2.05$ cp /opt/app/oracle/oradata/raptemp01.dbf /opt/app/oracle/oradata/raptemp01.dbf.old
    SQL> alter database tempfile '/opt/app/oracle/oradata/fjkdsw/temp01.dbf' drop;  
    SQL> alter database tempfile '/opt/app/oracle/oradata/blues/PAGETEMP0.dbf' drop;  
    SQL> alter database tempfile '/opt/app/oracle/oradata/raptemp01.dbf' drop;   
    SQL>alter database open;
    SQL> alter tablespace TEMP add tempfile '/mnt/kdsw/datafile/temp01.dbf' size 8196M reuse; 
    SQL> alter tablespace RAPTEMP add tempfile '/mnt/kdsw/datafile/PAGETEMP0.dbf' size 3096M reuse;
    SQL> alter tablespace PAGETEMP0 add tempfile '/mnt/kdsw/datafile/raptemp01.dbf' size 3096M reuse;
    6、修改归档路径
     SQL> alter system set log_archive_dest_1='LOCATION=/mnt/kdsw/archive' scope=both;
    System altered.
    SQL> archive log list;
    Database log mode              Archive Mode
    Automatic archival             Disabled
    Archive destination            /mnt/kdsw/archive
    Oldest online log sequence     124
    Next log sequence to archive   126
    Current log sequence           126
     
      

  7.   

    谢谢大家,我现在这样做的,建立一个同名的数据库,然后shutdown,把所有的参数文件、控制文件、数据文件、redo-log文件复制到在..\oracle\oradata\yoursid\..目录和..\oracle\admin\yoursid\..,重新启动就行了。还是报oracle不可用。搞不明白了。
      

  8.   

    把备份复制进去后 再打开数据库 可以登录 就是里面的功能都点不了了 ,都说”oracle不可用“ 
      

  9.   

    使用net configuration assistant配置一下本地服务名的连接串,主机名使用本机的IP地址。
    测试成功后,再使用一下sqlplus:conn 用户名/密码@连接串,试试。
      

  10.   

    这里看不到错误的,需要看 alert.log
    位置在
    注: alert 文件位置
    unix下在:$ORACLE_BASE/admin/sid/bdump下   
     windows:%ORACLE_BASE%/admin/sid/bdump下   把里面的内容贴出来看下