利用ogg微服务版将oracle同步到kafka
创始人
2024-04-09 20:00:11
0

ogg微服务版可以再界面上配置抽取、复制进程,不必进入到shell中进行配置,并且图形化界面可以看到更多信息。

系统架构

源端安装ogg for oracle 19C ,
目标端安装ogg for bigdata 21C
kafka 2.2
数据库:19C
所有软件安装在同台服务器上(Oracle Linux7)

源配置-抽取进程

示例数据配置

选取数据库自带的hr相关表作为示例演示(相关表配置有主键),比较符合规范。

sqlplus / as sysdba
alter session set "_ORACLE_SCRIPT"=true;
alter session set container=ORCLPDB1;
@?/demo/schema/human_resources/hr_main.sql

INSTALL OGG FOR ORACLE

#配置环境变量
# User specific aliases and functions
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB
export PATH=$PATH:$ORACLE_HOME/bin
export JAVA_HOME=/home/oracle/jdk1.8.0_351
export PATH=$JAVA_HOME/bin:$PATH 
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server:$LD_LIBRARY_PATH
#别名配置
alias ggsci='rlwrap ggsci'
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias lsnrctl='rlwrap lsnrctl'
alias asmcmd='rlwrap asmcmd'
alias adrci='rlwrap adrci'
#执行安装
sudo unzip /vagrant/$ORACLE_GG_SETUP_FILE -d /u01/ogg-installer
cp /vagrant/ora-response/ogg_install.rsp.tmpl /tmp/oggresponse.rsp
sed -i -e "s|###ORACLE_BASE###|$ORACLE_BASE|g" /tmp/oggresponse.rsp
sed -i -e "s|###ORACLE_HOME###|$ORACLE_HOME|g" /tmp/oggresponse.rsp
chown oracle:oinstall -R /u01/ogg-installer
chown oracle:oinstall -R /u01/ogg
#su -l oracle -c "/u01/ogg-installer/fbo_ggs_Linux_x64_shiphome/Disk1/runInstaller -silent -waitforcompletion -responseFile /tmp/oggresponse.rsp"
su -l oracle -c "/u01/ogg-installer/fbo_ggs_Linux_x64_Oracle_shiphome/Disk1/runInstaller -silent -waitforcompletion -responseFile /tmp/oggresponse.rsp"
echo "export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib" >> /home/oracle/.bashrc
rm -rf /u01/ogg-installer
rm /tmp/oggresponse.rsp
echo 'INSTALLER: Oracle Golden Gate Installed'

配置抽取进程

#1 Go to Oracle golden gate installation directory
cd /u01/ogg
#2 Open golden gate console.
./ggsci
#3 Start manager.
> start mgr
#4 Log in to the database.
> DBLOGIN USERID SYSTEM@localhost:1521/ORCLCDB PASSWORD [password copied while installation]
#5 Register Extract.
> REGISTER EXTRACT EXT1 DATABASE CONTAINER (ORCLPDB1)
#6 Enable schema-level supplemental logging for a table.
> ADD SCHEMATRANDATA ORCLPDB1.HR ALLCOLS
#7 Create an Extract group.
> ADD EXTRACT EXT1, INTEGRATED TRANLOG, BEGIN NOW
#9 Create a trail for online processing on the local system and Associate it with an Extract group.
> ADD EXTTRAIL ./dirdat/lt EXTRACT EXT1
#10 Create EXT1 parameter file and paste the content in the file.
> EDIT PARAM EXT1
EXTRACT EXT1
USERID SYSTEM@ORCLCDB, PASSWORD [password copied during installation]
EXTTRAIL ./dirdat/lt
SOURCECATALOG ORCLPDB1
TABLE HR.*;
#11 Start Extract EXT1.
> start ext1
#12 View status of manager and ext1.
> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING
EXTRACT     RUNNING     EXT1        00:00:00      00:00:00

目标配置-复制进程

安装微服务版

按照步骤参见.先将压缩包解压到一个临时目录,然后切换到临时目录执行安装进程

#配置环境变量
export OGG_HOME=/home/oggbd/ogg_home1
export JAVA_HOME=/home/oracle/jdk1.8.0_351
export PATH=$JAVA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server:$LD_LIBRARY_PATH#执行安装
[oggbd@oracle-goldengate-1910-vagrant Disk1]$ pwd
/home/oggbd/temp/ggs_Linux_x64_BigData_services_shiphome/Disk1
[oggbd@oracle-goldengate-1910-vagrant Disk1]$ ./r
response/     runInstaller  
[oggbd@oracle-goldengate-1910-vagrant Disk1]$ ./runInstaller 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[oggbd@oracle-goldengate-1910-vagrant ~]$ export OGG_HOME=ogg_home2
[oggbd@oracle-goldengate-1910-vagrant ~]$ cd $OGG_HOME
[oggbd@oracle-goldengate-1910-vagrant ogg_home2]$ cd bin
[oggbd@oracle-goldengate-1910-vagrant bin]$ ./oggca.sh 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个地方要注意下 LD_LIBRARY_PATH,不要重复导入,不然后面会有类冲突。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

执行配置复制进程

用localhost:8002进入,点击+号
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#custom_kafka_producer.properties 内容为:
bootstrap.servers=localhost:9092
acks=1
reconnect.backoff.ms=1000value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
key.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
# 100KB per partition
batch.size=16384
linger.ms=0

