gg在目的端添加标示字段

1.在目的数据库的相关表中,添加字段。注意字段的数据类型。

2. rep.prm中进行如下的添加


map 'lc0019999.KCCKD2', target gguser.KCCKD2, COLMAP (USEDEFAULTS, ETL_FL_NM = "gg_online", BUSI_DATE = @COLSTAT (NULL), PPN_TMSTAMP = @COLSTAT (NULL), OPERATION_TYPE = @GETENV ("GGHEADER", "OPTYPE") , MODIFY_DATETIME = @GETENV ("GGHEADER", "COMMITTIMESTAMP"));

值得注意的是:OPERATION_TYPE = @GETENV ("GGHEADER", "OPTYPE") 这一个列,在数据库表中,请指定好此列的数据类型,否则会导致gg的replicat 进程启动不了。

比如:

第一,查询rpt 文件得知:

***********************************************************************
** Run Time Messages **
***********************************************************************

Opened trail file /db2/ggv11db2/dirdat/bb000008 at 2011-05-25 16:37:06

MAP resolved (entry LC0019999.KCCKD2):
map LC0019999.KCCKD2, target GGSCHEMA.KCCKD2, COLMAP (USEDEFAULTS, ETL_FL_NM =1, BUSI_DATE = @COLSTAT (NULL), PPN_TMSTAMP = @COLSTAT (NULL), OPERTYPE = @GETENV ("GGHEADER", "OPTYPE") , MODIFY_DATATIME = @GETENV ("GGHEADER", "COMMITTIMESTAMP"));
Using the following default columns with matching names:
KCCKD2_PJLX=KCCKD2_PJLX, KCCKD2_LSBH=KCCKD2_LSBH, KCCKD2_FLBH=KCCKD2_FLBH, KCCKD2_WLBH=KCCKD2_WLBH, KCCKD2_TSKC=KCCKD2_TSKC, KCCKD2_XGDX=KCCKD2_XGDX, KCCKD2_DDLS=KCCKD2_DDLS, KCCKD2_DDFL=KCCKD2_DDFL, KCCKD2_TDLS=KCCKD2_TDLS, KCCKD2_WTLS=KCCKD2_WTLS, KCCKD2_WTFL=KCCKD2_WTFL, KCCKD2_QLLS=KCCKD2_QLLS, KCCKD2_QLFL=KCCKD2_QLFL, KCCKD2_HXSL=KCCKD2_HXSL, KCCKD2_HXFSL1=KCCKD2_HXFSL1, KCCKD2_HXFSL2=KCCKD2_HXFSL2, KCCKD2_HXDJ=KCCKD2_HXDJ, KCCKD2_HXJE=KCCKD2_HXJE, KCCKD2_GZZX=KCCKD2_GZZX, KCCKD2_PCH=KCCKD2_PCH,
KCCKD2_HWBH=KCCKD2_HWBH, KCCKD2_ZYX1=KCCKD2_ZYX1, KCCKD2_ZYX2=KCCKD2_ZYX2, KCCKD2_ZYX3=KCCKD2_ZYX3, KCCKD2_ZYX4=KCCKD2_ZYX4, KCCKD2_ZYX5=KCCKD2_ZYX5, KCCKD2_WLZT=KCCKD2_WLZT, KCCKD2_WLBZ=KCCKD2_WLBZ, KCCKD2_QLSL=KCCKD2_QLSL, KCCKD2_SL=KCCKD2_SL, KCCKD2_DJ=KCCKD2_DJ, KCCKD2_JE=KCCKD2_JE, KCCKD2_FSL1=KCCKD2_FSL1, KCCKD2_FSL2=KCCKD2_FSL2, KCCKD2_TDFL=KCCKD2_TDFL, KCCKD2_XEFL=KCCKD2_XEFL, KCCKD2_BZBH=KCCKD2_BZBH, KCCKD2_GXBH=KCCKD2_GXBH, KCCKD2_ZJZT=KCCKD2_ZJZT, KCCKD2_ZJJL=KCCKD2_ZJJL,
KCCKD2_CLFS=KCCKD2_CLFS, KCCKD2_ZJWC=KCCKD2_ZJWC, KCCKD2_JSSL=KCCKD2_JSSL, KCCKD2_BGDH=KCCKD2_BGDH, KCCKD2_BZ=KCCKD2_BZ, KCCKD2_C1=KCCKD2_C1, KCCKD2_C2=KCCKD2_C2, KCCKD2_C3=KCCKD2_C3, KCCKD2_C4=KCCKD2_C4, KCCKD2_C5=KCCKD2_C5, KCCKD2_U1=KCCKD2_U1, KCCKD2_U2=KCCKD2_U2, KCCKD2_U3=KCCKD2_U3, KCCKD2_FSL3=KCCKD2_FSL3, KCCKD2_FQLSL=KCCKD2_FQLSL, KCCKD2_CXESL=KCCKD2_CXESL, KCCKD2_CBBZ=KCCKD2_CBBZ, KCCKD2_THDZSL=KCCKD2_THDZSL, KCCKD2_THDJCSL=KCCKD2_THDJCSL, KCCKD2_SCSQLS=KCCKD2_SCSQLS, KCCKD2_SCSQFL=KCCKD2_SCSQFL,
KCCKD2_SCDDLS=KCCKD2_SCDDLS

