在Windows中 基于Oracle GoldenGate (OGG)进行MySQL-gt;MySQL数据库同步配置(超详细)_ogg-15146

devtools/2025/2/2 5:26:35/

ogg解压目录.png

注意:源端与目标端都需要进行安装Oracle GoldenGate

四、Oracle GoldenGate配置

====== 以下为Source(同步的数据源)Oracle GoldenGate配置 ======

1、Oracle GoldenGate(源端)

(1)、在源端服务器安装的OGG根目录按住SHift+右键cmd进入OGG根目录的命令面板
(2)、运行ogg:执行ggsci.exe

# 运行ogg
E:\OGG\oggmsql>ggsci.exe
Oracle GoldenGate Command Interpreter for MySQL
Version 12.3.0.1.2 OGGCORE_12.3.0.1.0_PLATFORMS_171208.0005
Windows x64 (optimized), MySQL Enterprise on Dec  8 2017 10:16:57
Operating system character set identified as GBK.Copyright (C) 1995, 2017, Oracle and/or its affiliates. All rights reserved.GGSCI (SC-201708231409) 1>

(3)、添加manager进行到windows服务,使之可以随windows开机自行启动

  • 手动指定服务名GGMGR(默认就是GGMGR)。用edit params ./GLOBALS命令(注意./GLOBALS为大写),进入编辑文件
# 编辑 GLOBALS文件(没有自动创建)
GGSCI (SC-201708231409) 1> edit params ./GLOBALS
  • 输入下面内容:

MGRSERVNAME GGMGR

  • 保存退出后,用install addservice命令添加服务
E:\OGG\oggmsql>install addservice
Service 'GGMGR' created.
Install program terminated normally.

(4)、输入create subdirs自动创建需要用到的文件夹

GGSCI (SC-201708231409) 1> create subdirs

主要目录介绍:
dirchk:存放检查点(Checkpoint)文件
dirdat:存放Trail与Extract文件,以后详述
dirdef:通过DEFGEN工具生成的源或目标的数据定义文件
dirpcs:存放进程状态文件
dirprm:存放参数文件
dirrpt:存放进程报告文件
dirsql:存放SQL脚本文件
dirtmp:当事务所需要的内存超过已分配内存时,缺省存储于此。

自动创建后的目录结构.png

(5)、登录project账号,输入dblogin sourcedb 数据库名@IP地址:端口号 userid 用户名 password 密码 (此处为源端数据库):

GGSCI (SC-201708231409) 2> dblogin sourcedb project@127.0.0.1:3306 userid project password project
Successfully logged into database.GGSCI (SC-201708231409 DBLOGIN as project) 3>

(5)、配置mgr管理进程,输入edit params mgr将会弹出文本编辑器并写入:

GGSCI (SC-201708231409 DBLOGIN as project) 3> edit params mgr

以下是添加内容:

port 7809
dynamicportlist 7840-7939
autorestart er *, retries 5, waitminutes 3

(6)、启动mgr进程,输入start mgr

# 启动mgr进程, start 进程名
GGSCI (SC-201708231409 DBLOGIN as project) 12> start mgr
Starting Manager as service ('OGGMGR')...
Service started.
# 查看进程状态
GGSCI (SC-201708231409 DBLOGIN as project) 13> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING
# 停止mgr进程, stop 进程名
GGSCI (SC-201708231409 DBLOGIN as project) 14> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)?ySending STOP request to MANAGER ('OGGMGR') ...
Request processed.
Manager stopped.

(7)、配置extract抽取进程,输入edit params eora将会弹出文本编辑器并写入:

GGSCI (SC-201708231409 DBLOGIN as project) 15> edit params eora

以下是添加内容:

extract eora
sourcedb project@127.0.0.1:3306 userid project password project
TranLogOptions AltLogDest F:\mysqlbin\binlog.index
exttrail E:\OGG\oggmsql\dirdat\et
table project.nbarankings2013;

说明
sourcedb:源端数据库信息
TranLogOptions AltLogDest:mysql二进制日志输出地址
exttrail:源端抽取出来的mysql日志存放地址(自定义),E:\OGG\oggmsql\dirdat\ et文件夹需要自己创建
table:同步的数据库和表,表名可以使用通配符,如table project.*

保存后,添加并启动eora进程,输入add extract eora,tranlog,begin nowadd exttrail E:\OGG\oggmsql\dirdat\et,extract eorastart eora

GGSCI (SC-201708231409 DBLOGIN as project) 16> add extract eora,tranlog,begin now
GGSCI (SC-201708231409 DBLOGIN as project) 17> add exttrail E:\OGG\oggmsql\dirdat\et,extract eora
GGSCI (SC-201708231409 DBLOGIN as project) 18> start eora

注意:启动前需要先启动mgr
否则会报error:
Sending START request to MANAGER ('OGGMGR') ...
2019-02-02 14:44:36 ERROR OGG-15146 Manager not currently running.

从指定日期开始抽取

(8)、配置pump_so投递进程,输入edit params pump_so将会弹出文本编辑器并写入:

GGSCI (SC-201708231409 DBLOGIN as project) 19> edit params pump_so

