博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle通过SCN做增量备份修复DG
阅读量:6825 次
发布时间:2019-06-26

本文共 2156 字,大约阅读时间需要 7 分钟。

  DG由于网络原因或者bug原因经常不同步,有时隔得时间久了,就会丢失归档日志,或者长时间的归档恢复较慢,有一种可以基于scn的方式来恢复DG库,使用基于scn的增量备份来恢复standby库可以节省大量时间,或者进行dg异常的重新同步。

  1,查询主库和备库的scn,redo号等信息,选取合适的scn号进行主库的备份

--查询DG端最低的scn,以下查询结果应该相同 select to_char(current_scn) scn from v$database; select min(fhscn) from x$kcvfh; select distinct to_char(checkpoint_change#) from v$datafile_header order by 1; --以归档日志查询相关scn select THREAD#,min(sequence#) from v$archived_log where applied='NO' group by THREAD#;   select THREAD#,max(sequence#) from v$archived_log where applied='NO' group by THREAD#;  SELECT thread#,SEQUENCE#,to_char(FIRST_CHANGE#) fc,to_char(NEXT_CHANGE#) nc FROM v$archived_log WHERE SEQUENCE# = 32995 ORDER BY 1,2;

  2,主库端基于scn的增量备份

RMAN> BACKUP INCREMENTAL FROM SCN 
DATABASE FORMAT '/tmp/ForStandby_%U' tag 'FORSTANDBY'--or backup device type disk incremental from scn 11125946510 database format'/home/oracle/db_incre%U.bbk'; --orrun {allocate channel t1 type 'sbt_tape' parms 'ENV=(NB_ORA_CLIENT=bossb1)';allocate channel t2 type 'sbt_tape' parms 'ENV=(NB_ORA_CLIENT=bossb1)';allocate channel t3 type 'sbt_tape' parms 'ENV=(NB_ORA_CLIENT=bossb1)';allocate channel t4 type 'sbt_tape' parms 'ENV=(NB_ORA_CLIENT=bossb1)';allocate channel t5 type 'sbt_tape' parms 'ENV=(NB_ORA_CLIENT=bossb1)';allocate channel t6 type 'sbt_tape' parms 'ENV=(NB_ORA_CLIENT=bossb1)';allocate channel t7 type 'sbt_tape' parms 'ENV=(NB_ORA_CLIENT=bossb1)';allocate channel t8 type 'sbt_tape' parms 'ENV=(NB_ORA_CLIENT=bossb1)';backup incremental from scn 12844051683640 database format 'forstandby_%u' tag 'forstandby';backup current controlfile for standby format 'forstandbyctrl.bck' tag 'forstandby_cnt'; release channel t1; release channel t2; release channel t3; release channel t4; release channel t5; release channel t6; release channel t7; release channel t8;}  ALTER DATABASE CREATE standby controlfile AS '/home/oracle/standby.ctl';  

  3,传输文件到dg端,rman catalog start with

  4,恢复控制文件,恢复数据库

RMAN>restore controlfile from'/data/oracle/backup/restore/standby.ctl';    --mount databaseRMAN> RECOVER DATABASE NOREDO;

  5,启动同步进程,检查同步状态等。

转载于:https://www.cnblogs.com/ocp-100/p/10711726.html

你可能感兴趣的文章
431.chapter3.创建表,约束和用户自定义类型
查看>>
HOW TO : Install Eclipse with C/C++ in Ubuntu 12.04
查看>>
人生何处不选择
查看>>
报错:对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性...
查看>>
ExtJs表单验证的方法总结
查看>>
Word Embedding与Word2Vec
查看>>
ObjectiveC基础教程(第2版)
查看>>
Android API学习 SoundPool 和 MediaPlayer
查看>>
topcoder srm 661 div1 -3
查看>>
NEWS: Symantec宣布Wise Package Studio将终止
查看>>
iOS 开发笔记-报错处理
查看>>
调用PostgreSQL存储过程,找不到函数名的问题
查看>>
郁闷的一天
查看>>
祖宗十八代的称谓
查看>>
如何配置Hyper-V的虚拟机通过主机网络上网 (NAT)
查看>>
用CSS开启硬件加速来提高网站性能(转)
查看>>
Linux make语法
查看>>
Fis3的前端模块化之路[基础篇]
查看>>
Centos 7 安装 Visual stdio Code
查看>>
ABP框架系列之十九:(Debugging-调试)
查看>>