KingbaseFlySync delete语句WHERE条件缺失的解析出错问题处理思路
KingbaseFlySync delete语句WHERE条件缺失的解析出错问题处理思路
关键字:
KingbaseFlySync、Linux、x86_64、mips64el、aarch64、Java
kes到Oracle同城灾备场景
源:kesv8r6c5b0023一主一备
目标端:Oracle rac 11g (4个实例)
注意本操作比较危险,需要核实源生产库归档是否存在,如果可以的话,考虑采用别的方式,比如跳过报错事务,通过数据比对方式修复等等
1、目标端KFS后台日志报错ORA-00936:缺失表达式

从上图报错可知:delete from "USERTMP"."AFFIX_INFO" WHERE 解析存在问题。
根据报错的日志号,查找该日志号解析,发现where条件部分确实缺失。

2、 检查源端kfs配置文件

从以上KFS源端配置中,源端过滤器存在custompkey存在无主键过滤器和无主键配置文件custompkey.json。
3、 检查表是否有配置无主键解析
\d AFFIX_INFO检查是否有配置identity full。
如果没有的话,无法解析delete和update业务。
登录源生产库执行以下命令:
alter table AFFIX_INFO REPLICA IDENTITY FULL;
4、 检查无主键配置文件custompkey.json

在custompkey.json存在"affix_info":"",配置,这意味着把affix_info所有列过滤了,解决办法一:在custompkey.json删除"affix_info":"";解决办法二:把那个表affix_info的配置改对,比如"affix_info":"id",表示将id列作为表的主键。
此步我们采用解决办法一。
5、 在源端生产库确认最旧归档日志时间

从归档日志的日期看,最旧的归档是在13号,目前delete解析的业务是15号,如下图红框。

6、 在KFS源端清除解析错误日志号
fsrepctl -service kesoracle offline
kufl -service kesoracle purge -low 29623
选择y
7、 在KFS目标端清除解析错误日志号
kufl -service kesoracle purge -low 29623
选择y
8、 验证KFS源端kufl解析正常
replicator restart
fsrepctl service 看看解析日志号是否有往前走,确定解析正常后,执行如下命令验证kufl解析正常:
kufl -service kesoracle list -seqno 29623
KingbaseFlySync delete语句WHERE条件缺失的解析出错问题处理思路的更多相关文章
- mybatis的select、insert、update、delete语句
一.select <!-- 查询学生,根据id --> <select id="getStudent" parameterType="String&qu ...
- Sql Server系列:Delete语句
数据的删除将删除表的部分或全部记录,删除时可以指定删除条件从而删除一条或多条记录.如果不指定删除条件,DELETE语句将删除表中全部的记录,清空数据表. 1 DELETE语法 [ WITH <c ...
- MySQL DELETE语句和TRUNCATE TABLE语句的区别
MySQL DELETE语句和TRUNCATE TABLE语句的区别 2010-10-08 16:05 佚名 互联网 字号:T | T 在MySQL数据库中,DELETE语句和TRUNCATE TAB ...
- delete表1条件是另一个表中的数据,多表连接删除(转)
DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 1. delete from t1 where 条件 2.delete t1 from t1 where 条件 3. ...
- mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干
1.mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干 2.一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性).Con ...
- oracle数据库删除数据Delete语句和Truncate语句的对比
oracle数据库删除数据Delete语句和Truncate语句的对比 当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分 ...
- SQL语句-delete语句
delete语句 delete语句用于删除表中已经存在的整行数据 Tbl_name关键词代表删除数据的目标表 Where子句代表被删除数据的满足条件,如果没有where子句则代 表所有表数据都删除 O ...
- MySQL DELETE 语句
MySQL DELETE 语句 你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录. 你可以在mysql>命令提示符或PHP脚本中执行该命令. 语法 以下是S ...
- SQL Server中UPDATE和DELETE语句结合INNER/LEFT/RIGHT/FULL JOIN的用法
在SQL Server中,UPDATE和DELETE语句是可以结合INNER/LEFT/RIGHT/FULL JOIN来使用的. 我们首先在数据库中新建两张表: [T_A] CREATE TABLE ...
随机推荐
- 如何修改servlet的创建时机?
在xml中使用<load-on-startup>标签 当标签里为正整数时意味着服务器启动时创建 当为负数时(默认负数)意味着第一次访问时创建 顺带说一下service设置变量时的问题尽量在 ...
- UiPath录制器的介绍和使用
一.录制器(Recording)的介绍 录制器是UiPath Studio的重要组成部分,可以帮助您在自动化业务流程时节省大量时间.此功能使您可以轻松地在屏幕上捕获用户的动作并将其转换为序列. 二.录 ...
- 实战回忆录:从Webshell开始突破边界
正文 某授权单位的一次渗透,由于使用的php框架,某cms的上传,从实现webshell开始. 详情 添加监听,生成木马文件更改应用程序名称隐藏上线. 修改休眠时间为10秒 查看主机名whoami 抓 ...
- 不花钱~Python制作视频解析免费追剧神器
同学们在闲暇之余是否喜欢看电影或者电视剧呢? 今天带领大家使用python制作能免费追剧的桌面软件.还在等什么?发车了! 效果我就不再这里演示了https://jq.qq.com/?_wv=1027& ...
- shell 同时执行多任务下载视频
本文为博主原创,转载请注明出处: shell 脚本不支持多线程,但我们需要用shell 脚本同时跑多个任务时怎么让这些任务并发同时进行,可以采用在每个任务 后面 添加一个 & ,让其在后台运 ...
- NC23046 华华教月月做数学
NC23046 华华教月月做数学 题目 题目描述 找到了心仪的小姐姐月月后,华华很高兴的和她聊着天.然而月月的作业很多,不能继续陪华华聊天了.华华为了尽快和月月继续聊天,就提出帮她做一部分作业. 月月 ...
- 小米社区APP深度体验
小米社区APP深度体验 版本:3.0.210928 BUG 1,在暗黑模式下,会员一栏中的成就等级小字未作深色模式调整,从而造成文字难于识别. 2,在暗黑模式下,会员页中底部的会员产品首页视觉没有完美 ...
- 挑战30天写操作系统-day4-C语言与画面显示的练习
目录 获取源码关注公众号<猿小龙> 1.用C语言实现内存写入(harib01a) C语言中如果使用了write_mem8函数,就会跳转到_write_mem8,此时参数指定的数字就存放在内 ...
- ICMP 介绍
简介 ICMP(Internet 控制报文协议,Internet Control Message Protocol , RFC 792).主要用于在IP主机与路由器之间传递控制消息,用于报告主机是否可 ...
- 字符串的操作和MAth工具类
字符串的操作 常用方法 判断功能方法 equals(String s)判断两个字符串是否相同,区分大小写 equsalsignorecase(String s) 判断两个字符串是否相同,不区分大小写 ...