以下是添加内容:

extract Pump_so
sourcedb project@127.0.0.1:3306 userid project password project
rmthost 172.16.94.37,mgrport 7809,compress
rmttrail D:\OGG\oggmsql\dirdat\et
table project.nbarankings2013;

说明
sourcedb:源端数据库信息
rmthost :目标端ip地址, ogg端口号
rmttrail:目标端接收到的mysql日志存放地址(自定义),D:\OGG\oggmsql\dirdat\ et文件夹需要自己创建
table:同步的数据库和表,表名可以使用通配符,如table project.*

保存成功后,添加pump_so进程,输入(先不启动pump_so)add extract pump_so,exttrailsource E:\OGG\oggmsql\dirdat\etadd rmttrail D:\OGG\oggmsql\dirdat\et,extract pump_so

GGSCI (SC-201708231409 DBLOGIN as project) 20> add extract pump_so,exttrailsource E:\OGG\oggmsql\dirdat\et -- 注意`rmttrail`的地址为`源端`服务器的目录
GGSCI (SC-201708231409 DBLOGIN as project) 21> add rmttrail D:\OGG\oggmsql\dirdat\et,extract pump_so  -- 注意`rmttrail`的地址为`目标端`服务器的目录

(9)、创建表的定义文件(.def)

  • .def文件说明:https://blog.csdn.net/huoshuyinhua/article/details/72957349
  • 配置 .prm文件
GGSCI (SC-201708231409 DBLOGIN as project) 19> edit param defgen

以下是添加内容:

defsfile E:\OGG\oggmsql\dirdef\gmqdsjsjp.def
sourcedb project@127.0.0.1:3306 userid project, password project
table project.*;

说明
defsfile:.def存放位置和文件名
sourcedb:源端数据库信息
table:需要定义的数据库和表,表名可以使用通配符,如table project.*

  • 生成 .def文件,在ogg安装根目录
E:\OGG\oggmsql> defgen paramfile ./dirprm/defgen.prm
  • 将生成的 gmqdsjsjp.def文件复制到目标端安装目录下 dirdef 文件夹内

(10)、注意等待目标端安装完成后,启动start pump_so

  • 源端所需要启动的服务有3
> start mgr
> start eora
> start pump_so
> stop .. //停止服务

<< 到此源端的配置就结束了 >>
====== End Source(同步的数据源)Oracle GoldenGate配置 ======

====== 以下为Target(同步的目标数据库)Oracle GoldenGate配置 ======

2、Oracle GoldenGate(目标端)

(1)、在目标端服务器安装的OGG根目录按住SHift+右键cmd进入OGG根目录的命令面板

(2)、运行ogg:执行ggsci.exe

# 运行ogg
D:\OGG\oggmsql>ggsci.exeOracle GoldenGate Command Interpreter for MySQL
Version 12.3.0.1.2 OGGCORE_12.3.0.1.0_PLATFORMS_171208.0005
Windows x64 (optimized), MySQL Enterprise on Dec  8 2017 10:16:57
Operating system character set identified as GBK.Copyright (C) 1995, 2017, Oracle and/or its affiliates. All rights reserved.GGSCI (DESKTOP-LDTMM0I) 1>

(3)、添加manager进行到windows服务,使之可以随windows开机自行启动

  • 手动指定服务名GGMGR(默认就是GGMGR)。用edit params ./GLOBALS命令(注意./GLOBALS为大写),进入编辑文件
# 编辑 GLOBALS文件(没有自动创建)
GGSCI (DESKTOP-LDTMM0I) 1> edit params ./GLOBALS
  • 输入下面内容:

MGRSERVNAME OGGMGR

  • 保存退出后,用install addservice命令添加服务
E:\OGG\oggmsql>install addservice
Service 'GGMGR' created.
Install program terminated normally.

(4)、输入create subdirs自动创建需要用到的文件夹

GGSCI (SC-201708231409) 1> create subdirs

主要目录介绍:
dirchk:存放检查点(Checkpoint)文件
dirdat:存放Trail与Extract文件,以后详述
dirdef:通过DEFGEN工具生成的源或目标的数据定义文件
dirpcs:存放进程状态文件
dirprm:存放参数文件
dirrpt:存放进程报告文件
dirsql:存放SQL脚本文件
dirtmp:当事务所需要的内存超过已分配内存时,缺省存储于此。

(5)、登录projectTarget 账号,输入dblogin sourcedb 数据库名@IP地址:端口号 userid 用户名 password 密码 (此处为目标端数据库):

GGSCI (DESKTOP-LDTMM0I) 2> dblogin sourcedb project_target@172.16.94.37:3306 userid projectTarget password projectTarget
Successfully logged into database.

(6)、添加检查点表checkpoint,输入add checkpointtable project_target.checkpoint

GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 3> add checkpointtable project_target.checkpoint

(7)、编辑GLOBAL文件,输入edit params ./GLOBALS将会弹出文本编辑器并写入:

GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 4> edit params ./GLOBALS

以下是添加内容:

checkpointtable project_target.checkpoint
ALLOWOUTPUTDIR D:\OGG\oggmsql\dirdat

