首页 电脑 电脑学堂 查看内容

Oracle rman备份异机恢复

2011-7-22 11:47 576 0

摘要:   一、 实验环境  db_A:192.168.0.3        db_B:192.168.0.4  db_A为生产数据库,d...
关键词: rman database nbsp oradata archive rsync db expect 备份 ORACLE

  一、 实验环境  db_A:192.168.0.3        db_B:192.168.0.4  db_A为生产数据库,db_B为后备(不运行);两个数据库的环境完全一样。  二、操作  1.db_A的操作  在db_A上进行rman的0级备份  $rman target /  RMAN>backup incremental level=0 database format='/oradata/back/%u';  添加计划任务执行以下脚本:  ---------------------------------------------------------------------  db_rsync.sh  #!/bin/sh  #keep tow db Synchronous  ORACLE_HOME=/oracle/app/oracle/product/10.2.0/db_1  bak_dir=/oradata/back  archive_dir=/oradata/arch  [email protected]  passwd=ufsoft  ls -l $bak_dir | awk '{print $NF}'|sed '1d'>list1  ls -l $archive_dir | awk '{print $NF}'|sed '1d'>list2  Rsync_exec1(){  expect -c "  set timeout 7200;  spawn rsync -rpogtv --files-from=list1  $bak_dir $dest_db:$bak_dir  expect {  \"*yes/no*\" {send \"yes \";exp_continue}  \"*password*\" {send \"$passwd \";}  }  expect eof;"  Rsync_exec2(){  expect -c "  set timeout 7200;  spawn rsync -rpogtv  --files-from=list2 $archive_dir $dest_db:$archive_dir  expect {  \"*password*\" {send \"$passwd \";}  }  expect eof;"  }  Rsync_exec1  Rsync_exec2  rm -f list1 list2  ---------------------------------------------------------------------  2.db_B的操作  $ echo "db_name=ora10g">$ORACLE_HOME/dbs/initora10g.ora  $ sqlplus / as sysdba  SQL> startup nomount  $ls /oradata/back #查看从db_A上传过来的备份文件,其中大小比较小的为参数文件和控制文件的备份,最大的为数据文件的备份。可以在db_A上执行“RMAN>list backup;”查看。  0fmhsg4r  0gmhsg5k  $rman target /  RMAN> restore spfile from '/oradata/back/0gmhsg5k';  RMAN> startup nomount force;  RMAN> restore controlfile from '/oradata/back/0gmhsg5k';  RMAN> alter database mount;  RMAN> restore database;  RMAN> recover database;#会报错,但不要紧,我们只需要得到thread和sequence号就行  Starting recover at 20-JUL-11  using channel ORA_DISK_1  starting media recovery  unable to find archive log  archive log thread=1 sequence=1  RMAN-00571: ===========================================================  RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============  RMAN-00571: ===========================================================  RMAN-03002: failure of recover command at 07/20/2011 01:33:58  RMAN-06054: media recovery requesting unknown log: thread 1 seq 1 lowscn 484679  RMAN> run {  2> set until sequence 1 thread 1;  3> recover database;  4> }  RMAN> alter database open resetlogs;  至此数据库已经正常运行。  RMAN> delete noprompt backup;  RMAN> backup incremental level=0 database format='/oradata/back/%u';  此实验就是为了不用dateguard而能够做到灾备的效果。  注意:这样做会产生的问题:用sys从PL/SQL登陆时提示权限不足
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部