OGG同步异构数据库-表字段变更重新读取异构文件测试验证

news/2025/1/14 20:58:43/

OGG同步异构数据库-表字段变更重新读取异构文件测试验证

删除前源和目标端的同步情况:

配置文件信息:
源端:
GGSCI (ITSMdoc-236-63) 4> view param etest

extract etest
setenv (MYSQL_HOME=“/data/mysql-5.7.26”)
tranlogoptions altlogdest /data/mysql-5.7.26/itsm-binlog.index
sourcedb testdb@localhost:13306, userid ogg, password Bai_yun123
DISCARDFILE ./dirrpt/etest.dsc,append,megabytes 1024
DISCARDROLLOVER AT 05:30 ON MONDAY
exttrail ./dirdat/e6

table testdb.t_user;

GGSCI (ITSMdoc-236-63) 5> view param ptest

extract ptest
rmthost 10.10.236.193, mgrport 7839
rmttrail /ogg213/dirdat/e6
passthru

table testdb.t_user;

目标端:
GGSCI (ITSMbak-236-193) 4> view param rtest

replicat rtest

sourcedefs ./dirdef/defmatter.prm OVERRIDE

userid ogg@cdc,password Bai_yun123
reperror default, discard
discardfile ./dirrpt/rtest.dsc, append, megabytes 4096
DISCARDROLLOVER AT 05:30 ON MONDAY
APPLYNOOPUPDATES

MAP testdb.t_user target testdb.t_user;

同步进程状态:
GGSCI (ITSMdoc-236-63) 3> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
EXTRACT RUNNING ETEST 00:00:00 00:00:04
EXTRACT RUNNING PTEST 00:00:00 00:00:06

目标端:
GGSCI (ITSMbak-236-193) 3> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
REPLICAT RUNNING RTEST 00:00:00 00:00:08

原字段信息:t_user
id int(11)
c_user_id varchar(36)
c_name varchar(22)
c_province_id int(11)
c_city_id int(11)
create_time datetime

源端删除表字段:

ALTER TABLE t_user DROP c_city_id;

源端测试插入数据:

insert into t_user values(1,‘57c29816-93fc-11ee-a2c1-0cda411d520c’,‘WLOCtmcL62KrMqEQ3AEj’,203,‘2023-12-06 13:57:30’);

select * from t_user tu
where id=1;

再次查看同步进程,进程abended了。
GGSCI (ITSMdoc-236-63) 9> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
EXTRACT ABENDED ETEST 00:00:00 00:00:43

GGSCI (ITSMdoc-236-63) 10> info etest

Extract ETEST Last Started 2023-12-06 14:20 Status ABENDED
Checkpoint Lag 00:00:00 (updated 00:01:59 ago)
VAM Read Checkpoint 2023-12-22 11:30:40.000000
Log Number: 144
Record Offset: 184825773

隔了一个多小时再次查看进程:竟然神奇般的可以了。期间什么操作都没修改。
GGSCI (ITSMbak-236-193) 16> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
REPLICAT RUNNING RTEST 00:00:00 00:00:01

目标端查看数据也确实同步过来了。只不过删除的字段为NULL值。
在这里插入图片描述
源端再次插入数据,测试验证。
insert into t_user values(2,‘57c29816-93fc-11ee-a2c1-0cda411d520c’,‘WLOCtmcL62KrMqEQ3AEj’,203,‘2023-12-06 13:57:30’);

目标端再次查看,数据同步过来了。
在这里插入图片描述

目标端参数:
GGSCI (ITSMbak-236-193) 18> view param rtest

replicat rtest

sourcedefs ./dirdef/defmatter.prm OVERRIDE

userid ogg@cdc,password Bai_yun123
reperror default, discard
discardfile ./dirrpt/rtest.dsc, append, megabytes 4096
DISCARDROLLOVER AT 05:30 ON MONDAY
APPLYNOOPUPDATES

MAP testdb.t_user target testdb.t_user;

override. 此参数的作用,ogg 进行元数据核对时,使用定义文件中的内容, 而不是使用OGG REPLICAT 默认的trail中的meta信息。没有此参数,replicat 进程 仍会默认读取trail中的meta信息,发现实际数据长度大于meta中定义的长度,就会报错。

但是def文件也没有重新定义,为啥就自动同步了呢?没搞懂。

