
想学会更多实用技巧,欢迎加入青学会MOP技术社区(实名社区)。
加入方法:公众号后台回复关键字“加入”获取小助手微信,添加后登记入会。

同时欢迎大家在评论区留言互动交流!社区会不定期举行相关的抽奖、公开分享活动。
如果你有想了解的知识点希望我们发文可以后台私信。
最近联合几个 Oracle ACE技术专家 开通了一个付费微信群,都是具有10多年金融、医疗、制造业10年以上的一线专家,坑位费399/人,无限期,目前群内近165人。加群后会有一些福利(分享各类技术文档,干货资源,问题解答等等),更有特邀嘉宾会定期在群内直播,解读AWR,快问快答等!有问题我们尽量都解答,毕竟399不能都解决所有问题。有兴趣联系微:ywu0613
内部知识库正在筹建中,不止有oracle!

正文开始
Oracle GoldenGate 作为一款功能强大的数据复制与同步工具,在企业级数据集成和灾难恢复场景中发挥着至关重要的作用。对于运维工程师和技术团队来说,掌握 Oracle GoldenGate 的安装部署、性能优化、故障排查以及高级配置等技能,是应对复杂数据环境挑战的关键。本文精心整理了 40 道 Oracle GoldenGate 运维实战面试题,并进行了详细解答,旨在帮助读者全面深入地理解 Oracle GoldenGate 的核心技术和实战应用,为面试和实际工作中的技术挑战做好充分准备。

