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 ...
随机推荐
- 从开发一款基于Vue技术栈的全栈热重载生产环境脚手架,我学到了什么
浏览文章前 这一期,我分享给大家三点看源码的小技巧,这也是从别的大佬那总结的. 被反复使用的代码 这样的代码是一个软件的重点函数,一个大神的写法有很多精华值得学习. 穿越时间的代码 如果一段代码10年 ...
- BPC 脚本
// //税款计算(现金流) // //2018年5月11日修改,去除之前的送数逻辑,新增BADI计算相关科目 // *SELECT(%010804ZH%, "ID", " ...
- RPA工单查询和下载流程机器人
1.登录业务系统,输入用户名和密码 2.进入下载模块 3.输入下载查询条件 4.进入文件明细单 5.下载文件 视频地址:https://www.bilibili.com/video/BV1964y1D ...
- mariadb安装配置(主从配置)
主服务器192.168.206.183 从服务器192.168.206.193 1.创建并编辑 /etc/yum.repos.d/MariaDB.repo文件(主从都要做) [mariadb] nam ...
- Tomcat深入浅出(一)
一.Tomcat简介 我们下载好Tomcat后需要配置一下Java环境:如果打开出现闪退得情况,首先是jdk 同时配置JRE_HOME Tomcat的一些关键目录: /bin:存放用于启动及关闭的文件 ...
- 小白对Java的呐喊
1 public class Hello{ 2 public static void main(string[] args){ 3 System.out.print("hello world ...
- 使用xpath查找元素的子元素,找不到
List<WebElement> allUserList = driver.findElements(By.xpath("xxx")); for (WebElement ...
- 未找到与名为“xxx”的控制器匹配的类型。
自己封装了一个BaseApiControllerr把他独立成一个项目出来在引用不行,而用默认自带的ApiControllerr可以. <Error> <Message> 未找到 ...
- 我已经说了5种css居中实现的方式了,面试官竟然说还不够?
这是一篇关于居中对齐方式的总结 开篇之前,先问一下大家都知道几种居中的实现方式? 面试时答出来两三个就不错了,就怕面试官还让你继续说.今天就来总结一下这些居中的方式 使用flex布局设置居中. 使用f ...
- AtCoder Beginner Contest 247 E - Max Min // 容斥原理
原题链接:E - Max Min (atcoder.jp) 题意: 给定一个数组,求满足最大值为X且最小值为Y的区间个数. 思路:容斥原理 因为必须要包含端点,直接求是不容易的.因此考虑去求不一定包含 ...