OGG切换步骤
步骤描述
提前准备好切换方案;以及其他相关人员的配合
切换至容灾数据库:
(1)停止前端业务,确认目标端数据已经追平
(2)数据校验,确认数据一致
(3)停止生产库OGG进程(停止后可以直接删除)
(4)停止容灾库OGG进程(停止后可以直接删除)
(5)重置容灾库的sequence值(如果不做序列复制,则一定需要;如果序列复制,检查一下,确认容灾上值大于等于源库)
(6)容灾库配置OGG捕获进程和传输进程;源端配置OGG投递进程
(7)Enable容灾库之前被disable的触发器和约束
(8)Disable生产库的触发器和约束
(9)确认容灾库的附加日志是否已经加上
(10)确认容灾库的附加日志是否已经加上
(11)启动新的复制链路进程
回切步骤:
(1)停止前端业务,确认端数据已经追平
(2)数据校验,确认数据一致
(3)停止容灾库上OGG进程(停止后可以直接删除)
(4)停止生产库OGG进程(停止后可以直接删除)
(5)重置生产库的sequence值
(6)生产库配置OGG捕获进程和传输进程;容灾库配置OGG投递进程
(7)Disable容灾上的触发器和约束
(8)enable源端的触发器和约束
(9)启动新的OGG复制链路进程
几个注意点
(1)如果不删除原来的进程,需要先begin now,然后再启动
(2) 数据校验的方法和运行时间
(3)之前需要明确哪些trigger和约束被disable;还是用延迟参数吧!
(4)序列的重置,主要是回切阶段,使生产端的序列值大于等于容灾端,以免发生序列值重用的问题
序列重置的思路
思路:查询出当前源端和目标端的序列的last_number的差值->设置要调整的一侧的序列的
increment为该差值->要调整一侧的序列做一次nextval即可
n 建议:修改目标端的序列的为nocache,这样可以取得准确的last number
select 'alter sequence '||t1.sequence_owner||'."'||t1.sequence_name||'" increment by
'||to_char(s1.last_number-t1.last_number)||';' from ogg.dr_seq_target t1, ogg.dr_seq_source s1
where t1.sequence_owner=s1.sequence_owner and t1.sequence_name=s1.sequence_name
and s1.last_number>t1.last_number;
select 'select '||sequence_owner||'."'||sequence_name||'".nextval from dual;' from dr.dr_seq_t1;
OGG切换步骤的更多相关文章
- 关于Cocos2d-x项目运行的过程和场景切换步骤
1.AppDelegate.cpp文件里面的applicationDidFinishLaunching函数其实可以看做C语言里面的main函数,是整个游戏运行的入口 这个函数里面的语句 auto sc ...
- (转)mysql主从切换步骤
原文:http://6226001001.blog.51cto.com/9243584/1723273 1> 正常切换 1)从服务器检查SHOW PROCESSLIST语句的输出,直到你看到Ha ...
- 使用 Postman 的 Environments 和 Tests 简化在不同环境中的切换步骤
调试 API 的时候,我们需要经常需要在本地.开发.生产来回切换,还需要面临 Token 失效等的问题,让人头大,看到一些教程有介绍用 Postman 来简化流程,但是实践起来还是遇到一些问题,所以就 ...
- mysql主从切换步骤
1> 正常切换 1)从server检查SHOW PROCESSLIST语句的输出,直到你看到Has read all relaylogwaiting for the slave I/O th ...
- 物理Data Guard主备切换步骤
物理Data Guard角色转换步骤 Step 1 验证主库是否能执行角色转换到备库(原主库执行) SQL> SELECT SWITCHOVER_STATUS FROM V$DATAB ...
- GoldenGate 反向切换步骤
1 事先配置好反向复制链路: 2 停止源端的应用程序; 3 确认源端Capture已捕获所有的Redo信息: GGSCI>info all GGSCI>info ext_app 4 确认源 ...
- UNDO表空间切换步骤
1.新建UNDO表空间 create undo tablespace UNDOTBS2 datafile '/data01/testdb/undotbs01.dbf' size 1G; alter d ...
- Android注解使用之注解编译android-apt如何切换到annotationProcessor
前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不 ...
- 多步骤多分步的组件StepJump
最近的工作在做一个多步骤多分步的表单页面,这个多步骤多分步的意思是说这个页面的业务是分多个步骤完成的,每个步骤可能又分多个小步骤来处理,大步骤之间,以及小步骤之间都是一种顺序发生的业务关系.起初以为这 ...
随机推荐
- ubuntu16.04环境下安装配置openface人脸识别程序
参考http://blog.csdn.net/weixinhum/article/details/77046873 最近项目需要用到人脸训练和检测的东西,选用了OpenFace进行,因而有此文. 本人 ...
- Eclipse里Tomcat报错:Document base ……does not exist or is not a readable directory(图文详解)
问题描述: 严重: Error starting static Resourcesjava.lang.IllegalArgumentException: Document base D:\Code\M ...
- cg基础
1. row-major or column-major 2.orthogonal matrices 3.why cameras always point along the world coordi ...
- 如何给table的指定td进行css样式改变
td:nth-child(){background-color:#; color:#fff;}/*把第3个td的背景设为黑色*/ :nth-child()不止可以给table指定样式 p标签页是可以的 ...
- Swift 闭包中 self? 的由来
class UIViewSpringAnimator: SwipeAnimator { // 动画完成的闭包 var completion:((Bool) ->Void)? func addCo ...
- java爬虫的selenium基础使用
实用博客 selenium java教程 具体项目运用 项目背景:从西安市人民政府网站上获取到县区新闻,从下图可以看出“区县热点”是需要在页面中进行点击的,这里页面使用的是javascript的函数 ...
- 贰、js的基础(二)类型转换
JS 数据类型转换 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把 ...
- Hadoop_MapReduce中Mapper类和Reduce类
在权威指南中,有个关于处理温度的MapReduce类,具体如下: 第一部分:Map public class MaxTemperatureMapper extends MapReduceBase im ...
- LA3231 Fair Share 二分_网络流
Code: #include<cstdio> #include<vector> #include<queue> #include<cstring> #i ...
- axios 使用post方式传递参数,后端接受不到问题
一.URLSearchParams var params = new URLSearchParams(); params.append('key1', 'value1'); //你要传给后台的参数值 ...