安装部署
Q: Oracle GoldenGate 的三种主要部署模式是什么?
A: 本地部署、远程部署、微服务(Microservices)模式。Q: 本地部署模式的核心组件有哪些?
A: Capture(捕获进程)、Trail Files(队列文件)、Delivery(投递进程)、目标数据库(Oracle/非Oracle)。Q: 远程部署模式支持哪些数据库类型?
A: Oracle Database 11.2.0.4 及以上版本、DB2、MySQL、PostgreSQL 等。Q: 微服务模式下包含哪些关键服务?
A: Administration Service(管理服务)、Metrics Service(监控服务)、Distribution Service(分发服务)、Parallel Replicat(并行投递进程)等。Q: OGG19C 新增了哪些数据库认证?
A: MySQL 8.0、PostgreSQL 10、SQL Server 2017、Azure SQL Database、TimesTen 18c、DB2 for zSeries 12.1 等。Q: 如何启用心跳表功能?
A: 在GGSCI中执行ADD HEARTBEATTABLE
命令,系统会自动创建心跳表、视图和定时任务。
性能优化
Q: 如何优化Integrated Extract和Replicat的内存使用?
A: 设置streams_pool_size
、MAX_SGA_SIZE
和PARALLELISM
参数,例如16C64G环境建议增加2G内存。Q: CACHEMGR 参数的作用是什么?默认值是多少?
A: 控制OGG使用的内存缓存,64位系统默认8G,32位系统默认2G。Q: 数据传输进程(Pump)的性能优化建议有哪些?
A: 避免压缩和加密,使用Passthru
参数,调整TCPBUFSIZE
和TCPFLUSHBYTES
,队列文件独立存储。Q: 使用BatchSQL参数的作用是什么?如何配置?
A: 批量提交相似SQL以提高效率,例如BATCHSQL BATCHESPERQUEUE 100, OPSPERBATCH 2000
。Q: HandleCollisions参数在数据冲突时如何处理?
A: 主键冲突时覆盖目标数据,未找到更新行时转为插入,删除未找到行时丢弃操作(不记录Discard文件)。Q: 投递进程(Replicat)的推荐模式有哪些?
A: Classic Replicat、Coordinated Replicat、Integrated Replicat、Parallel Replicat。
故障排查
Q: 如何通过GGSCI查看进程状态和错误信息?
A: 使用VIEW REPORT <进程名>
、STATUS <进程名>
、INFO <进程名>
等命令。Q: 如何通过Logdump工具分析队列文件?
A: 使用命令如GHDR ON
、DETAIL DATA
、FILTER INCLUDE STRING "text"
过滤和查看日志内容。Q: SHOWSYNTAX参数的作用是什么?
A: 在Replicat中显示即将执行的SQL语句,用于调试语法或逻辑错误。Q: 检查点(Checkpoint)的作用是什么?如何设置?
A: 确保数据同步的连续性,通过DBOPTIONS ENABLE_INSTANTIATION_FILTERING
参数启用。Q: V$LOGMNR_CONTENTS视图的作用是什么?
A: 通过SCN、时间戳或日志位置查询数据库变更记录,辅助分析同步问题。Q: 数据对比工具Veridata的核心功能是什么?
A: 支持异构环境数据对比、实时二次比较、低影响(不锁表)、基于HASH值和子集对比。
附加日志与参数配置
Q: 附加日志(Supplemental Logging)的常用类型有哪些?
A:supplemental_log_data_min
、supplemental_log_data_pk
、supplemental_log_data_all
等。Q: 开启附加日志的注意事项是什么?
A: 避免在数据库级别开启PK、UI日志,无主键表或包含大字段的表需谨慎处理。Q: 如何通过GGSCI查看附加日志配置?
A: 使用INFO TRANDATA <schema.table>
命令。Q: 并行投递模式(Parallel Replicat)的优势是什么?
A: 支持自动并行、依赖计算、跨RAC节点处理,适用于高性能和高可靠性场景。
高级配置与工具
Q: Microservices模式的核心优势是什么?
A: 支持HTTPS/RESTful API、模块化服务(如管理、监控、分发服务)、自动化部署。Q: 如何通过DBMS_COMPARISON实现数据对比?
A: 创建对比任务(DBMS_COMPARISON.CREATE_COMPARISON
),调用COMPARE
方法执行对比。Q: TestMappingspeed参数的作用是什么?
A: 测试各进程(Extract、Pump、Replicat)的映射速度,不实际提交数据。Q: 如何优化Extract进程的性能?
A: 调整EOFDELAY
、FLUSHSECS
、LOBBUFSIZE
等参数,确保队列文件存储在高性能磁盘(如RAID 0+1)。Q: 什么是Coordinated Replicat?
A: 支持跨RAC节点处理的投递模式,替代传统@RANGE
分拆进程。
版本与补丁
Q: Oracle GoldenGate 19c的推荐补丁版本是什么?
A: 19.1.0.0.200204。Q: 如何查询Oracle GoldenGate与数据库的兼容性?
A: 参考Oracle官方认证矩阵(https://www.oracle.com/middleware/technologies/fusion-certification.html)。Q: Oracle Server 19c对应的推荐DBRU版本是什么?
A: 30557433 DBRU 19.6.0.0.200114(2020年1月)。
日志与监控
Q: 心跳表(Heartbeat Table)的默认更新频率是多少?
A: 每60秒更新一次。Q: 如何通过心跳表监控同步延迟?
A: 查询GG_LAG
视图,关注INCOMING_LAG
和OUTGOING_LAG
字段。Q: 如何通过Logdump过滤特定时间段的日志?
A: 使用FILTER INCLUDE STARTTIME
和FILTER INCLUDE ENDTIME
命令。Q: 如何定位Replicat进程的SQL执行错误?
A: 在参数文件中添加SHOWSYNTAX
,启动进程后按提示逐步执行SQL。
安全与兼容性
Q: 为什么建议关闭数据库级别的force_logging?
A: 避免不必要的日志开销,仅在业务需要时启用。Q: 微服务模式如何保障安全性?
A: 支持HTTPS协议、RESTful API认证、反向代理(Reverse Proxy)配置。Q: 如何处理非Oracle数据库的字符集问题?
A: 使用NLS_LANG
参数匹配源和目标字符集,或启用跨操作系统字节转换功能。
综合场景
Q: 若Replicat报错“ORA-01403: no data found”,可能的原因是什么?
A: 目标表缺少主键或唯一索引,或HandleCollisions未正确处理冲突。Q: 如何快速验证GoldenGate配置的正确性?
A: 使用TestMappingspeed
参数模拟运行,检查进程报告和日志文件。Q: 在异构数据库同步中,如何确保数据一致性?
A: 启用数据对比工具(如Veridata),结合心跳表和日志分析实时监控延迟。
通过对这 40 道 Oracle GoldenGate 运维实战面试题的深入学习与理解,我们希望能够为读者在面试和实际工作中提供有力的技术支持。Oracle GoldenGate 的技术领域广泛且深入,从基础的安装部署到复杂的性能优化和故障排查,每一个环节都需要运维人员具备扎实的理论知识和丰富的实战经验。在不断变化的技术浪潮中,持续学习和实践是掌握 Oracle GoldenGate 关键技术的不二法门。
如果您想进一步深入学习GoldenGate的知识并掌握最新的动态,来老曹的星球吧

往期文章回顾
MOP社区新闻
金仓专栏
告别繁琐!KingbaseES v9数据库一键安装-青学会&金仓专栏(1)
KingbaseES v9数据库Docker安装-青学会&金仓专栏(2)
DBA实战小技巧
实战:记一次RAC故障排查
DBA实战运维小技巧安装篇(一)Oracle 主流版本不同架构下的静默安装指南
DBA实战运维小技巧存储篇(一)根目录满了如何处理
DBA实战运维小技巧存储篇(二)打包迁移单机数据库至新存储
MOP社区投稿-内核开发
简单解析 IvorySQL 增强 Oracle xml 兼容能力的原理
简单讨论 PostgreSQL C语言拓展函数返回数据表的方式
简单分析 pg_config 程序的作用与原理
Redis 日志机制简介(一):SlowLog
Redis 日志机制简介(二):AOF 日志
Redis 日志机制简介(三):RDB 日志
pg_cron插件使用介绍
Redis 的指令表实现机制简介
pg几款源码工具介绍
Redis 事务功能简介




