实时数仓实践(二)OGG同步到kafka

使用OGG实现Oracle到kafka数据同步(详细版本) 使用OGG实现Oracle到kafka数据同步 阅读详情
AI摘要

本文详细介绍了如何配置Oracle Golden Gate (OGG) 实现Oracle数据库增量数据的实时同步到Kafka,包括环境设置、用户权限、表结构准备、目标端配置、进程管理及故障排查,适合数据实时同步的场景。

引用:https://blog.youkuaiyun.com/qq_31312071/article/details/116056488

ogg即Oracle GoldenGate是Oracle的同步工具,本文讲如何配置ogg以实现Oracle数据库增量数据实时同步到kafka中,其中同步消息格式为json。

在这里插入图片描述

身份 hostname 组件和版本 IP OGG版本
源端 db-oracle oracle11g 192.168.10.101 row 1 col 2
目标端 linux121 kafka_2.12-1.0.2 192.168.10.121 row 1 col 2

1.下载地址

源端-目标端都可以在以下地址下载,关键词搜索即可
https://edelivery.oracle.com/osdc/faces/SoftwareDelivery

目标端最新版下载

https://www.oracle.com/middleware/technologies/goldengate-downloads.html

源端文件夹名:fbo_ggs_Linux_x64_shiphome

目标端文件夹名:OGG_BigData_Linux_x64_12.3.2.1.1.tar

2.源端添加ogg

## 源端目标端创建文件夹
mkdir /opt/ogg

## 源端
静默安装ogg
[oracle@db-oracle ogg]$ cd /opt/ogg/fbo_ggs_Linux_x64_shiphome/Disk1/response/
[oracle@db-oracle response]$ ll
total 8
-rw-r--r--. 1 oracle oinstall 4340 Jul  9 16:14 oggcore.rsp
[oracle@db-oracle response]$ pwd
/opt/ogg/fbo_ggs_Linux_x64_shiphome/Disk1/response
[oracle@db-oracle response]$ vim oggcore.rsp
###主要修改内容:
INSTALL_OPTION=ORA12c --安装选项,如果是oracle11g选择ORA11g
SOFTWARE_LOCATION=/home/oracle/ogg/ggs12_2 --OGG的安装目录,一定要是一个空目录
START_MANAGER=false --是否自动启动mgr管理进程

##开始静默安装
[oracle@db-oracle Disk1]$ ./runInstaller  -silent -responseFile /opt/ogg/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
添加环境变量

为了简单方便起见,我在/etc/profile里配置的,建议在生产中配置oracle的环境变量文件/home/oracle/.bash_profile里配置,为了怕出问题,我把OGG_HOME等环境变量在/etc/profile配置了一份,不知道这是否是必须的。

vi ~/.bash_profile

#oracle
ORACLE_BASE=/data/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

#ogg
export OGG_HOME=/opt/ogg
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export PATH=$OGG_HOME:$PATH

source /etc/profile

###测试一下命令
ggsci
oracle打开归档模式
su - oracle
sqlplus / as sysdba

### 执行下面的命令查看当前是否为归档模式
SQL> archive log list 
Database log mode          No Archive Mode
Automatic archival         Disabled
Archive destination        USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     12
Current log sequence           14

如果Automatic archival Disabled,执行下面打开

conn / as sysdba (以DBA身份连接数据库) 
shutdown immediate (立即关闭数据库)
startup mount (启动实例并加载数据库,但不打开)
alter database archivelog; (更改数据库为归档模式)
alter database open; (打开数据库)
alter system archive log start; (启用自动归档)

在执行一下

SQL> archive log list 

Database log mode          Archive Mode
Automatic archival         Enabled
Archive destination        USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     12
Next log sequence to archive   14
Current log sequence           14
Oracle打开日志相关

OGG基于辅助日志等进行实时传输,故需要打开相关日志确保可获取事务内容,通过下面的命令查看该状态

select force_logging, supplemental_log_data_min from v$database;

FORCE_ SUPPLEMENTAL_LOG
------ ----------------
NO     NO

