当前位置: 首页 > news >正文

OGG同步Oracle到Kafka不停库,全量加增量

📢📢📢📣📣📣
作者:IT邦德
中国DBA联盟(ACDU)成员,15年DBA工作经验
Oracle、PostgreSQL ACE
CSDN博客专家及B站知名UP主,全网粉丝15万+
擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复,
安装迁移,性能优化、故障应急处理

文章目录

  • 1.开始抽取
  • 2.获取SCN
  • 3.Initial load
    • 3.1 全量抽取
    • 3.2 全量应用
  • 4. 增量追平
  • 总结

凌晨三点,报警器第5次响起——生产线实时数据同步又断了!老板的夺命Call在静夜里炸响:“停机?停一小时损失200万!”

在这里插入图片描述

别慌,用OGG的这把“手术刀”,全量+增量同步无缝切换,业务零感知。今天揭秘:如何让Oracle到Kafka的血液,在心脏不停跳时完成移植。

接下来小编就叫你如何实现OGG技术同步Oracle 10PB的数据到Kafka,不停机的情况下如何全量+增量!

1.开始抽取

GGSCI>ADD EXTRACT EXT, TRANLOG BEGIN NOW
GGSCI> ADD EXTTRAIL ./dirdat/aa, extract EXT, megabytes 2000EXTRACT EXT
USERID ggs, PASSWORD ggpwd
EXTTRAIL ./dirdat/aa
TABLE SRC.*;GGSCI> Start Extract EXT

2.获取SCN

Get the current SCN on the source database:
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
3410138433

3.Initial load

3.1 全量抽取

GGSCI>ADD EXTRACT <initial-load Extract>, SOURCEISTABLE
SOURCEISTABLE
USERID gg, PASSWORD gg
EXTFILE /gg/dirdat/rf , maxfiles 10, megabytes 2000
or
RMTFILE /gg/dirdat/rf, maxfiles 10, megabytes 2000
TABLE SRC.*, SQLPREDICATE 'AS OF SCN 3410138433';

3.2 全量应用

ggsci> ADD REPLICAT rkafka, EXTTRAIL /gg/dirdat/rf, NODBCHECKPOINT
REPLICAT rkafka
setenv(OGG_HOME='/u01/app/oracle/goldengate/ogg_home/12.3.1.1/GGBD/')
TARGETDB LIBFILE libggjava.so SET property=dirprm/kafka.props
REPORTCOUNT EVERY 1 MINUTES, RATE
GROUPTRANSOPS 10000
MAP SRC.*, TARGET KAFKAADMIN.*;

4. 增量追平

GGSCI> ADD REPLICAT REP, EXTTRAIL ./dirdat/aa, nodbcheckpoint
REPLICAT RPKAFKA
USERID ggs, PASSWORD ggpwd
setenv(OGG_HOME='/u01/app/oracle/goldengate/ogg_home/12.3.1.1/GGBD/')
TARGETDB LIBFILE libggjava.so SET property=dirprm/kafka.props
REPORTCOUNT EVERY 1 MINUTES, RATE
GROUPTRANSOPS 10000
MAP SRC.*, TARGET KAFKAADMIN.*;GGSCI> Start replicat REP, aftercsn 3410138433

总结

这场与数据的赛跑,没有停机倒计时,只有分秒必争的精准刀法。全量迁移是筑基,增量同步是续命,OGG的接力棒从未掉落。当最后一条数据滑入Kafka,晨光刺破监控室的黑暗,你按下“同步完成”的绿灯——产线依旧轰鸣,报表准时生成,老板的手机安静如初。

所谓DBA的巅峰时刻,不过是把惊心动魄的战役,藏进风平浪静的黎明。技术人的浪漫,是让每一次数据迁徙,都像从未发生过那样完美无声。

http://www.dtcms.com/a/298921.html

相关文章:

  • 显式等待和隐式等待的区别
  • JavaScript 立即执行函数(IIFE)运行时行为分析笔记
  • 数控滑台的功能与应用
  • 生产环境使用云服务器(centOS)部署和使用MongoDB
  • MongoDB数据模型
  • Zookeeper的简单了解
  • 学习嵌入式的第三十三天-数据结构-(2025.7.25)服务器/多客户端模型
  • Typecho插件开发:自定义注册用户组与免审发布功能实现
  • OTG原理讲解
  • 非定长滑动窗口(持续更新)
  • 【GoLang#3】:数据结构(切片 | map 映射)
  • 新手向:Git下载全攻略
  • 用Java实现rpc的逻辑和流程图和核心技术与难点分析
  • 图论:Dijkstra算法
  • 【WPF】NumericUpDown的用法
  • 01 01 01 第一部分 C++编程知识 C++入门 第一个C++程序
  • Linux如何执行系统调用及高效执行系统调用:深入浅出的解析
  • HashMap(JDK1.7、JDK1.8)原理与结构分析与synchronizedMap()
  • Spring Boot SSE实战:SseEmitter实现多客户端事件广播与心跳保活
  • Spring Boot 实战:用 Apache Commons CSV 优雅解析 CSV 文件
  • x86汇编语言入门基础(三)汇编指令篇5 串操作
  • OpenCV学习探秘之一 :了解opencv技术及架构解析、数据结构与内存管理​等基础
  • 技术赋能与营销创新:开源链动2+1模式AI智能名片S2B2C商城小程序的流量转化路径研究
  • 嵌入式硬件篇---zigbee无线串口通信问题解决方法
  • Claude 4.0 终极编程指南:模型对比、API配置与IDE集成实战
  • CMakeLists.txt 怎么写
  • 39.Python 中 list.sort() 与 sorted() 的本质区别与最佳实践
  • 数据库索引详解:原理、设计原则与应用场景
  • NLua和C#交互
  • 6G通感算