1 事先配置好反向复制链路;

2 停止源端的应用程序;

3 确认源端Capture已捕获所有的Redo信息;

GGSCI>info all

GGSCI>info ext_app

4 确认源端所有queue中无积压数据

GGSCI>info all

GGSCI>info ext_app

GGSCI>info pmp_app

5 把源端的压缩表和要复制的接口表等复制到目标端;

6 确认目标端的sequence的next_value大于等于源端的值,如不满足要求需要对目标端的

sequence进行调整;

7 比对源端和目标端表的数据是否一致;[minus或者count(*)或者hash value对比];或用

vardata工具抽样进行全表对比;

8 启用目标端的约束和外键以及job;

select 'alter table '||owner||'.'||table_name||' enable constraint '||constraint_name||';'

from dba_constraints

where constraint_type in ('R') and

owner in('APPUSR')

order by status,owner;

select 'alter trigger '||owner||'.'||trigger_name||' enable;'

from dba_triggers

where owner in('APPUSR')

order by status,owner;

SQL>alter system set job_processes=10 scope=both sid=’*’;

9 停止源端的约束和外键以及job;

select 'alter table '||owner||'.'||table_name||' disable constraint '||constraint_name||';'

from dba_constraints

where constraint_type in ('R') and

owner in('APPUSR')

order by status,owner;

select 'alter trigger '||owner||'.'||trigger_name||' disable;'

from dba_triggers

where owner in('APPUSR')

order by status,owner;

SQL>alter system set job_processes=0 scope=both sid=’*’;

10 启动反向复制的Capture进程,如有可能启动DataPump进程;

11 把应用程序切换到目标端;

12 确认目标端Capture进程状态正常;

13 源端数据库修复后,需要进行反向回切,在此过程中可能需要将数据库从目标端初始化到源端,视具体情况而定;

14 启动反向复制DataPump进程和Replicat进程,将数据从目标端Apply到源端;

15 停止目标端的应用

16 确认源端的Replicat队列没有数据了;

17 把目标端的压缩表和要复制的接口表等复制到源端

18 比对源端和目标端表的数据是否一致;[minus或者count(*)或者hash value对比]

Internal Partner Win Story

19 确认源端的sequence的next_value大于等于目标端的值,如果不是,则需要调整源端的Sequence;

20 启用源端的trigger和约束,以及job

select 'alter table '||owner||'.'||table_name||' enable constraint '||constraint_name||';'

from dba_constraints

where constraint_type in ('R') and

owner in('APPUSR')

order by status,owner;

select 'alter trigger '||owner||'.'||trigger_name||' enable;'

from dba_triggers

where owner in('APPUSR')

order by status,owner;

SQL>alter system set job_processes=10 scope=both sid=’*’;

21 停止目标端的约束和外键以及job

select 'alter table '||owner||'.'||table_name||' disable constraint '||constraint_name||';'

from dba_constraints

where constraint_type in ('R') and

owner in('APPUSR')

order by status,owner;

select 'alter trigger '||owner||'.'||trigger_name||' disable;'

from dba_triggers

where owner in('APPUSR')

order by status,owner;

SQL>alter system set job_processes=0 scope=both sid=’*’;

22 启动目标端的Replicat

23 源端启用应用,回切完成