## 如果为no,执行以下
alter database force logging;
alter database add supplemental log data;
#再查一遍
SQL> select force_logging, supplemental_log_data_min from v$database;

FORCE_ SUPPLEMENTAL_LOG
------ ----------------
YES    YES
oracle创建复制用户

首先root用户建立相关文件夹,并赋予权限

mkdir -p /data/oracle/tablespace
chown -R oracle:oinstall /data/oracle/tablespace

然后执行下面sql


SQL> create tablespace oggtbs datafile '/data/oracle/tablespace/oggtbs01.dbf' size 2000M autoextend on;
Tablespace created.
SQL> create user ogg identified by 123456 default tablespace oggtbs;
SQL> grant dba to ogg;

3.OGG初始化

这里特别注意源端和目标端的ogg目录要保持一致

ggsci
GGSCI (db-oracle) 1> create subdirs
 
Creating subdirectories under current directory /root
 
Parameter files                /opt/ogg/dirprm: created
Report files                   /opt/ogg/dirrpt: created
Checkpoint files               /opt/ogg/dirchk: created
Process status files           /opt/ogg/dirpcs: created
SQL script files               /opt/ogg/dirsql: created
Database definitions files     /opt/ogg/dirdef: created
Extract data files             /opt/ogg/dirdat: created
Temporary files                /opt/ogg/dirtmp: created
Stdout files                   /opt/ogg/dirout: created
 
GGSCI (db-oracle) 2> 
Oracle创建测试表
//test_ogg和上面的ogg两个用户
create user test_ogg  identified by test_ogg default tablespace users;
grant dba to test_ogg;
conn test_ogg/te
使用ogg实现oracle到kafka的增量数据实时同步 使用ogg实现oracle到kafka的增量数据实时同步 ​ 彬彬 ​ 阅读详情

相关推荐

多云与混合云场景下的数据同步方案-KAFKA

1 企业业务系统部署架构的变化趋势-多云与混合云现阶段,企业信息系统部署架构 (DA: Deploy architecture)的一大变化是,越来越多的企业在不断将越来越多的应用部署到云上...

明哥的IT随笔 1215

flink的Oracle-cdc如何实现

标题: flink的Oracle-cdc如何实现 日期: 2021-08-08 14:33:39 标签: [flink, oracle] 分类: 实时数仓 今天来说说如何实时接入oracle的数据,官方没有提供oracle-cdc的connector,那么我们现在要自己写connector,且看下文。 且看阿里提供的数据接入connector有哪些:mysql-cdc postgres-cdc 官档在这里: mysql-cdc postgres-cdc 依赖: <dependency> .

chenzuoli的博客 6401

Oracle ogg 同步到 kafka topic 消费

1.6.3 kafka配置文件(如上1.6.2中custom_kafka_producer_sr.properties)1.6.2 ogg2kafka 配置文件(如上1.6.1中的:sr_test.props)1.7.4 查看进程状态信息(可以看到9条 insert 数据记录)1.5.3 抽取、投递添加进程。1.5.1 创建抽取进程文件。1.5.2 创建投递进程文件。1.6 目标端ogg进程配置。1.5 源端ogg进程配置。1.6.4 复制进程添加。1.7.2 目标端启动。1.6.1 复制进程。

weixin_44161678的博客 1354

Python爬虫实战(基础篇)—23—爬取微信小程序<随机目的地旅行>生成随机地址(附GUI版)

爬取微信小程序<随机目的地旅行>生成随机地址

weixin_42636075的博客 1228

K-近邻算法: k-nearest neighbor classification (kNN) 详细介绍

@创建于:2020.04.09 @修改于:2020.04.09,2024.06.22 文章目录1、kNN介绍2、k近邻法的三要素详解2.1 距离度量2.2 k值的选择2.3 分类决策规则3、k近邻法的实现:kd树4、Python实现过程5、优缺点6、常见问题 1、kNN介绍 kNN是一个基本而简单的分类算法,作为监督学习,那么KNN模型需要的是有标签的训练数据,对于新样本的类别由与新样本距离最近的k个训练样本点按照分类...

