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);
  • 相关阅读:
    BZOJ4346 : [POI2016]Nadajniki
    BZOJ4345 : [POI2016]Korale
    BZOJ4134 : ljw和lzr的hack比赛
    BZOJ4342 : CF348 Pilgrims
    BZOJ2310 : ParkII
    BZOJ3322 : [Scoi2013]摩托车交易
    BZOJ1444 : [Jsoi2009]有趣的游戏
    Xcode8中处理打印日志的配置
    iOS开发之记录用户登录状态
    热修复
  • 原文地址:https://www.cnblogs.com/lvcha001/p/14024445.html
Copyright © 2011-2022 走看看