GoldenGate 反向切换步骤的更多相关文章

  1. mybatis 反向生成步骤

    Mybatis 反向生成. 反向生成的步骤: 反向生成的文件 打开文件夹显示 3.打开generator.xml文件 更改配置信息  路径一般情况下用英文  中文的路径有些会识别不了  或产生乱码 4 ...

  2. 关于Cocos2d-x项目运行的过程和场景切换步骤

    1.AppDelegate.cpp文件里面的applicationDidFinishLaunching函数其实可以看做C语言里面的main函数,是整个游戏运行的入口 这个函数里面的语句 auto sc ...

  3. (转)mysql主从切换步骤

    原文:http://6226001001.blog.51cto.com/9243584/1723273 1> 正常切换 1)从服务器检查SHOW PROCESSLIST语句的输出,直到你看到Ha ...

  4. OGG切换步骤

    步骤描述 提前准备好切换方案:以及其他相关人员的配合 切换至容灾数据库: (1)停止前端业务,确认目标端数据已经追平 (2)数据校验,确认数据一致 (3)停止生产库OGG进程(停止后可以直接删除) ( ...

  5. 使用 Postman 的 Environments 和 Tests 简化在不同环境中的切换步骤

    调试 API 的时候,我们需要经常需要在本地.开发.生产来回切换,还需要面临 Token 失效等的问题,让人头大,看到一些教程有介绍用 Postman 来简化流程,但是实践起来还是遇到一些问题,所以就 ...

  6. mysql主从切换步骤

    1>   正常切换 1)从server检查SHOW PROCESSLIST语句的输出,直到你看到Has read all relaylogwaiting for the slave I/O th ...

  7. 物理Data Guard主备切换步骤

    物理Data Guard角色转换步骤   Step  1   验证主库是否能执行角色转换到备库(原主库执行) SQL> SELECT SWITCHOVER_STATUS FROM V$DATAB ...

  8. UNDO表空间切换步骤

    1.新建UNDO表空间 create undo tablespace UNDOTBS2 datafile '/data01/testdb/undotbs01.dbf' size 1G; alter d ...

  9. Android注解使用之注解编译android-apt如何切换到annotationProcessor

    前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不 ...

随机推荐

  1. 归并排序(Python)

    一.采用分治策略:将原问题划分成n个规模较小的但结构和原问题相同的子问题,递归解决这些子问题后合并各个结果从而得到原问题的解. 二.分治策略的步骤: 分解:将原问题分解成一系列子问题 解决:子问题粒度 ...

  2. 关于webuploader跨域解决方法

    1.在iis处理程序映射 2.后台ashx处理添加如下代码

  3. App.config:配置系统未能初始化的异常

    如上图所示:App.config文件是这样配置的,在后台代码”ISchedulerFactory scheduler = new StdSchedulerFactory();“中抛出了异常 经网上查资 ...

  4. jQuery学习(六)——使用JQ完成省市二级联动

    1.JQ的遍历操作 方式一: 1 $(function(){ //全选/全不选 $("#checkallbox").click(function(){ var isChecked= ...

  5. JavaScript学习——使用JS完成省市二级联动

    1.我们希望在注册页面中添加一个字段(籍贯),当用户选择一个具体的省份,在后面的下拉列表中动态加载该省份下所有的城市.显示的效果如下: 2.步骤分析: 第一步:确定事件(onchange)并为其绑定一 ...

  6. 【原创】关于java中的lock

    看了下java中高性能锁Lock,其中有如下: ReentrantLock:独占锁,类似于synchronized,不过锁的粒度更小 ReadWriteLock(ReentrantReadWriteL ...

  7. angular.js学习-ng-grid

    ng-grid是基于AngularJS和JQuery的富表格控件,由AngularUI Team领衔开发,到目前为止已有2354次Commit,1076个Fork.  AngualrUI:http:/ ...

  8. vue如何给它的data值赋值

    activeDisplay的值如何改变 用$set();方法 vm.$set('b', 2) 或者 Vue.set(data, 'c', 3) this.someObject = Object.ass ...

  9. 优动漫PAINT-朱槿花的画法

    火红夺目的朱槿花,绝对是烘托画面的绝佳布景!画法发非常简单,毫无绘画基础的人也能够将它很好的呈现出来哟~ 教程是简单,呃.... 没有优动漫PAINT软件肿么办? 别着急,╭(╯^╰)╮ 小编给你送来 ...

  10. 利用js自带函数 数组去重

    <script> ,,]; //原数组 var a=[]; //定义空数组 arr.map(function(x){ //用 map 遍历数组 ){ //如果当前值没有存在空数组中 a.p ...