Oracle通过SCN做增量备份修复DG
时间:2019-04-15
本文章向大家介绍Oracle通过SCN做增量备份修复DG,主要包括Oracle通过SCN做增量备份修复DG使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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 <SCN from previous step> DATABASE FORMAT '/tmp/ForStandby_%U' tag 'FORSTANDBY' --or backup device type disk incremental from scn 11125946510 database format'/home/oracle/db_incre%U.bbk'; --or run { 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 database RMAN> RECOVER DATABASE NOREDO;
5,启动同步进程,检查同步状态等。
- 用linqPad帮助你快速学习LINQ
- Java 8 Stream 教程 (二)
- CountVectorizer
- Caliburn.Micro学习笔记(五)----协同IResult
- 一个Pythoner的自我修养系列(一)
- 众里寻她千百度,蓦然回首,那bug却在灯火阑珊处
- Github|Python开源项目漫游指南(一)
- Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能
- .NET 4 System.Threading.CountdownEvent
- java与ruby的直观比较
- 每天一个Linux命令:chmod
- SparkSql 中外连接查询中的谓词下推规则
- Caliburn.Micro学习笔记(三)----事件聚合IEventAggregator和 Ihandle<T>
- Python进行数据可视化分析快速教程实例
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- TCP/IP详解 -奠基篇
- 段错误?打的就是段错误!!
- (Graph)图,挑着看看
- Mybatis学习笔记(四)调用存储过程
- 跟我一起 自己种一颗 AVL树(平衡二叉搜索树)吧!
- mybatis文件映射之利用collection定义关联集合(五)
- 【奇技淫巧】 -- 原地旋转数组
- mybatis文件映射之利用延迟加载解决collection分布查询(六)
- 【C++】攻克哈希表(unordered_map)
- 位图原理及实现 - 海量数据处理标配
- mybatis文件映射之利分布查询时传递多列值 (七)
- 位运算 - 初见
- Mybatis学习笔记(一)
- mybatis文件映射之鉴别器discriminator标签
- LeetCode刷题总结 -- 链表篇