【摘要】本文是Oracle GoldenGate(以下简称OGG)19.1 for MySQL Database Server(以下简称MySQL)的简易安装、配置手册,也是MySQL与其它异构数据库采用OGG进行实时同步的配置要点。MySQL5.7.X是“七”系列的最后一个发行版本,OGG从第12版本开始支持MySQL5.7。大体上,OGG的各个版本与MySQL的诸多版本在安装、配置方面是相通的,遇到的问题及解决方法也是一致的。
文中红色高亮标示部分代表用户输入的操作系统命令,命令的反馈有部分删减,仅供操作人员参考。
以下仅就关键步骤及其常见错误的处理做提纲式的摘要,部分基础操作请用户查看相关手册。
【关键词】Oracle GoldenGate 19,MySQL Database Server 5.7,异构数据库,实时同步
一、 安装准备
| 实验环境 | 操作系统 | 数据库及版本 | 数据库字符集 | OGG版本 |
|---|---|---|---|---|
| 源端 | Windows Server 2008 R2 SP1 | Oracle 10.2.0.4 | US7ASCII | 11.2 |
| 目标端 | Windows 10 | MySQL 5.7.24 | UTF8MB4 | 19.1 |
1.安装VC++2015Redist发行包
2. 启动GGSCI
提示缺少LIBSSL-1_1-x64.dll与libcrypto-1_1-x64.dll两个文件(目前暂不清楚安装源),将本地MSSQL2019目录中的上述文件复制到%Windows\System32%下,文件版本号如下图所示:

