设为首页 收藏本站
查看: 646|回复: 0

[经验分享] Oracle rman备份异机恢复

[复制链接]

尚未签到

发表于 2018-9-23 09:45:43 | 显示全部楼层 |阅读模式
  一、 实验环境
  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
  dest_db=oracle@192.168.0.4
  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\r\";exp_continue}
  \"*password*\" {send \"$passwd\r\";}
  }
  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\r\";}
  }
  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>>  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>>  至此数据库已经正常运行。
  RMAN> delete noprompt backup;
  RMAN> backup incremental level=0 database format='/oradata/back/%u';
  此实验就是为了不用dateguard而能够做到灾备的效果。
  注意:这样做会产生的问题:用sys从PL/SQL登陆时提示权限不足



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-600155-1-1.html 上篇帖子: 关于Oracle for Linux sqlplus 的乱码问题 下篇帖子: Oracle rman备份异机恢复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表