网站首页 > 技术文章 正文
背景
ogg是基于日志的结构化数据复制软件.支持异构同构数据库的数据复制.这篇文章我主要分享ogg for MySQL的使用及搭建.
ogg 架构
ogg中主要有三个进程
Manager(MGR) 管理进程 (源端,目标端都有)
Manager进程是GoldenGate的控制进程,运行在源端和目标端上。它主要作用有以下几个方面:启动、监控、重启Goldengate的其他进程,报告错误及事件,分配数据存储空间,发布阀值报告等。在目标端和源端有且只有一个manager进程
Extract 数据抽取进程(源端)
Extract运行在数据库源端,负责从源端数据表或者日志中捕获数据。Extract的作用可以按照阶段来划分为:
- 初始时间装载阶段:在初始数据装载阶段,Extract进程直接从源端的数据表中抽取数据
- 同步变化捕获阶段:初始数据同步完成以后,Extract进程负责捕获源端数据的变化(DML和DDL)
Pump 数据发送进程(源端)
其作用是将源端产生的本地trail文件,把trail以数据块的形式通过TCP/IP 协议发送到目标端,这通常也是推荐的方式。pump进程本质是extract进程的一种特殊形式,如果不使用trail文件,那么extract进程在抽 取完数据以后,直接投递到目标端,生成远程trail文件
Replicat进程 数据复制进程(目标端)
通常我们也把它叫做应用进程。运行在目标端,是数据传递的最后一站,负责读取目标端trail文件中的内容,并将其解析为DML或 DDL语句,然后应用到目标数据库中
ogg for mysql的搭建
下载ogg软件:
https://www.oracle.com/middleware/technologies/goldengate-downloads.html
需要注册一个oracle账户.很简单.如果不想填自己真实信息.就随便填写一下
ogg官方文档
https://docs.oracle.com/en/middleware/goldengate/core/index.html
初始化ogg 源端目标端都操作
下载好ogg软件并解压
mkdir /soft 创建对应目录
cd /soft/
rz
unzip
unzip 21.1.0.0.1_ggs_Linux_x64_MySQL_64bit.zip
mkdir ogg
tar xf ggs_Linux_x64_MySQL_64bit.tar -C ogg/
cd ogg/
进入ogg目录执行
[root@db02 ogg]# pwd
/soft/ogg
[root@db02 ogg]# ./ggsci
GGSCI (db02) 1>
然后输入create subdirs 命令创建相关子目录
GGSCI (db02) 1> create subdirs
源端目标端都操作:
开启mgr进程
GGSCI (ceshi) 25> edit param mgr
port 7809
CheckMinutes 20
purgeoldextracts ./dirdat/*, usecheckpoints, minkeepdays 2
AutoRestart Extract *, WaitMinutes 1, Retries 10
源端添加抽取进程:
#定义抽取进程名称
GGSCI (ceshi) 26> edit param exta
#定义抽取进程名称
extract exta
#指定OGG连接数据库的地址、账户与密码
SOURCEDB test@10.10.119.64:3306, USERID lzm, PASSWORD 123
SOURCEDB sbtest@10.10.119.64:3306, USERID lzm, PASSWORD 123
#定义抽取的binlog是远程抽取
TRANLOGOPTIONS ALTLOGDEST REMOTE
#指定trail文件写入的文件夹及文件名前缀
exttrail /soft/ogg/dirdat/vp
#定义discardfile文件位置,如果处理中有记录出错会写入到此文件中
discardfile /soft/ogg/dirrpt/exta.dsc,append
#定义需要复制的表.多个表的话用分号分割
table test.test1;
table test.test2;
table sbtest.sbtest1;
GGSCI (localhost.localdomain) 5> add extract exta,tranlog,begin now
EXTRACT added.
#添加抽取源文件位置和大小
GGSCI (localhost.localdomain) 6> add exttrail /soft/ogg/dirdat/vp,extract exta
EXTTRAIL added.
start exta 开启抽取
stop exta 停止抽取
delete exta 删除抽取进程
源端添加投递进程
GGSCI (localhost.localdomain) 15> edit param dmpa
#定义投递进程名
extract dmpa
passthru
#源端数据库地址、用户名
sourcedb test@10.10.119.64:3306 userid lzm password 123
#目标端地址
rmthost 10.10.119.63,mgrport 7809,compress
# 指定目标端写入地址及文件
rmttrail /soft/ogg/dirdat/vp
dynamicresolution
numfiles 3000
#投递的表
table test.test1;
table test.test2;
table sbtest.sbtest1;
GGSCI (localhost.localdomain) 16> add extract dmpa ,exttrailsource /soft/ogg/dirdat/vp
EXTRACT added. --这里的数据路径是源端的抽取进程的数据目录
GGSCI (localhost.localdomain) 17> add rmttrail /soft/ogg/dirdat/vp,extract dmpa
RMTTRAIL added. --这里的路径是目标端的数据路径
start dmpa 开启投递
查看进程状态
GGSCI (ceshi) 28> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING DMPA 00:00:00 00:00:06
EXTRACT RUNNING EXTA 24:00:02 00:00:06
如果状态是abend或者stop 去查看对应日志
[root@db02 ogg]# tail -f /soft/ogg/ggserr.log
目标端操作
配置应用进程Repicat
GGSCI (slavedb DBLOGIN as ogg) 13> edit params repa
#定义应用进程名称
replicat repa
#配置目标端数据库地址、用户名和密码
targetdb test@10.10.119.63:3306 userid lzm password 123
handlecollisions
#定义discardfile文件位置,如果处理中有记录出错会写入到此文件中,建议参数值1024m
discardfile /soft/ogg/dirrpt/repa.dsc,purge
#用于指定源端与目标端表的映射关系
map test.test1 target test.test1
GGSCI (slavedb DBLOGIN as ogg) 16> add replicat repa,exttrail /ogg/dirdat/da,nodbcheckpoint
REPLICAT added.
start repa 开启复制进程
查看进程状态
GGSCI (db02) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REPA 00:00:00 00:00:00
总结
这篇文章主要分享了ogg for mysql的搭建及使用
借鉴: https://segmentfault.com/a/1190000040219830
猜你喜欢
- 2024-11-11 学会这些Kafka知识,吊打阿里面试官就是分分钟的事
- 2024-11-11 Zabbix监控Oracle数据库表空间,并配置邮件告警
- 2024-11-11 高屋建瓴 | 阿里巴巴大数据之路 阿里巴巴的野心:大数据搬家记
- 2024-11-11 oldguo 中级 DBA 的精品课程 dba/1小鼠胶原性关节炎模型建立方法及评价指标
- 2024-11-11 流批一体化-实时数仓架构 流批一体化平台
- 2024-11-11 解决kafka消息丢失和重复消费 kafka消息重复问题
- 2024-11-11 kafka入门-单机版安装及配置 kafka 安装
- 2024-11-11 Kafka入门-服务端参数配置 kafka服务端的角色
- 2024-11-11 TiDB 4.0 21天掌握——第14天 tidb适合频繁更新的数据吗
- 2024-11-11 运维日记|Oracle GoldenGate之DDL填坑
你 发表评论:
欢迎- 09-0613.通过Excel导出数据库中的维值_数据库exp导入导出数据
- 09-06做数据分析时,SQL需要达到以下水平
- 09-06Java开发指南:JDK21下载、安装及目录解析,轻松开启编程之旅
- 09-06hive存储过程_hive存储过程环境变量
- 09-06Maven常用命令_maven常用命令有哪些
- 09-06JDK从8升级到21的问题集_jdk更新到几了
- 09-06Oracle狂刷存在感 NRF展会惊艳四座
- 09-06哪些软件支持UDI标签的生成与验证
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)