暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

使用OGGMA在Oracle和MySQL之间同步数据

原创 落雷惊虹 2021-07-05
2249

前言:

Oracle Goldengate 21版本虽然发布很长时间了,但是一直没有可用的软件下载。没想到第一个出来的会是MySQL版本的,令人惊喜的是竟然有MA架构的了。于是我赶紧把手里OGG19版本的环境都清理一遍,把OGGMA for MySQL 21.1安排上。

环境说明

这里准备了两个虚拟机,一个运行oracle,一个运行MySQL。这里会配置从Oracle往MySQL同步数据,以及从MySQL往Oracle同步数据的实验。

Oracle服务器

IP:192.168.56.51

数据库版本:Oracle 19.11

OGG版本:OGG MA for Oracle 19.1

ORACLE_SID=ORCL

服务名:PDB1,PDB2

PDB1用于配置从Oracle往MySQl同步数据的源端,PDB2用于MySQL往Oracle同步数据的目标端,

MySQL服务器

IP:192.168.56.52

数据库版本:MySQL 8.0.0.22

OGG版本: OGG MA for MySQL 21.1

数据库名:testdb

安装OGG MA for MySQL

[mysql@ogg-mysql Disk1]$ ./runInstaller 正在启动 Oracle Universal Installer... 检查临时空间: 必须大于 120 MB。 实际为 75062 MB 通过 检查交换空间: 必须大于 150 MB。 实际为 16379 MB 通过 检查监视器: 监视器配置至少必须显示 256 种颜色。 实际为 16777216 通过 准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2021-06-15_09-55-23PM. 请稍候...[mysql@ogg-mysql Disk1]$ ./runInstaller 正在启动 Oracle Universal Installer... 检查临时空间: 必须大于 120 MB。 实际为 75085 MB 通过 检查交换空间: 必须大于 150 MB。 实际为 16379 MB 通过 检查监视器: 监视器配置至少必须显示 256 种颜色。 实际为 16777216 通过 准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2021-06-15_09-56-36PM. 请稍候...`

image20210615215935710.png
image20210615220013984.png
image20210615220046567.png
image20210615220056345.png
image20210615220113445.png
image20210615220203415.png

[root@ogg-mysql ogg]# /ogg/oraInventory/orainstRoot.sh 更改权限/ogg/oraInventory. 添加组的读取和写入权限。 删除全局的读取, 写入和执行权限。 更改组名/ogg/oraInventory 到 mysql. 脚本的执行已完成。

image20210615220235206.png

配置OGGMA for MySQL 服务

[mysql@ogg-mysql Disk1]$ cd /ogg/oggma/bin [mysql@ogg-mysql bin]$ ls adminclient cachefiledump checkprm convprm distsrvr extract keygen oggca.sh orapki recvsrvr retrace adminsrvr certstore convchk defgen emsclnt ggcmd logdump oggerr pmsrvr replicat ServiceManager [mysql@ogg-mysql bin]$ ./oggca.sh

image20210615220400239.png
image20210615220421394.png
image20210615220925721.png
image20210615220943435.png
image20210615220956501.png
image20210615221016242.png
image20210615221027601.png
image20210615221052782.png
image20210615221111445.png
image20210615221120736.png
image20210615221728796.png

[root@ogg-mysql ogg]# /ogg/ogginst/sm/bin/registerServiceManager.sh Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved. ---------------------------------------------------- Oracle GoldenGate Install As Service Script ---------------------------------------------------- OGG_HOME=/ogg/oggma OGG_CONF_HOME=/ogg/ogginst/sm/etc/conf OGG_VAR_HOME=/ogg/ogginst/sm/var OGG_USER=mysql Running OracleGoldenGateInstall.sh... Created symlink from /etc/systemd/system/multi-user.target.wants/OracleGoldenGate.service to /etc/systemd/system/OracleGoldenGate.service. [root@ogg-mysql ogg]#

image20210615221824485.png

配置Oracle 到MySQL的同步

image20210619144806009.png

image20210621230052564.png

image20210621230139651.png

EXTRACT E_MYSQL SETENV (NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8") SETENV (ORACLE_HOME="/u01/app/oracle/product/19.0.0/dbhome_1") USERIDALIAS oggcdb DOMAIN OracleGoldenGate EXTTRAIL MYSQL/lt TABLEEXCLUDE pdb1.haifeng.SYS_EXPORT_SCHEMA*; TABLE pdb1.haifeng.*;

image20210619144734243.png

image20210621230458299.png

image20210619211832328.png

image20210619214819766.png

image20210621230922448.png

image20210621231015743.png

REPLICAT R_MYSQL TARGETDB testdb@192.168.56.52:3306 USERIDALIAS oggadm, DOMAIN OracleGoldenGate REPERROR DEFAULT, ABEND discardfile R_MYSQL.dsc, append, megabytes 4096 map pdb1.haifeng.t1, target testdb.T1;

image20210621231108761.png
image20210619144825616.png
image20210619144913462.png
image20210621231419385.png

EXTRACT INITEXT1 USERIDALIAS oggcdb DOMAIN OracleGoldenGate RMTHOST 192.168.56.52, MGRPORT 7812 RMTFILE MYSQL/rf TABLE pdb1.haifeng.t1;

image20210621231458750.png
image20210621231520209.png
image20210621231536142.png
image20210621231710989.png
image20210619220144379.png
image20210621231927278.png
image20210619220415070.png
image20210619220714010.png
image20210621232201642.png
image20210621232304414.png
image20210619220805185.png
image20210619220826218.png
image20210619221838980.png
image20210619221903061.png
image20210619224243965.png

SYS AS SYSDBA @ ogg>alter session set container=pdb1; 会话已更改。 SYS AS SYSDBA @ ogg>insert into haifeng.t1 VALUES(12,'mysql test'); 已创建 1 行。 SYS AS SYSDBA @ ogg>commit; 提交完成。 SYS AS SYSDBA @ ogg>select * from haifeng.t1 where id=12; ID NAME ---------- ------------------------------ 12 mysql test
[mysql@ogg-mysql data]$ mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 34 Server version: 8.0.23 MySQL Community Server - GPL Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use testdb; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select * from testdb.T1 where id=12; +-----------------------------------+------------+ | ID | NAME | +-----------------------------------+------------+ | 12.000000000000000000000000000000 | mysql test | +-----------------------------------+------------+ 1 row in set (0.00 sec)

配置MySQL到Oracle的同步

image20210623224958300.png
image20210623225304193.png
image20210623225353686.png
image20210620133845440.png
image20210620133919407.png
image20210623230350216.png
image20210620134233966.png
image20210620141932145.png
image20210623230544977.png
image20210623230623068.png
image20210623230718497.png
image20210620142922889.png
image20210620143010683.png
image20210623232245505.png
image20210620143301768.png
image20210620143416431.png
image20210623232608667.png
image20210620143951239.png
image20210623232714043.png
image20210623233158703.png
image20210623233435693.png
image20210623232714043.png
image20210623233158703.png
image20210623233435693.png
image20210623233507436.png

最后修改时间:2021-07-07 16:29:21
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论