• 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;

  • 相关阅读:
    js对象排序
    路由懒加载优化
    RabbitMQ---1、安装与部署
    RabbitMQ入门教程系列
    c#项目代码风格要求
    C#RabbitMQ基础学习笔记
    C# 协变和逆变
    获取当前系统的基本信息
    html制作chm格式开源文档
    WPF: RenderTransform特效
  • 原文地址:https://www.cnblogs.com/l10n/p/7529138.html
Copyright © 2020-2023  润新知