Oracle Golden Gate,MySQL to Oracle数据同步测试

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

本文主要描述使用Oracle Golden Gate 进行MySQL to Oracle数据同步的简单测试。


欢迎转载,请注明作者、出处。
作者:张正
blog:http://space.itpub.net/26355921 
QQ:176036317
如有疑问,欢迎联系。

PART 1 环境描述

一.整体逻辑结构:

二.环境介绍

注:以下所有表明要注意的地方,均不能出现错误

PART 2 初始化导入(initial load)

注意:
1.修改MySQL参数文件my.cnf,修改2行参数,开启binlog:
log-bin=master-bin
binlog_format=row
2. 重启MySQL后,select @@global.binlog_format;确保其值为row
3. 确保MySQL中试验的两张表为innodb存储引擎
4. 注意MySQL中的表名字,大小写敏感
5. MySQL数据库中的表与Oracle中的表的字段类型不能冲突
6. 需要给源和目的数据库中相关的用户授予足够的权限
源主机:
GGSCI> edit params mgr
编辑内容:
PORT 7900
启动mgr:GGSCI> start mgr
GGSCI> edit params defgen
编辑内容:
DEFSFILE ./dirdef/source.def,PURGE
SOURCEDB lockdb@localhost,USERID gguser,PASSWORD gguser
table lockdb.tcustmer;
table lockdb.tcustord;
退出exit
执行:./defgen paramfile ./dirprm/defgen.prm
即生成./dirdef/source.def 文件
GGSCI>  add extract einikk, sourceistable
GGSCI>  edit params einikk
编辑内容:
EXTRACT EINIKK
dboptions host localhost,connectionport 3306
SOURCEDB lockdb@localhost,USERID gguser,PASSWORD gguser
RMTHOST 192.168.81.131, MGRPORT 7900
RMTTASK REPLICAT, GROUP RINIKK
TABLE lockdb.tcustmer;
TABLE lockdb.tcustord;
将defgen复制到目标主机上:
scp  /root/ogg/dirdef/source.def 
oracle@192.168.81.131:/u01/app/oracle/gg10g/dirdef/
目的主机:
GGSCI> edit params mgr
编辑内容:
PORT 7900
启动mgr:GGSCI>  start mgr
添加replicat进程:
先登录数据库:
GGSCI> dblogin userid system,password oracle
GGSCI> add replicat rinikk,specialrun
GGSCI> edit params rinikk
编辑内容:
REPLICAT RINIKK
ASSUMETARGETDEFS
USERID system, PASSWORD oracle
sourcedefs ./dirdef/source.def
DISCARDFILE ./dirrpt/RINIKK.dsc, PURGE
MAP lockdb.tcustmer, TARGET gguser.tcustmer;
MAP lockdb.tcustord, TARGET gguser.tcustord;
Initial load配置完成,启动初始化数据导入:
在源主机上GGSCI> start extract einikk
即可看到目标数据库中出现了数据
NOTES:
若出现异常可以查看报告日志:./dirrpt/EINIKK.rpt 和 ./dirrpt/RINIKK.rpt


PART 3 数据同步

源主机上添加extract:
GGSCI> add extract eorapp,tranlog,begin now
GGSCI> edit param eorapp
编辑内容:
EXTRACT EORAPP
DBOPTIONS HOST localhost,CONNECTIONPORT 3306
SOURCEDB lockdb@localhost,USERID gguser,PASSWORD gguser
RMTHOST 192.168.81.131,MGRPORT 7900
RMTTRAIL /u01/app/oracle/gg10g/dirdat/pp
TRANLOGOPTIONS ALTLOGDEST /data/mysql/master-bin.index
TABLE lockdb.tcustmer;
TABLE lockdb.tcustord;
源主机上添加remote trail:
GGSCI> add rmttrail  /u01/app/oracle/gg10g/dirdat/pp ,extract eorapp
NOTES: 一定要注意,因为本地OGG安装目录为/root/ogg,目的主机OGG安装目录为/u01/app/oracle/gg10g,两个目录不一样。这里是在本地给目的主机添加trail,因此应该写目的主机那边的路径,且应该写全路径
目标主机上编辑全局参数文件:
GGSCI> edit params ./GLOBALS
编辑内容:
GGSCHEMA system
CHECKPOINTTABLE system.chkptab
目标主机登陆数据库:
GGSCI> dblogin userid system,password oracle
GGSCI> add checkpointtable chkptab
目标机添加replicat进程:
GGSCI>  add replicat rorapp,exttrail /u01/app/oracle/gg10g/dirdat/pp
目标主机编辑replicat进程的参数文件:
GGSCI> edit param rorapp
编辑内容:
REPLICAT RORAPP
USERID system, PASSWORD oracle
HANDLECOLLISIONS
SOURCEDEFS ./dirdef/source.def
DISCARDFILE ./dirrpt/rorapp.dsc, PURGE
MAP lockdb.tcustmer, TARGET gguser.tcustmer;
MAP lockdb.tcustord, TARGET gguser.tcustord;

