有A、B两台Oracle服务器(oracle10g)其中A机有联机热备的全备份(数据文件、控制文件和日志文件)和每天的归档日志备份请问如果要在B机上恢复出A机中的数据,需要哪些备份文档?如何操作?谢谢!!!

解决方案 »

  1.   

    你说的是rman备份吧,去看rman的资料啊,几句话可说不清
      

  2.   

    oracle rman备份恢复参考例子:http://wenku.baidu.com/view/b3034e68011ca300a6c39037.html
      

  3.   


    谢谢,但是我不是用的RMAN(Oracle管理的热备份),而是用户管理的热备份
      

  4.   


    好像不是这么简单吧,文件拷贝过去后,需要用recover等命令做恢复,比如将归档日志一个个恢复进去,等等
      

  5.   

    在 B 上创建与 A 相同路径的目录,分别将数据文件,日志文件分别复制到这些目录;其中,控制文件可以复制到其他目录。修改 B 上 oracle 实例的文本参数文件,
    对于 linux 默认为 $ORACLE_HOME\dbs\initORACLE_SID.ora
    对于 windows 默认为 %ORACLE_HOME%\database\initORACLE_SID.ora设置数据库名(与 A 一致),控制文件和快速恢复区域,如
    db_name = 'test'
    db_domain = ''
    db_recovery_file_dest = '$ORACLE_BASE\flash_recovery_area'
    db_recovery_file_dest_size = 4G
    control_files = ($ORACLE_BASE\oradata\test\control01.ctl,
                     $ORACLE_BASE\flash_recovery_area\test\control02.ctl)将控制文件复制到 control_files 参数指定的位置,
    将归档日志文件复制到 $ORACLE_BASE\flash_recovery_area\test\archivelog 目录下。如果使用密码文件验证,需要将该文件复制到 $ORACLE_HOME\dbs(linux) 或 %ORACLE_HOME%\database (windows) 目录下。密码文件对于 linux 默认为 orapwORACLE_SID,对于 windows 默认为 pwd[i]ORACLE_SID[/i启动 oracle 实例,并安装数据库(startup mount);
    执行媒体恢复(recover database);
    打开数据库(alter database open;)。注意,$ORACLE_BASE 为 LINUX 下的环境变量,与之对应的 WINDOWS 下的环境变量为 %ORACLE_BASE%。以上只是大概的步骤,有些地方需要根据实际情况进行修改,如数据库名,归档日志文件所在的目录名等。并且有些地方需要处理一下,如,如何创建文本参数文件,如果将文本参数文件转换为服务参数文件等。
      

  6.   

    用户管理的备份和还原操作不支持增量备份,这个需要 RMAN。
      

  7.   

    手工备份,
    冷备份还比较简单。就是关闭数据库,备份数据文件,控制文件,redo文件(或者不备,直接resetlogs)。如果是热备就比较麻烦了,
    需要对每个表空间运行命令alter tablespace begin backup;
    然后备份数据文件,
    alter tablespace end backup
    最后备份控制文件,归档文件,redo文件,所以如果是热备还是用rman比较好
      

  8.   


    好像将A库的控制文件覆盖B库的控制文件后,B库做任何操作都报错:
    ORA-00600: internal error code, arguments: [2141], [2081714236], [2080846071],
    [], [], [], [], []A库和B库的所有环境一模一样
    唯一的区别是:A库是32位操作系统、32位数据库;B库是64位操作系统、64位数据库
      

  9.   


    呵呵,好像Oracle10g 中,不需要每个表空间都这样做,只需将对数据库操作一次即可
    alter database begin backup
    ......
    alter database end backup
      

  10.   

    如果没有覆盖控制文件,只覆盖数据文件和日志文件,恢复的时候报错如下:
    SQL> recover database
    ORA-00283: recovery session canceled due to errors
    ORA-01122: database file 1 failed verification check
    ORA-01110: data file 1: '/home/oracle/ora10/oradata/gateway/system01.dbf'
    ORA-01207: file is more recent than control file - old control file
      

  11.   

    要覆盖全部文件啊,然后recover database
      

  12.   


    这个需要在 b 上重新创建控制文件(create control),数据文件应该不受影响。