Using the following key columns for target table GGSCHEMA.KCCKD2: KCCKD2_PJLX, KCCKD2_LSBH, KCCKD2_FLBH, KCCKD2_WLBH, KCCKD2_TSKC, KCCKD2_XGDX, KCCKD2_DDLS, KCCKD2_DDFL, KCCKD2_TDLS, KCCKD2_WTLS, KCCKD2_WTFL, KCCKD2_QLLS, KCCKD2_QLFL, KCCKD2_HXSL, KCCKD2_HXFSL1, KCCKD2_HXFSL2, KCCKD2_HXDJ, KCCKD2_HXJE, KCCKD2_GZZX, KCCKD2_PCH, KCCKD2_HWBH, KCCKD2_ZYX1, KCCKD2_ZYX2, KCCKD2_ZYX3, KCCKD2_ZYX4, KCCKD2_ZYX5, KCCKD2_WLZT, KCCKD2_WLBZ, KCCKD2_QLSL, KCCKD2_SL, KCCKD2_DJ, KCCKD2_JE, KCCKD2_FSL1, KCCKD2_FSL2, KCCKD2_TDFL, KCCKD2_XEFL, KCCKD2_BZBH, KCCKD2_GXBH, KCCKD2_ZJZT, KCCKD2_ZJJL, KCCKD2_CLFS, KCCKD2_ZJWC, KCCKD2_JSSL, KCCKD2_BGDH, KCCKD2_BZ, KCCKD2_C1, KCCKD2_C2, KCCKD2_C3, KCCKD2_C4, KCCKD2_C5, KCCKD2_U1, KCCKD2_U2, KCCKD2_U3, KCCKD2_FSL3, KCCKD2_FQLSL, KCCKD2_CXESL, KCCKD2_CBBZ, KCCKD2_THDZSL, KCCKD2_THDJCSL, KCCKD2_SCSQLS, KCCKD2_SCSQFL, KCCKD2_SCDDLS, ETL_FL_NM, BUSI_DATE, PPN_TMSTAMP, OPERTYPE, MODIFY_DATATIME.


2011-05-25 16:37:06 WARNING OGG-01431 Aborted grouped transaction on 'GGSCHEMA.KCCKD2', Mapping error.

2011-05-25 16:37:06 WARNING OGG-01003 Repositioning to rba 3842 in seqno 8.

2011-05-25 16:37:06 WARNING OGG-01151 Error mapping from LC0019999.KCCKD2 to GGSCHEMA.KCCKD2.

2011-05-25 16:37:06 WARNING OGG-01003 Repositioning to rba 3842 in seqno 8.

