OGG to Kafka 数据初始化

对于没有业务数据的表,我们可以直接配到OGG同步队列即可。

对于有业务数据的表,我们则需要进行数据初始化来保障两端数据一致。当然如果业务数据写入可控的话,也可以使用其他方式进行数据初始化。

 

软件需求:

        负责投递的OGG软件需要使用Oracle GoldenGate for Big Data

 

操作步骤:

1.源端设置初始化进程

GGSCI (bjkjy-erp-dev7db01.bjkjy) 6> add extract ei_e2r,sourceistable
EXTRACT added

 

2.源端初始化进程参数配置

[erpdev7@bjkjy-erp-dev7db01 dirprm]$ vim ei_e2r.prm
extract ei_e2r
setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
userid ggs,password ggs
SETENV (ORACLE_HOME = "/home/erpdev7/product/11.2.0" )
rmthost 10.229.148.28,mgrport 7848
rmttask replicat,group ri_e2r
include ./dirprm/e_e2r_02.lst
rmthost、mgrport  对应目标端的ip和mgr端口
group 对应目标端的写入进程

 

3.目标端设置初始化写入进程

GGSCI (bjhw-erp-dev8070.bjhw) 7> add replicat ri_e2r,specialrun
REPLICAT added.

 

4.目标端初始化进程参数配置

replicat ri_e2r
sourcecharset ZHS16GBK
setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
targetdb libfile libggjava.so set property=./dirprm/p_e2r_02.properties
sourcedefs ./dirdef/ora_e_e2r_02.def
discardfile ./dirrpt/ri_e2r.dsc,purge

map hr.per_all_people_f,target hr.per_all_people_f;
map hr.per_all_assignments_f,target hr.per_all_assignments_f;
map hr.hr_all_organization_units,target hr.hr_all_organization_units;
map applsys.wf_routing_rules,target applsys.wf_routing_rules;
map applsys.wf_item_types_tl,target applsys.wf_item_types_tl;

注意参数 property  要指向Kafka的参数配置文件

 

5.源端停止正常的抽取进程 开启初始化进程

GGSCI (bjkjy-erp-dev7db01.bjkjy) 8> stop E_E2R_02

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

GGSCI (bjkjy-erp-dev7db01.bjkjy) 2> start ei_e2r

Sending START request to MANAGER ...
EXTRACT EI_E2R starting

 

6.观察源端和目标端的ggserr.log文件  查看初始化进程是否正常运行

源端正常的ggserr.log输出如下:

2020-12-21 16:09:03  INFO    OGG-00993  Oracle GoldenGate Capture for Oracle, ei_e2r.prm:  EXTRACT EI_E2R started.
2020-12-21 16:09:10  INFO    OGG-02911  Oracle GoldenGate Capture for Oracle, ei_e2r.prm:  Processing table APPS.BASE_APPROVAL_TYPE_MAPPING.
2020-12-21 16:09:10  INFO    OGG-02911  Oracle GoldenGate Capture for Oracle, ei_e2r.prm:  Processing table HR.PER_ALL_PEOPLE_F.
2020-12-21 16:21:37  INFO    OGG-02911  Oracle GoldenGate Capture for Oracle, ei_e2r.prm:  Processing table HR.PER_ALL_ASSIGNMENTS_F.
2020-12-21 16:35:31  INFO    OGG-02911  Oracle GoldenGate Capture for Oracle, ei_e2r.prm:  Processing table HR.HR_ALL_ORGANIZATION_UNITS.
2020-12-21 16:35:35  INFO    OGG-02911  Oracle GoldenGate Capture for Oracle, ei_e2r.prm:  Processing table APPLSYS.WF_ROUTING_RULES.
2020-12-21 16:35:35  INFO    OGG-02911  Oracle GoldenGate Capture for Oracle, ei_e2r.prm:  Processing table APPLSYS.WF_ITEM_TYPES_TL.
2020-12-21 16:35:35  INFO    OGG-00991  Oracle GoldenGate Capture for Oracle, ei_e2r.prm:  EXTRACT EI_E2R stopped normally.


同时目标端可以通过命令查看写入进程的实时写入状态:

GGSCI (bjhw-erp-dev8070.bjhw) 7> stats ri_e2r

 

7.一切顺利的话  初始化进程在初始化完成后会自动停止,此时我们再打开正常的OGG抽取进程,开始同步即可

 

 

附:在初始化过程中遇到的问题

  1. start ei_e2r时候报错 ERROR   OGG-01201  Oracle GoldenGate Capture for Oracle, ei_e2r.prm:  Error reported by MGR : Access denied.

    原因:
    初始化的时候,源端的进程会远程开启目标端的写入进程,如果源端没有被授权的话,目标的MGR进程会拒绝此次操作

    解决办法:
    目标端mgr参数文件里配置(metalink 2098284.1,2095174.1,GoldenGate 12.2新特性):
    ACCESSRULE, PROG *, IPADDR 172.31.38.50, ALLOW

    重启目标端mgr生效,再重新start源端进程即可
     
  2. EXTRACT task RI_E2R abended : (ri_e2r.prm) line 4: Parameter ['libfile'] is not valid for this configuration.

    原因:
    目标端的ogg版本不对  不是OGG for BigData版本的,无法识别参数libfile

    解决办法:
    更换目标端OGG版本(Doc ID 2120033.1)
     
  3. EXTRACT task RI_E2R abended : Error loading Java VM runtime library: (2 No such file or directory).
    目标端view report ri_e2r_02,提示 Replicat Error - OGG-15051 Java Or JNI Exception: Unsupported major.minor version 51.0

    原因:
    JAVA环境问题,OGG Bigdata 12.3 works only on java 1.8 ,OGG Bigdata 12.2 works  on java 1.8 or  java 1.7

    解决办法:
    调整JAVA环境相关变量 JAVA_HOME、PATH、LD_LIBRARY_PATH
    调整完成后重启目标端mgr后即可 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值