17,377
社区成员
发帖
与我相关
我的任务
分享
OGG Adapter可以将源端数据库数据转成文本格式,以下为简单的adapter部署 adapter可以在源端也可以在目标端配置,本例转换过程在目标端完成,源端部署OGG,目标端部署OGG Adapter。 源端安装略过不提。 源端配置extract: edit params ext2 输入配置: EXTRACT ext2 SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8) USERID ddluser, PASSWORD ddluser exttrail ./dirdat/ff DDL INCLUDE MAPPED DDLOPTIONS ADDTRANDATA, REPORT TABLE test.t; 添加extract: add extract ext2,tranlog, begin now ADD EXTTRAIL ./dirdat/ff, EXTRACT ext2 源端配置data pump: edit params dp2 输入配置: extract dp2 SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8) userid ddluser, password ddluser passthru rmthost 192.168.56.79, mgrport 8809 rmttrail ./dirdat/ff table test.t; 添加data pump并关联远程trail: add extract dp2,exttrailsource ./dirdat/ff add rmttrail ./dirdat/ff, extract dp2, megabytes 5 生成源端definition file: edit params defgen 输入: DEFSFILE ./dirdef/t.def USERID ddluser, PASSWORD ddluser table test.t; 操作系统生成definition file: ./defgen paramfile ./dirprm/defgen.prm 源端配置完毕,开始目标端配置: 解压并反tar OGG Adapter: /u01/app/oggadapter tar -xvf ggs_Adapters_Linux_x64.tar 创建子目录: $ ./ggsci Oracle GoldenGate Command Interpreter Version 11.2.1.0.5 14722092 OGGCORE_11.2.1.0.5_PLATFORMS_130117.1330 Linux, x64, 64bit (optimized), Generic on Jan 17 2013 15:43:42 Copyright (C) 1995, 2013, Oracle and/or its affiliates. All rights reserved. GGSCI (oggt) 1> create subdirs Creating subdirectories under current directory /u01/app/oggadapter Parameter files /u01/app/oggadapter/dirprm: already exists Report files /u01/app/oggadapter/dirrpt: created Checkpoint files /u01/app/oggadapter/dirchk: created Process status files /u01/app/oggadapter/dirpcs: created SQL script files /u01/app/oggadapter/dirsql: created Database definitions files /u01/app/oggadapter/dirdef: created Extract data files /u01/app/oggadapter/dirdat: created Temporary files /u01/app/oggadapter/dirtmp: created Stdout files /u01/app/oggadapter/dirout: created GGSCI (oggt) 2> 使用如下命令编辑Adapter的mgr配置: GGSCI (oggt) 2> edit params mgr 填入如下内容: port 8809 注意:如果目标端有其他mgr存在,不要占用其他mgr进程的端口,而源端的data pump进程也应将远程mgr进程端口号配置为这个adapter的mgr端口号。 配置adapter的接受进程,其实它也是个extract进程: 进入ggsci执行: edit params ffwriter 填入如下内容: EXTRACT ffwriter SOURCEDEFS ./dirdef/t.def CUSEREXIT ./flatfilewriter.so CUSEREXIT PASSTHRU INCLUDEUPDATEBEFORES, PARAMS "./dirprm/ffwriter.properties" TABLE test.t; 注意:CUSEREXIT这一行必须是一行,中间不能有断行,否则启动ffwriter时会报错,进程ABEND。另外,表名什么的不要弄错,要不在日志中open trail file后,不会看到下面这样的信息: 2019-04-08 17:15:34 INFO OGG-06507 Oracle GoldenGate Capture, ffwriter.prm: MAP (TABLE) resolved (entry test.t): TABLE "TEST"."T". 2019-04-08 17:15:34 INFO OGG-02758 Oracle GoldenGate Capture, ffwriter.prm: The definition for table TEST.T is obtained from definitions file ./dirdef/t.def. 2019-04-08 17:15:34 INFO OGG-06509 Oracle GoldenGate Capture, ffwriter.prm: Using the following key columns for source table TEST.T: OBJECT_ID. 拷贝源端的definition file到./dirdef目录下。 拷贝ffwriter.properties文件: cp AdapterExamples/file-writer/ffue.properties dirprm/ffwriter.properties 添加adapter extract进程: ADD EXTRACT ffwriter, EXTTRAILSOURCE dirdat/ff 启动进程: start mgr start ffwriter 注意:很可惜,要使用ogg的字段隐射参数colmap,必须有目标表,如果配置成文本文件,无法进行字段隐射。data pump也无法对字段进行任何隐射处理,放弃吧,想要用文本,就必须配置奇葩的行、列分隔符。
源端和目标端用的ogg版本必须要一样吗?
发现个问题,就是用plsql插入数据后,源端和目标的进程日志都未发生任何变化。正常情况应该是每次更新数据后,日志中都会重新读写抽取数据给目标端吧?
有什么方法能查看下这个是不是指定对了吗