chenhepg的博客 9万+

从零到一:QT for OpenHarmony 开发环境实战搭建与踩坑指南

本文是一份详尽的QT for OpenHarmony开发环境搭建实战指南。文章手把手教你如何在Windows和macOS系统上,从环境准备、核心工具(DevEco Studio与社区版QT SDK)安装配置,到创建首个QT Quick项目、解决构建部署中的常见问题,最终实现应用在OpenHarmony设备上运行。内容涵盖关键配置修改、资源管理及深度踩坑经验,旨在帮助开发者高效开启跨平台开发之旅。

weixin_29190573的博客 326

最新测算源码PHP算命源码-风水八字-八字起名-塔罗牌占卜

未来,随着技术的发展和用户需求的变化,我们可以继续对系统进行升级和优化,以满足更多用户的需求和期望。数据库设计:创建一个名为bazi的数据库表,包含以下字段:id(自增ID)、name(姓名)、sex(性别)、birth_date(出生日期)、birth_time(出生时间)、bazi(八字结果)。数据库设计:创建一个包含塔罗牌信息的数据库表,如tarot_cards,包含字段:id(塔罗牌ID)、name(塔罗牌名称)、meaning(塔罗牌含义)等。根据操作系统的不同,PHP的安装方法会有所不同。

shanbeizi的博客 2420

《雷达入门课 》系列文章(5)线性调频连续波雷达基本原理(第1讲)

S=B/Tc,是调频斜率。这里的混频公式推导过程比较简单,具体的混频过程如果感兴趣可以看下面粗略的推导,混频的本质就是频谱搬移,分为上变频和下变频,一般我们用下变频,即差频信号,因此需要一个低通滤波器即可滤出我们所需要的信号。答案就是因为中频信号能够映射出目标的距离信息,换句话说就是目标的距离不一样,返回的时间τ也就不一样,因此中频信号的频率大小也就不一样,可以说距离和中频信号是成映射关系的。中频只是表示信号频段的程度词,不是表示信号的状态词,意思就是说中频是指信号的频率不是很高,正好处于中间的地位。

【调皮连续波】雷达技术领域知识博主 6024

[数据转换]将NetCDF(NC)文件转换成单个GeoTIFF文件

有时候要提取tif格式数据中的气象数据,但从气象网站上下载的却是NC格式的文件。这就需要我们将NC格式的文件转换成TIF格式的文件。

G_sea_young的博客 1004

FPGA实现PID算法

PID 控制器表达式如下(引用某硕士论文 《基于FPGA的PID控制器研究与实现》): 其中,Kp为比例增益,Ti为积分时间常数,Td为微分时间常数,u(t)为控制量,e(t)为偏差。 在数字控制系统中,PID控制规律的实现必须用数值逼近的方法。当采样周期相当短时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变为差分方程。 本文使用并行结构来实现。具有延时小,计算速度快的特点,但需要资源比较多。 利用图3.2所示并行结构实现方法 ,进一步将3.8式分解: ...

nxin168的博客 1万+

手把手教你学Simulink——基于Simulink的前馈解耦SVPWM整流器仿真

本文详细介绍了基于Simulink的前馈解耦SVPWM整流器仿真方法。针对三相PWM整流器存在的dq轴交叉耦合问题,提出前馈解耦控制方案,通过在电流环中引入耦合电压补偿项,显著提升系统性能。文章包含完整的系统架构、核心算法、Simulink建模步骤及参数设置,仿真结果显示:电流跟踪误差<2%、动态响应时间<0.05s、THD<3%、功率因数>0.999。同时提供了可直接复用的MATLAB代码和工程优化建议,为电力电子工程师实现高精度AC/DC转换提供了实用解决方案。

MHD0815的博客 108

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 实时数仓实践(一)之数据库实时增量同步工具-CDC(Change Data Capture)
下一篇: [转载]深度对比delta、iceberg和hudi三大开源数据湖方案
NuOne_plus
博客等级 码龄9年 8粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值