(8)、配置mgr管理进程,输入edit params mgr将会弹出文本编辑器并写入:

GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 5> edit params mgr

以下是添加内容:

port 7809
dynamicportlist 7840-7939
autorestart er *, retries 5, waitminutes 3
purgeoldextracts D:\OGG\oggmsql\dirdat*,usecheckpoints, minkeepdays 2
ACCESSRULE, PROG 7809, IPADDR 172.16.94.15, ALLOW

保存成功后,启动mgr管理进程start mgr

GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 6> start mgr

(10)、配置的复制进程,输入edit params repl将会弹出文本编辑器并写入:

GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 7> edit params repl

以下是添加内容:

replicat repl
targetdb project_target@127.0.0.1:3306 userid projectTarget password projectTarget
assumetargetdefs
reperror default,discard
discardfile ./dirrpt/repl.dsc,append,megabytes 50
map project.nbarankings2013, target project_target.nbarankings2013;

说明
targetdb:目标端数据库信息
map:源端需要同步的表
target:目标端相对应的备份表
表名可以使用通配符,如MAP project.* , target ggs.*

保存成功后,添加并且启动复制进程,输入add replicat repl,exttrail D:\OGG\oggmsql\dirdat\et,checkpointtable project_target.checkpointstart repl

GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 8> add replicat repl,exttrail D:\OGG\oggmsql\dirdat\et,checkpointtable project_target.checkpoint
GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 9> start repl

(11) 目标端所需要启动的服务有2个

> start mgr
> start repl

<< 到此目标端的配置就结束了 >>
====== End target(同步的目标数据库)Oracle GoldenGate配置 ======

四、GoldenGate 测试

(1)、启动源端start pump_so


http://www.ppmy.cn/devtools/155348.html

相关文章

Miniconda 安装及使用

文章目录 前言1、Miniconda 简介2、Linux 环境说明2.1、安装2.2、配置2.3、常用命令2.4、常见问题及解决方案 前言 在 Python 中&#xff0c;“环境管理”是一个非常重要的概念&#xff0c;它主要是指对 Python 解释器及其相关依赖库进行管理和隔离&#xff0c;以确保开发环境…

.strip()用法

.strip("") 是 Python 字符串方法 strip() 的一个用法&#xff0c;它会去除字符串两端指定字符集中的字符。 基本语法&#xff1a; string.strip([chars])string: 这是你要操作的字符串。chars: 可选参数&#xff0c;表示你想要去除的字符集&#xff08;默认为空格…

2025.2.1(迭代器,auto,for遍历)

迭代器(iterator) 迭代器是cpp中STL的重要组成部分&#xff0c;主要负责数据的遍历以及删改&#xff0c;//迭代器&#xff0c;形如指针&#xff0c;一些地方就是指针&#xff0c;begin返回这块空间开始的迭代器&#xff0c;end是最后一个数据的下一个位置的迭代器&#xff0c;…

单片机基础模块学习——DS18B20温度传感器芯片

不知道该往哪走的时候&#xff0c;就往前走。 一、DS18B20芯片原理图 该芯片共有三个引脚&#xff0c;分别为 GND——接地引脚DQ——数据通信引脚VDD——正电源 数据通信用到的是1-Wier协议 优点&#xff1a;占用端口少&#xff0c;电路设计方便 同时该协议要求通过上拉电阻…

六. Redis当中的“发布” 和 “订阅” 的详细讲解说明(图文并茂)

六. Redis当中的“发布” 和 “订阅” 的详细讲解说明(图文并茂) 文章目录 六. Redis当中的“发布” 和 “订阅” 的详细讲解说明(图文并茂)1. 发布 和 订阅的概念 2. 发布订阅模式分类2.1 一个发布者&#xff0c;多个订阅者2.2 多个发布者&#xff0c;一个订阅者2.3 多个发布者…

DeepSeek能下围棋吗?(续)

休息了一下&#xff0c;接着琢磨围棋&#xff0c;其实前面一篇里的规则有个漏洞的&#xff0c;就是邻居关系定义有问题&#xff0c;先回顾一下游戏规则&#xff1a; 游戏规则 定义&#xff1a; 1.数字对&#xff0c;是指两个1到9之间的整数组成的有序集合。可与记为(m,n)&…

webview_flutter_wkwebview 3.17.0使用指南

文档一 lib\inserted_web_seven\tell_to_ai\my_summary\webview_flutter_wkwebview_3.17.0_guide.txt webview_flutter_wkwebview3.17.0 使用指南 日期&#xff1a;2025年1月26日 一、核心作用 iOS/macOS平台的Flutter WebView实现组件&#xff0c;基于WKWebView提供&#x…

2025美赛B题-问题B:管理可持续旅游

美国阿拉斯加州朱诺市人口约 30,000人&#xff0c;2023 年创下160万邮轮乘客的纪录&#xff0c;在最繁忙的日子里&#xff0c;邮轮乘客多达7艘&#xff0c;游客人数超过 20,000人。1虽然这些游客为该市带来了约 3.75 亿美元的可观收入&#xff0c;!但也带来了与过度拥挤相关的问…