ogg改变表结构和新增表操作

修改表结构

修改表结构定义文件

1、[oracle端]切换oracle系统用户下

[oracle@vpc-oracle-01 ogg]$ su – oracle

2、[oracle端]修改表结构定义文件(由于配置table QHTX_DW.*;table QHTX.* 不需要操作)

[oracle@vpc-oracle-01 ogg]$ cd /u01/app/ogg/dirprm/
[oracle@vpc-oracle-01 ogg]$ vim htdefine.prm
defsfile /u01/app/ogg/dirdef/htdefine
userid ogg,password ogg
table QHTX_DW.*;

3、[oracle端]生成表结构文件并传到[kafka端]

[oracle@vpc-oracle-01 ogg]$ cd /u01/app/ogg/
[oracle@vpc-oracle-01 ogg]$ rm -rf /u01/app/ogg/dirdef/htdefine
[oracle@vpc-oracle-01 ogg]$ ./defgen paramfile ./dirprm/htdefine.prm
[oracle@vpc-oracle-01 ogg]$ scp /u01/app/ogg/dirdef/htdefine root@10.4.101.236:/usr/local/ogg/dirdef

4、[oracle端]重启oracle进程

GGSCI (qhtxdb) 4> stop *

Sending STOP request to EXTRACT EXTKAFKA ...
Request processed.

Sending STOP request to EXTRACT PUKAFKA ...
Request processed.
GGSCI (qhtxdb) 6> start *

Sending START request to MANAGER ...
EXTRACT EXTKAFKA starting

Sending START request to MANAGER ...
EXTRACT PUKAFKA starting


GGSCI (qhtxdb) 7> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     EXTKAFKA    00:00:00      00:00:02    
EXTRACT     RUNNING     PUKAFKA     00:00:00      00:00:23

 5、[kafka端]重启kafka端,并标记监听起始点 

stop REKAFKA2
ALTER REPLICAT REKAFKA2 BEGIN 2022-12-22 09:00 
或者
alter replicat REKAFKA2,begin now
start REKAFKA2

新增表

切换用户,进入到ogg命令行

[oracle@vpc-oracle-01 ogg]$ su – oracle
[oracle@vpc-oracle-01 ogg]$ ./ggsci

查看进程状态是否正常

GGSCI (localhost.localdomain) 1> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING
EXTRACT     RUNNING     EXTKAFKA    00:00:00      00:00:00
EXTRACT     RUNNING     PUKAFKA     00:00:00      00:00:04

数据库添加表附加日志

GGSCI (localhost.localdomain) 3> dblogin userid ogg, password ggsadmin123
GGSCI (localhost.localdomain as ogg@DCDBTEST) 4> add trandata QHTX_DW.TP_SF_HOLD

修改EXT配置

GGSCI (localhost.localdomain as ogg@DCDBTEST) 6> edit param EXTKAFKA

  添加:TABLE QHTX_DW.TP_SF_HOLD;

 修改PUMP配置

GGSCI (localhost.localdomain as ogg@DCDBTEST) 6> edit param PUKAFKA

  添加:TABLE QHTX_DW.TP_SF_HOLD; 

目标端进行配置

1、查看ogg状态

[root@vpc-kafka-01 ogg]# cd /usr/local/ogg/
[root@vpc-kafka-01 ogg]# ./ggsci
GGSCI (localhost.localdomain) 1> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING
REPLICAT    RUNNING     REKAFKA     00:00:00      00:00:00

2、新增topic,由于新增topic需要添加新的REPLICAT进程为 REKAFKA2

GGSCI (localhost.localdomain) 4> edit param REKAFKA2
REPLICAT rekafka2
TARGETDB LIBFILE libggjava.so SET property=/usr/local/ogg/dirprm/htf_damp_dimensionTopic.props
sourcedefs /usr/local/ogg/dirdef/htdefine OVERRIDE
REPORTCOUNT EVERY 1 MINUTES, RATE
HANDLECOLLISIONS
GROUPTRANSOPS 10000
MAP QHTX_DW.TP_SF_HOLD,target QHTX_DW.TP_SF_HOLD;

参数解释:

REPLICATE:rekafka定义rep进程名称,现在新增的为REKAFKA2

TARGETDB LIBFILE:修改为对应的topic文件名,后面会创建该文件

最后一行改为:topic对应监听表名

GGSCI (localhost.localdomain) 6> add replicat rekafka2 exttrail /usr/local/ogg/dirdat/hr,checkpointtable ogg.checkpointtab

3、退出ogg命令行,创建topic文件

[root@localhost ogg]# cd /usr/local/ogg/dirprm/
[root@localhost dirprm]# cp htf_damp_rsync_topic.props htf_damp_dimensionTopic.props

修改新topic文件内容htf_damp_dimensionTopic.props

[root@qhtx_kafka_001 dirprm]# cat /usr/local/ogg/dirprm/OGG_T_DAMP_DW_LINK_DATA.props
gg.handlerlist = kafkahandler
gg.handler.kafkahandler.type=kafka
gg.handler.kafkahandler.KafkaProducerConfigFile=custom_kafka_producer.properties
#The following resolves the topic name using the short table name
gg.handler.kafkahandler.topicMappingTemplate=htf_damp_dimensionTopic
#The following selects the message key using the concatenated primary keys
#gg.handler.kafkahandler.keyMappingTemplate=${primaryKeys}
gg.handler.kafkahandler.keyMappingTemplate=${currentTimestamp}
#gg.handler.kafkahandler.format=avro_op
gg.handler.kafkahandler.format=json

gg.handler.kafkahandler.format.insertOpKey=I
gg.handler.kafkahandler.format.updateOpKey=U
gg.handler.kafkahandler.format.deleteOpKey=D
gg.handler.kafkahandler.format.truncateOpKey=T
gg.handler.kafkahandler.format.prettyPrint=false
gg.handler.kafkahandler.format.jsonDelimiter=CDATA[]
gg.handler.kafkahandler.format.includePrimaryKeys=true
gg.handler.kafkahandler.SchemaTopicName=htf_damp_dimensionTopic
gg.handler.kafkahandler.BlockingSend =false
gg.handler.kafkahandler.includeTokens=false
gg.handler.kafkahandler.mode=op


goldengate.userexit.writers=javawriter
javawriter.stats.display=TRUE
javawriter.stats.full=TRUE

gg.log=log4j
gg.log.level=INFO

gg.report.time=30sec

#Sample gg.classpath for Apache Kafka
gg.classpath=dirprm/:/usr/local/kafka/kafka_2.13-2.7.0/libs/*
#Sample gg.classpath for HDP
#gg.classpath=/etc/kafka/conf:/usr/hdp/current/kafka-broker/libs/*

javawriter.bootoptions=-Xmx512m -Xms32m -Djava.class.path=ggjava/ggjava.jar

4、配置完成,进行重启

oracle源端的ogg进行重启

GGSCI (localhost.localdomain as ogg@DCDBTEST) 11> stop *
GGSCI (localhost.localdomain as ogg@DCDBTEST) 12> start *

查看启动是否正常

GGSCI (localhost.localdomain as ogg@DCDBTEST) 30> info all

5、目标端标记监听起始点

stop REKAFKA2
ALTER REPLICAT REKAFKA2 BEGIN 2022-12-22 09:00 
或者
alter replicat REKAFKA2,begin now
start REKAFKA2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值