Source Context :
SourceModule : [er.main]
SourceID : [/mnt/ecloud/workspace/Build_OpenSys_r11.1.1.0.0_078_[37283]/perforce/src/app/er/rep.c]
SourceFunction : [take_rep_err_action]
SourceLine : [15780]
ThreadBacktrace : [8] elements
: [/db2/ggv11db2/replicat(CMessageContext::AddThreadContext()+0x26) [0x70a036]]
: [/db2/ggv11db2/replicat(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+0x7b2) [0x700ad2]]
: [/db2/ggv11db2/replicat(_MSG_ERR_MAP_TO_TANDEM_FAILED(CSourceContext*, DBString<777> const&, DBString<777> const&, CMessageFactory::MessageDisposition)+0x9b) [0x6ac89b]]
: [/db2/ggv11db2/replicat [0x550e93]]
: [/db2/ggv11db2/replicat [0x55a20a]]
: [/db2/ggv11db2/replicat(main+0xe9c) [0x55bedc]]
: [/lib64/libc.so.6(__libc_start_main+0xf4) [0x389281d974]]
: [/db2/ggv11db2/replicat(__gxx_personality_v0+0x19a) [0x4ce81a]]

2011-05-25 16:37:06 ERROR OGG-01296 Error mapping from LC0019999.KCCKD2 to GGSCHEMA.KCCKD2.

第二:查询discard文件得知:


Oracle GoldenGate Delivery for DB2 process started, group MSS discard file opened: 2011-05-25 16:30:15

Mapping error to target column: OPERATION_TYPE
Mapping error to target column: OPERATION_TYPE
Current time: 2011-05-25 16:30:16
Discarded record from action ABEND on error 0

Aborting transaction on /db2/ggv11db2/dirdat/bb beginning at seqno 8 rba 3842
error at seqno 8 rba 3842
Problem replicating LC0019999.KCCKD2 to GGSCHEMA.KCCKD2

由于给 OPERATION_TYPE列指定了非字符型的数据类型,导致gg在map时报错,进而导致replicat启动失败。

注意:在本例子之前,源端lc0019999.kcckd2 和目的端的gguser.kcckd2 的表结构是一致的,同步是正常运行的。

本例子是在目的端的表中,加入了几个标识列。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/161195/viewspace-1050386/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/161195/viewspace-1050386/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答你的问题。首先,GG-Editor 是一个基于 G6 实现的图形编辑器,它提供了一系列编辑和展示流程图、拓扑图、类关系图等的功能。如果你想在React项目中引入GG-Editor,可以按照以下步骤进行: 1. 安装 GG-Editor 你可以通过 npm 或者 yarn 安装 GG-Editor,具体命令如下: ``` npm install gg-editor --save ``` 或者 ``` yarn add gg-editor ``` 2. 引入 GG-Editor 在你的 React 项目中,可以通过以下方式引入 GG-Editor: ```javascript import React from 'react'; import GGEditor, { Flow } from 'gg-editor'; const YourComponent = () => { return ( <GGEditor> <Flow /> </GGEditor> ); }; export default YourComponent; ``` 在上面的代码中,我们使用了 GGEditor 和 Flow 组件,其中 GGEditor 是 GG-Editor 的核心组件,可以包含多个编辑器实例,而 Flow 是一个基于 G6 实现的流程图组件,用于展示和编辑流程图。 3. 配置 GG-Editor 你可以在 GGEditor 组件上通过 props 进行一些配置,例如: ```javascript <GGEditor className="editor" style={{ width: '100%', height: '100%' }}> <Flow /> </GGEditor> ``` 4. 编辑流程图 在 GG-Editor 中,你可以使用 Flow 组件来编辑流程图。例如,下面的代码演示了如何在 Flow 组件中添加一个节点: ```javascript import React from 'react'; import GGEditor, { Flow } from 'gg-editor'; const YourComponent = () => { const data = { nodes: [ { id: 'node1', x: 50, y: 50, label: 'Node 1', }, ], edges: [], }; return ( <GGEditor className="editor" style={{ width: '100%', height: '100%' }}> <Flow data={data} /> </GGEditor> ); }; export default YourComponent; ``` 在上面的代码中,我们通过 data 属性传入了一个包含一个节点的数据对象,然后在 Flow 组件中展示了这个流程图。 希望这些步骤能够帮助你在 React 项目中引入 GG-Editor。如果你有任何问题,请随时提出!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值