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
最近的工作在做一个多步骤多分步的表单页面,这个多步骤多分步的意思是说这个页面的业务是分多个步骤完成的,每个步骤可能又分多个小步骤来处理,大步骤之间,以及小步骤之间都是一种顺序发生的业务关系.起初以为这 ...
随机推荐
- linux 应用软件集合
史上最全面的Linux应用软件大集合 | 博客水木 1. 生产力 Linux 桌面的便利贴:Stickynotes sudo add-apt-repository ppa:umang/indicato ...
- Java TreeMap 介绍和使用
转自:https://www.cnblogs.com/skywang12345/p/3310928.html 概要 这一章,我们对TreeMap进行学习. 我们先对TreeMap有个整体认识,然后再学 ...
- 20.boost dijkstra最短路径算法
到某个点的最短距离 到终点的最短路径 完整代码 #include <iostream> #include <string> #include &l ...
- 查看typedef类型
typedef unsigned long int NUM; #include <iostream> using namespace std; NUM x; cout << t ...
- SAS拆分数据集
2012年8月8日 主要是根据选取条件来进行拆分 1.根据行数来选: data test; set oldset; if _n_=10 then output; if id="001&quo ...
- python 3.x 学习笔记8 (os模块及xml修改)
1.os模块操作 os.getcwd(): # 查看当前所在路径. os.listdir(path): ...
- C# 运算符 ?、??、?: 、?. 、 各种问号的用法和说明
1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; 是正确的,int i=null; 编译器就会报错.为了使值类型也 ...
- Javascript平稳退化、渐进增强
平稳退化 : javascript平稳退化就是如果一个浏览器完全不支持js或者禁用js的时候,它的基本功能不会受到任何影响.比方说一个网站使用了大量javascript来优化页面,我们现在把浏览器的j ...
- ZBrush笔刷属性栏简介
在笔刷的属性栏当中,最先要了解和掌握的就是Zadd和Zsub两个按钮,当激活Zadd按钮时,我们雕刻的形态向屏幕外突出:当激活Zsub时,我们雕刻的形体就会向屏幕内凹陷.如果在激活Zadd按钮时,雕刻 ...
- H5页面在线制作工具搜集
1.初页 http://chuye.cloud7.com.cn/ 2.易企秀 http://eqxiu.com/#/home 3.最酷 http://www.zuiku.com/ 4.易传单 http ...