zoukankan      html  css  js  c++  java
  • OGG复制进程报错,存在update set 主键列 is null

    一、问题现象

    OGG从11.2.0.4 DB抽取,同步至Kafka
    进程报错!
    观察进程日志:类似如下SQL引起的问题
    UPDATE TABLE SET ID =null ,send_time=xxx where id is null;
    这个id字段是主键,检查文档暂时未定位到什么原因引发的!源端主键正常。

    二、问题处理

    通过上述问题,我们可以得到一些信息:
    SQL>update 主键列=null, where条件主键 is null;
    可以发现明显不合理,因此这些数据可以忽略!
    
    1.临时解决方法,跳过rba忽略错误数据,但是这个表的错误数据格外的多,100条SQL存在30条update 主键 is null的情况,无法手工跳rba处理;
    2.对源端表主键重置,OGG表初始化能解决很多问题,但是代价太大;
    3.运维角度,最方便的是使用参数过滤掉错误的数据不应用就行,或者不抽取变化;
    
    
    
    参考:
    
    目标端,复制进程过滤掉主键is null的操作:
    MAP a.cc,TARGET a.cc,where(ID <> @null);
    源端,抽取进程过滤掉主键is null的操作;
    TABLE a.cc,where(ID <> @null);
  • 相关阅读:
    NOI 2020 游记
    BJOI2020 游记
    行列式
    CSP-S 2019 游记
    类欧几里得算法
    有关二次离线和 Yuno loves sqrt technology II
    NOI2019 游记
    CTS 2019 Pearl
    BJOI2019 游记
    2017 山东二轮集训 Day7 国王
  • 原文地址:https://www.cnblogs.com/lvcha001/p/14024445.html
Copyright © 2011-2022 走看看