启动工作进程:
先启动目标主机上的Replicat进程:start replicat rorapp


再启动源主机上的extract进程:start extract eorapp
主要的排错手段:
查看./dirrpt/eorapp.rpt和./dirrpt/rorapp.rpt报告

查看各进程状态:
GGSCI> info extract eorapp
GGSCI> info replicat rorapp
GGSCI> info all
GGSCI>info mgr

PART 4 数据验证

1.查看源库中表tcustord的记录:
select * from lockdb.tcustord;


2. 查看目标数据库:
select * from gguser.tcustord;


3. 在源库中插入一条记录:
Insert into lockdb.tcustord values(6,’aaaa’,50);

4. 在目标数据库中查询:

 
发现数据确实同步过来了。
本文转自ITPUB博客84223932的博客,原文链接:Oracle Golden Gate,MySQL to Oracle数据同步测试,如需转载请自行联系原博主。
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
5351
分享
相关文章
深入了解MySQL主从复制:构建高效稳定的数据同步架构
深入了解MySQL主从复制:构建高效稳定的数据同步架构
170 1
Mysql、Oracle审计日志的开启
通过上述步骤,可以在 MySQL 和 Oracle 数据库中启用和配置审计日志。这些日志对于监控数据库操作、提高安全性和满足合规性要求非常重要。确保正确配置审计参数和策略,定期查看和分析审计日志,有助于及时发现并处理潜在的安全问题。
20 11
Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL
从基本特性、技术选型、字段类型、事务提交方式、SQL语句、分页方法等方面对比Oracle和MySQL的区别。
916 18
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
890 2
一文彻底搞定Redis与MySQL的数据同步
【10月更文挑战第21天】本文介绍了 Redis 与 MySQL 数据同步的原因及实现方式。同步的主要目的是为了优化性能和保持数据一致性。实现方式包括基于数据库触发器、应用层双写和使用消息队列。每种方式都有其优缺点,需根据具体场景选择合适的方法。此外,文章还强调了数据同步时需要注意的数据一致性、性能优化和异常处理等问题。
1048 0
shell获取多个oracle库mysql库所有的表
请注意,此脚本假设你有足够的权限访问所有提到的数据库。在实际部署前,请确保对脚本中的数据库凭据、主机名和端口进行适当的修改和验证。此外,处理数据库操作时,务必谨慎操作,避免因错误的脚本执行造成数据损坏或服务中断。
54 0
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
接口测试工具攻略:轻松掌握测试技巧
在互联网快速发展的今天,软件系统的复杂性不断增加,接口测试工具成为确保系统稳定性的关键。它如同“翻译官”,模拟请求、解析响应、验证结果、测试性能并支持自动化测试,确保不同系统间信息传递的准确性和完整性。通过Apifox等工具,设计和执行测试用例更加便捷高效。接口测试是保障系统稳定运行的第一道防线。
API测试工具集合:让接口测试更简单高效
在当今软件开发领域,接口测试工具如Postman、Apifox、Swagger等成为确保API正确性、性能和可靠性的关键。Postman全球闻名但高级功能需付费,Apifox则集成了API文档、调试、Mock与自动化测试,简化工作流并提高团队协作效率,特别适合国内用户。Swagger自动生成文档,YApi开源但功能逐渐落后,Insomnia界面简洁却缺乏团队协作支持,Paw仅限Mac系统。综合来看,Apifox是国内用户的理想选择,提供中文界面和免费高效的功能。
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
113 11

热门文章

最新文章

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等