创建成功:
在这里插入图片描述
查看相关资源信息:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看kafka

#查看创建的topic
[root@oracle-goldengate-1910-vagrant bin]# ./kafka-topics.sh --zookeeper localhost:2181 --list
REGIONS
RKAFKA.rptmySchemaTopic
__consumer_offsets
mySchemaTopic
#查看同步过来的数据
[root@oracle-goldengate-1910-vagrant bin]# ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic REGIONS --from-beginning
&ORCLPDB1.HR.REGIONSI42022-11-15 16:54:43.00000042022-11-15T17:07:12.475000(00000000000000001783REGION_IDFOO
&ORCLPDB1.HR.REGIONSI42022-11-15 17:08:46.00000042022-11-15T17:08:49.231000(00000000000000001934REGION_IDHFOO1
{"table":"ORCLPDB1.HR.REGIONS","op_type":"I","op_ts":"2022-11-15 17:23:24.000000","current_ts":"2022-11-15T17:23:30.319000","pos":"00000000000000002081","after":{"REGION_ID":49,"REGION_NAME":"49"}}
{"table":"ORCLPDB1.HR.REGIONS","op_type":"I","op_ts":"2022-11-15 16:54:43.000000","current_ts":"2022-11-17 17:53:57.390000","pos":"00000000000000001783","after":{"REGION_ID":47,"REGION_NAME":"FOO"}}
{"table":"ORCLPDB1.HR.REGIONS","op_type":"I","op_ts":"2022-11-15 17:08:46.000000","current_ts":"2022-11-17 17:54:00.497000","pos":"00000000000000001934","after":{"REGION_ID":48,"REGION_NAME":"FOO1"}}
{"table":"ORCLPDB1.HR.REGIONS","op_type":"I","op_ts":"2022-11-15 17:23:24.000000","current_ts":"2022-11-17 17:54:00.516000","pos":"00000000000000002081","after":{"REGION_ID":49,"REGION_NAME":"49"}}
{"table":"ORCLPDB1.HR.REGIONS","op_type":"I","op_ts":"2022-11-15 16:54:43.000000","current_ts":"2022-11-17 17:54:01.712000","pos":"00000000000000001783","after":{"REGION_ID":47,"REGION_NAME":"FOO"}}
{"table":"ORCLPDB1.HR.REGIONS","op_type":"I","op_ts":"2022-11-15 17:08:46.000000","current_ts":"2022-11-17 17:54:01.837000","pos":"00000000000000001934","after":{"REGION_ID":48,"REGION_NAME":"FOO1"}}
{"table":"ORCLPDB1.HR.REGIONS","op_type":"I","op_ts":"2022-11-15 17:23:24.000000","current_ts":"2022-11-17 17:54:01.896000","pos":"00000000000000002081","after":{"REGION_ID":49,"REGION_NAME":"49"}}

参考资料

官方文档
The Ultimate Guide To Setup Golden Gate On Vagrant Box
OGG微服务部署配置
【ORACLE】OGG-微服务架构初探1(环境安装)
利用ogg实现oracle到kafka的增量
使用OGG微服务快速双向同步RDS for MySQL数据库
OGG|Oracle GoldenGate 微服务架构
徐靖专栏
袋鼠云金融交付团队-使用ogg实现oracle到kafka的增量数据实时同步

相关内容

热门资讯

法国总统马克龙起诉一名美国网红 综合路透社、美国有线电视新闻网(CNN)等多家外国媒体报道,法国总统马克龙与妻子布丽吉特·马克龙本周...
中信证券:反内卷”政策强度不断... 每经AI快讯,中信证券研报表示,“反内卷”政策强度不断升级,有望成为持续投资主线。长期看,反内卷需要...
推进检察公益诉讼有何经验 检察公益诉讼制度是习近平法治思想在公益保护领域的生动实践和原创性成果。检察公益诉讼制度取得的成效,是...
龙岗所有青年驿站均已设法律服务... 深圳新闻网2025年7月25日讯(深圳晚报记者 伊宵鸿) 近日,深圳市龙岗区司法局联合共青团深圳市龙...
王传君谈《南京照相馆》演汉奸:... 搜狐娱乐讯 (哈麦/文 马森/图/视频)7月24日,电影《南京照相馆》在北京首映,导演申奥,主演刘昊...
官方:王霄出任青岛红狮俱乐部体... 直播吧7月25日讯 青岛红狮俱乐部官方宣布,王霄正式出任俱乐部体育总监兼中方教练组组长。 青岛红狮俱...
航发控制:已制定市值管理制度强... 证券之星消息,航发控制(000738)07月25日在投资者关系平台上答复投资者关心的问题。 投资者提...
最高资助1500万!龙华发布人... 《大湾区产城速递》第767期 (1)最高资助1500万!龙华发布人才创业政策 日前,龙华区举行“龙舞...
原创 特... 据美国媒体报道,在短短3天内,马斯克在社交媒体上针对白宫相关事务,连续发布35条帖文。这一密集的发声...
欧洲云服务提供商组织起诉欧盟委... 欧洲云基础设施服务提供商协会(CISPE)7月24日宣布向欧洲普通法院正式提出上诉,质疑欧盟委员会此...