zoukankan      html  css  js  c++  java
  • GoldenGate基于中间队列文件的初始化

    适用场景:异构平台的初始化,如oracle到db2, db2到mysql,oracle到big data/kafka/hdfs等。
    原理:通过OGG抽取源系统的数据,再投递加载到目标平台,从而避免人工数据导出、导入。
    限制:OGG的初始化无法与增量抽取进程无缝集成,这块需要单独考虑。

    方法一,抽取与传输分开

    --源端配置抽取进程, einit.prm

    sourceistable
    userid ogg, password ogg
    extfile ./dirdat/et, maxfiles 999999, megabytes 2000, append
    reportcount every 60 seconds, rate
    table scott.dept;


    --传输进程, puinit.prm

    extract puinit
    rmthost 10.0.0.100, mgrport 7809
    rmtfile ./dirdat/t2
    reportcount every 60 seconds, rate
    table scott.*;

    GGSCI>add ext puinit, exttrailSource ./dirdat/et
    GGSCI>add rmttrail ./dirdat/t2, ext puinit, megabytes 2000
    GGSCI>start puinit

    #启动初始化进程
    $ nohup ./extract pf dirprm/einit.prm rf dirrpt/einit.rpt &
    $ tail -f ./dirrpt/einit.rpt

    抽取完成之后,einit会自动停止;同时,可以查看puinit的状态和目标端trail的情况。

    以上做法要考虑本地空间是否够用,初始化时,会在本地保存初始表的所有数据,如果表非常大,则需要准备相应的磁盘空间,或根据puinit传输进程的读取点,手工删除已经传输完成的队列文件。

    方法二,抽取与传输同一进程

    如果确认网络没问题,也可以不考虑在本地保存trail,即OGG抽取之后直接传输到目标端,不在本地落盘。

     但此方法有两个缺点:

    1. 实践中,此做法效率较低,因为OGG在本地抽取很快,如果网络传输慢,则整个初始化过程会延时。
    2. 如果传输网络中断或其它问题造成抽取进程宕机,则需要重新开始初始化。(OGG初始化进程没有检查点机制)

    以下是抽取与传输合并之后的进程参数,供参考:
    --einit2.prm

    sourceistable
    userid ogg, password ogg
    rmthost 10.0.0.100, mgrport 7809
    rmtfile ./dirdat/t2, maxfiles 999999, megabytes 2000, append
    reportcount every 60 seconds, rate
    table scott.dept;

    $ nohup ./extract pf dirprm/einit2.prm rf dirrpt/einit2.rpt &
    $ tail -f ./dirrpt/einit2.rpt

    抽取完成之后,einit2会自动停止;同时,可以查看目标端trail的情况了解数据量的大小。

    --目标端进程, rinit.prm

    specialrun
    end runtime
    replicat rinit
    userid ogg, password ogg
    extfile ./dirdat/t2
    --handleCollisions
    reportcount every 1 minutes, rate
    map scott.dept,target scott.dept;

    --rinit进程的启动,可以在目标端有trail即可开始,不用等待源端抽取完成。
    $ nohup ./replicat pf dirprm/rinit.prm rf dirrpt/rinit.rpt &
    $ tail -f ./dirrpt/rinit.rpt

    rinit执行完成之后,会自动停止,可查看其对应的输出日志,也可以检查目标端的数据量。


    官方参考:
    https://docs.oracle.com/en/middleware/goldengate/core/19.1/admin/instantiating-oracle-goldengate-initial-load.html

  • 相关阅读:
    [GXOI/GZOI2019] 旧词
    [HDU6756] Finding a MEX
    [洛谷P5110] 块速递推
    [CF739C] Alyona and towers
    1349. 修理牛棚
    L2-028 秀恩爱分得快 (25 分)
    L2-009 抢红包 (25 分)
    L1-043 阅览室 (20 分)
    2020年天梯赛-模拟赛 L1-6 检查密码 (15 分)
    L1-046 整除光棍 (20 分)
  • 原文地址:https://www.cnblogs.com/margiex/p/14636232.html
Copyright © 2011-2022 走看看