全网独一份!40道Oracle GoldenGate运维实战面试题全解析,震惊出炉!
点击上方蓝字,关注我们
想学会更多实用技巧, 欢迎 加入青学会MOP技术社区(实名社区)。 加入方法:公众号后台回复关键字“加入”获取小助手微信,添加后登记入会。
同时欢迎大家在评论区留言互动交流!
社区会不定期举行相关的抽奖、公开分享活动。
如果你有想了解的知识点希望我们发文可以后台私信。
最近联合几个 Oracle ACE技术专家 开通了一个付费微信群,都是具有10多年金融、医疗、制造业10年以上的一线专家,坑位费399/人,无限期,
目前群内近
165
人
。加群后会有一些福利(分享各类技术文档,干货资源,问题解答等等),更有特邀嘉宾会定期在群内直播,解读AWR,快问快答等!有问题我们尽量都解答,毕竟399不能都解决所有问题。有兴趣联系微:
ywu0613
内部知识库正在筹建中,不止有oracle!
END
往期文章回顾
KingbaseES后台服务管理-青学会&金仓专栏(4)
电科金仓KES日常运维命令集锦-青学会&金仓专栏(5)
DBA实战运维小技巧安装篇(一)Oracle 主流版本不同架构下的静默安装指南
DBA实战运维小技巧存储篇(一)根目录满了如何处理
DBA实战运维小技巧存储篇(二)打包迁移单机数据库至新存储
简单解析 IvorySQL 增强 Oracle xml 兼容能力的原理
简单讨论 PostgreSQL C语言拓展函数返回数据表的方式
简单分析 pg_config 程序的作用与原理
Redis 日志机制简介(一):SlowLog
Redis 日志机制简介(二):AOF 日志
Redis 日志机制简介(三):RDB 日志
pg_cron插件使用介绍
Redis 的指令表实现机制简介
pg几款源码工具介绍
Redis 事务功能简介
MOP顾问说: 服务器内存
MOP 顾问说:Linux Nice 值与 CPU 优先级揭秘
想学会更多实用技巧, 欢迎 加入青学会MOP技术社区(实名社区)。 加入方法:公众号后台回复关键字“加入”获取小助手微信,添加后登记入会。
正文开始
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),结合心跳表和日志分析实时监控延迟。
END
往期文章回顾
MOP社区新闻
青学会MOP技术社区成立了! 青学会专家顾问团成员介绍金仓专栏
告别繁琐!KingbaseES v9数据库一键安装-青学会&金仓专栏(1) KingbaseES v9数据库Docker安装-青学会&金仓专栏(2) KingbaseES数据脱敏-青学会&金仓专栏(3)KingbaseES后台服务管理-青学会&金仓专栏(4)
电科金仓KES日常运维命令集锦-青学会&金仓专栏(5)
DBA实战小技巧
推荐一款超实用的openGauss数据库安装工具! 实战:记一次RAC故障排查DBA实战运维小技巧安装篇(一)Oracle 主流版本不同架构下的静默安装指南
DBA实战运维小技巧存储篇(一)根目录满了如何处理
DBA实战运维小技巧存储篇(二)打包迁移单机数据库至新存储
MOP社区投稿-内核开发
浅谈 PostgreSQL GUC 模块原理简单解析 IvorySQL 增强 Oracle xml 兼容能力的原理
简单讨论 PostgreSQL C语言拓展函数返回数据表的方式
简单分析 pg_config 程序的作用与原理
Redis 日志机制简介(一):SlowLog
Redis 日志机制简介(二):AOF 日志
Redis 日志机制简介(三):RDB 日志
pg_cron插件使用介绍
Redis 的指令表实现机制简介
pg几款源码工具介绍
Redis 事务功能简介
MOP顾问说
MOP顾问说:MOP 三种主流数据库常用 SQL(一)MOP顾问说: 服务器内存
MOP 顾问说:Linux Nice 值与 CPU 优先级揭秘