二、 配置OGG
1. 初始化OGG
C:\mysql\ogg19.1.0>ggsci
Oracle GoldenGate Command Interpreter for MySQL
Version 19.1.0.0.3 OGGCORE_19.1.0.0.0_PLATFORMS_190907.0144
Windows x64 (optimized), MySQL Enterprise on Sep 7 2019 05:32:36
Operating system character set identified as GBK.
Copyright © 1995, 2019, Oracle and/or its affiliates. All rights reserved.
GGSCI (WIN-R2NNJ3NQB9S) 1>create subdirs
Creating subdirectories under current directory C:\mysql\ogg19.1.0
Parameter file C:\mysql\ogg19.1.0\dirprm: created.
Report file C:\mysql\ogg19.1.0\dirrpt: created.
Checkpoint file C:\mysql\ogg19.1.0\dirchk: created.
Process status files C:\mysql\ogg19.1.0\dirpcs: created.
SQL script files C:\mysql\ogg19.1.0\dirsql: created.
Database definitions files C:\mysql\ogg19.1.0\dirdef: created.
Extract data files C:\mysql\ogg19.1.0\dirdat: created.
Temporary files C:\mysql\ogg19.1.0\dirtmp: created.
Credential store files C:\mysql\ogg19.1.0\dircrd: created.
Masterkey wallet files C:\mysql\ogg19.1.0\dirwlt: created.
Dump files C:\mysql\ogg19.1.0\dirdmp: created.
2. 在OGG命令行登录MYSQL
GGSCI (WIN-R2NNJ3NQB9S) 2> dblogin sourcedb gmmdb@127.0.0.1:3306,userid root,password 123456
Successfully logged into database.
3. 配置MYSQL5.7.X参数文件,开启二进制日志,日志模式为row:
编辑MySQL配置文件my.conf,修改如下参数值,开启归档日志
#二进制bin日志文件保存目录,注意:目录以双斜线分隔
log_bin=d:\bin_log\gmmdb-bin
#binlog日志格式
binlog_format = ROW
4. 配置OGG运行参数
配置管理进程,参数文件内容如下:
GGSCI (WIN-R2NNJ3NQB9S DBLOGIN as root) 6> edit param mgr
port 7810
dynamicportlist 7800-8000
autorestart extract *,waitminutes 2,resetminutes 5
配置extract进程组,参数文件内容如下:
GGSCI (ogg) 7> edit param ext_1
extract ext_1
setenv (MYSQL_HOME=C:\mysql\mysql-5.7.24-winx64)
tranlogoptions altlogdest D:\bin_log\gmmdb-bin.index
sourcedb gmmdb@localhost:3306,userid root,password 123456
exttrail ./dirdat/my
dynamicresolution
gettruncates
table gmmdb.*;
注册捕获(extract)进程:
GGSCI (WIN-R2NNJ3NQB9S DBLOGIN as root) 11> add extract ext_1,tranlog,begin now
EXTRACT added.
GGSCI (WIN-R2NNJ3NQB9S DBLOGIN as root) 14> add exttrail ./dirdat/my,extract ext_1
EXTTRAIL added.
启动捕获进程,其详细信息如下:
GGSCI (WIN-R2NNJ3NQB9S DBLOGIN as root) 15> start ext_1
2020-07-17 10:13:50 INFO OGG-25340
Database Version:
MySQL
Server Version: 5.7.24-log
Client Version: 8.0.17
Host Connection: localhost via TCP/IP
Protocol Version: 10.
2020-07-17 10:13:50 INFO OGG-25341
Database Language and Character Set:
CLIENT CHARACTER SET = “gbk”
SERVER CHARACTER SET = “utf8mb4”
DATABASE CHARACTER SET = “utf8mb4”
LOCALE INFORMATION = “en”
DATABASE COLLATION = “caseinsensitive”.
2020-07-17 10:13:50 INFO OGG-01055 Recovery initialization completed for target file ./dirdat/my000000001, at RBA 1390.
2020-07-17 10:13:50 INFO OGG-01478 Output file ./dirdat/my is using format RELEASE 19.1.
2020-07-17 10:13:50 INFO OGG-01026 Rolling over remote file ./dirdat/my000000001.
2020-07-17 10:13:51 INFO OGG-01053 Recovery completed for target file ./dirdat/my000000002, at RBA 1390.
2020-07-17 10:13:51 INFO OGG-01057 Recovery completed for all targets.
2020-07-17 10:13:51 INFO OGG-00182 VAM API running in single-threaded mode.
2020-07-17 10:13:51 INFO OGG-01515 Positioning to begin time 2020年7月17日 上午10:05:52.
Run Time Messages
2020-07-17 10:15:49 INFO OGG-01516 Positioned to Log Number: 33
Record Offset: 219, 2020年7月17日 上午10:15:45.
2020-07-17 10:15:49 INFO OGG-01517 Position of first record processed Log Number: 33
Record Offset: 294, 2020年7月17日 上午10:15:45.
2020-07-17 10:15:49 INFO OGG-06508 Wildcard MAP (TABLE) resolved (entry gmmdb.*): table “gmmdb”.“gmclass”.
2020-07-17 10:15:49 INFO OGG-06509 Using the following key columns for source table gmmdb.gmclass: ATTRKEY.
5. 指定OGG轨迹文件版本(可选)
当OGG源端与目标端轨迹文件(trail)版本的差别不能满足兼容矩阵的要求时,用户需要显式指定版本参数,以下假定源端OGG版本为19.1而目标端为11.2,需在源端作如下配置:
指定捕获进程trail文件版本
–add format release 11.1
exttrail ./dirdat/my,format release 11.1
指定投递进程trail文件版本
–add format release 11.1
RMTTRAIL ./dirdat/my,format release 11.1
6. 字符集转换参数示例(可选)
当源端数据库的字符集(CharacterSet)不是目标数据库字符集的真子集时,需要进行字符集转换,以下假定源端Oracle数据库字符集为ZHS16GBK,目标端MySQL数据库字符集为UTF8MB4,则目标端复制进程参数内容示例如下:
REPLICAT rmysql
SOURCECHARSET OVERRIDE ZHS16GBK
sourcedefs ./dirdef/comm.def
DBOPTIONS HOST 127.0.0.1 ,CONNECTIONPORT 3306
TARGETDB gmmdb,userid root,password 123456
HANDLECOLLISIONS
DISCARDFILE D:\OGGMySQL19\dirrpt\mysql_aa.rpt, append
MAP comm.*, TARGET gmmdb.*;
附录一:全局参数举例GLOBALS
ALLOWOUTPUTDIR D:\OGGMySQL19\dirdat
CHECKPOINTTABLE gmmdb.checkpoint
附录二:目标端数据库(MYSQL5.7.24)配置日志
Microsoft Windows [版本 6.1.7601]
版权所有 © 2009 Microsoft Corporation。保留所有权利。
C:\Users\Administrator>cd /d d:\oggmysql19
d:\OGGMySQL19>ggsci
Oracle GoldenGate Command Interpreter for MySQL
Version 19.1.0.0.3 OGGCORE_19.1.0.0.0_PLATFORMS_190907.0144
Windows x64 (optimized), MySQL Enterprise on Sep 7 2019 05:32:36
Operating system character set identified as GBK.
Copyright © 1995, 2019, Oracle and/or its affiliates. All rights reserved.
GGSCI (WINDOWS-C261ANP) 1> create subdirs
Creating subdirectories under current directory d:\OGGMySQL19
Parameter file d:\OGGMySQL19\dirprm: created.
Report file d:\OGGMySQL19\dirrpt: created.
Checkpoint file d:\OGGMySQL19\dirchk: created.
Process status files d:\OGGMySQL19\dirpcs: created.
SQL script files d:\OGGMySQL19\dirsql: created.
Database definitions files d:\OGGMySQL19\dirdef: created.
Extract data files d:\OGGMySQL19\dirdat: created.
Temporary files d:\OGGMySQL19\dirtmp: created.
Credential store files d:\OGGMySQL19\dircrd: created.
Masterkey wallet files d:\OGGMySQL19\dirwlt: created.
Dump files d:\OGGMySQL19\dirdmp: created.
GGSCI (WINDOWS-C261ANP) 2> dblogin sourcedb gmmdb@127.0.0.1:3306,userid root,pas
sword 123456
Successfully logged into database.
GGSCI (WINDOWS-C261ANP DBLOGIN as root) 3> edit param mgr
GGSCI (WINDOWS-C261ANP DBLOGIN as root) 4> start mgr
Manager started.
GGSCI (WINDOWS-C261ANP DBLOGIN as root) 5> info mgr detail
Manager is running (IP port TCP:WINDOWS-C261ANP.7810, Process ID 5604).
GGSCI (WINDOWS-C261ANP DBLOGIN as root) 6> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)?y
Sending STOP request to MANAGER …
Request processed.
Manager stopped.
d:\OGGMySQL19>ggsci
Oracle GoldenGate Command Interpreter for MySQL
Version 19.1.0.0.3 OGGCORE_19.1.0.0.0_PLATFORMS_190907.0144
Windows x64 (optimized), MySQL Enterprise on Sep 7 2019 05:32:36
Operating system character set identified as GBK.
Copyright © 1995, 2019, Oracle and/or its affiliates. All rights reserved.
GGSCI (WINDOWS-C261ANP) 1> start mgr
Manager started.
GGSCI (WINDOWS-C261ANP) 2> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
GGSCI (WINDOWS-C261ANP) 4> dblogin sourcedb gmmdb@127.0.0.1:3306,userid root,pas
sword 123456
Successfully logged into database.
GGSCI (WINDOWS-C261ANP DBLOGIN as root) 5> add checkpointtable gmmdb.checkpoint
Successfully created checkpoint table gmmdb.checkpoint.
GGSCI (WINDOWS-C261ANP DBLOGIN as root) 6> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
GGSCI (WINDOWS-C261ANP DBLOGIN as root) 10> add replicat RMYSQL, exttrail d:\OGG
MYSQL19\dirdat\pa ,checkpointtable gmmdb.checkpoint
REPLICAT added.
GGSCI (WINDOWS-C261ANP DBLOGIN as root) 11> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT STOPPED RMYSQL 00:00:00 00:00:23
GGSCI (WINDOWS-C261ANP DBLOGIN as root) 12> start rmysql
Sending START request to MANAGER …
REPLICAT RMYSQL starting
GGSCI (WINDOWS-C261ANP) 3> info mgr detail
Manager is running (IP port TCP:WINDOWS-C261ANP.7810, Process ID 5436).
GGSCI (WINDOWS-C261ANP) 4> info rmysql detail
REPLICAT RMYSQL Last Started 2020-07-21 12:22 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:03 ago)
Process ID 5188
Log Read Checkpoint File d:\OGGMYSQL19\dirdat\pa000000
First Record RBA 1885
Current Log BSN value: (requires database login)
Last Committed Transaction CSN value: (requires database login)
Extract Source Begin End
d:\OGGMYSQL19\dirdat\pa000000 2020-07-21 12:17 First Record
d:\OGGMYSQL19\dirdat\pa000000 2020-07-21 11:33 2020-07-21 12:17
d:\OGGMYSQL19\dirdat\pa000000 * Initialized * 2020-07-21 11:33
d:\OGGMYSQL19\dirdat\pa000000000 * Initialized * First Record
d:\OGGMYSQL19\dirdat\pa000000000 * Initialized * First Record
d:\OGGMYSQL19\dirdat\pa000000000 * Initialized * First Record
Current directory d:\OGGMySQL19
Report file d:\OGGMySQL19\dirrpt\RMYSQL.rpt
Parameter file d:\OGGMySQL19\dirprm\RMYSQL.prm
Checkpoint file d:\OGGMySQL19\dirchk\RMYSQL.cpr
Checkpoint table gmmdb.checkpoint
Process file
Error log d:\OGGMySQL19\ggserr.log