继续测试

源端添加字段:
ALTER TABLE t_user add c_city_id2 int(11);

在这里插入图片描述
源端测试插入数据
insert into t_user values(3,‘57c29816-93fc-11ee-a2c1-0cda411d520c’,‘WLOCtmcL62KrMqEQ3AEj’,203,‘2023-12-06 13:57:30’,208);
insert into t_user values(4,‘57c29816-93fc-11ee-a2c1-0cda411d520c’,‘WLOCtmcL62KrMqEQ3AEj’,203,‘2023-12-06 13:57:30’,208);
insert into t_user values(5,‘57c29816-93fc-11ee-a2c1-0cda411d520c’,‘WLOCtmcL62KrMqEQ3AEj’,203,‘2023-12-06 13:57:30’,208);

再次查看进程信息,进程状态abended了。
GGSCI (ITSMdoc-236-63) 22> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
EXTRACT ABENDED ETEST 00:00:00 00:01:36

过5分钟再次刷新,进程又自动起来了。
GGSCI (ITSMdoc-236-63) 24> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
EXTRACT RUNNING ETEST 00:00:00 00:00:03

目标端查看数据,数据确实又同步进来了。只是没有新增加的字段

在这里插入图片描述

目标端停止进程:
GGSCI (ITSMbak-236-193 as ogg@cdc) 35> stop rtest

Sending STOP request to Replicat group RTEST …
Request processed.

源端更新def文件并传送到目标端:
./defgen paramfile dirprm/deftest.prm

目标端重启进程:
GGSCI (ITSMbak-236-193) 2> start rtest

Sending START request to Manager …
Replicat group RTEST starting.

GGSCI (ITSMbak-236-193) 5> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
REPLICAT RUNNING RTEST 00:00:00 00:00:05

验证数据同步,数据正常同步:
在这里插入图片描述


http://www.ppmy.cn/news/1278005.html

相关文章

ubuntu换源

1 首先备份Ubuntu源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 2 查看自己Ubuntu版本 命令 lsb_release -a precise为源里面的关键字,根据实际情况,自行修改 3 修改更新源 先删除原文件里面的内容 sudo gedit /etc/apt/sources.list 用下面内容替…

【JVM】一、认识JVM

文章目录 1、虚拟机2、Java虚拟机3、JVM的整体结构4、Java代码的执行流程5、JVM的分类6、JVM的生命周期 1、虚拟机 虚拟机,Virtual Machine,一台虚拟的计算机,用来执行虚拟计算机指令。分为: 系统虚拟机:如VMware&am…

RK3568驱动指南|第八篇 设备树插件-第80章 注册attribute实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

测试:DFX DFS

DFX DFX(Design for X)指的是一种设计方法,它关注于产品的非功能性属性,旨在提高产品的整体竞争力和生命周期价值。这里的“X”代表产品生命周期中的某个环节或特性,例如供应、安装、维护等,也可以是影响产…

ICC2:Less than minimum edge length和Concave convex edge enclosure

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 首先,要介绍一下这两种drc Less than minimum edge length对应的tf rule如下: 而Concave convex edge enclosure对应图示和tf 规则如下,可

美易官方:美股空头今年损失1780亿美元

今年,美股市场的空头们遭遇了前所未有的打击。据统计,美股空头在今年损失了高达1780亿美元,创下了历史新高。这一数字令人震惊,因为空头通常是股市的投资者,他们通过借入股票并立即卖出,期待在股价下跌时再…

拥抱鸿蒙 - 在展讯T606平台上的探索与实践

前 言 自OpenHarmony 问世后受到了社会各界的广泛关注,OpenHarmony 的生态系统在如火如荼的发展。 酷派作为一家积极拥抱变化的公司,经过一段时间的探索与实践,成功实现将OpenHarmony 系统接入到展讯平台上,我们相信这是一个重要…

paddle 53 基于PaddleClas2.5训练自己的数据(训练|验证|推理|c++ 部署)

项目地址:https://github.com/PaddlePaddle/PaddleClas 文档地址:https://paddleclas.readthedocs.io/zh-cn/latest/tutorials/install.html paddleclas的最新项目已经不适应其官网的使用案例(训练、验证、推理命令均不适用),为此博主对其进行命令重新进行修改。同时padd…