goldengate 错误警集

本文详细介绍了使用Oracle GoldenGate (OGG) 进行数据同步时可能遇到的问题及解决方法,包括表创建、索引建立、列映射、字段长度不匹配等问题,并提供了具体的配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试表

create table DATA_CHANGE_HIS
(
  OID          NUMBER(38),
  TABLE_NAME   VARCHAR2(1000),
  BEFORE_AFTER VARCHAR2(32),
  DEAL_DATE    TIMESTAMP(6),
  OP_FLAG      VARCHAR2(32),
  NAME         VARCHAR2(50),
  COL1         NVARCHAR2(1000),
  COL2         NVARCHAR2(1000),
  COL3         NVARCHAR2(1000),
  COL4         NVARCHAR2(1000),
  COL5         NVARCHAR2(1000),
  COL6         NVARCHAR2(1000),
  COL7         NVARCHAR2(1000)
)

 create unique index FBK_UNIQUE on DATA_CHANGE_HIS (COL7)

 

 

GGSCI>目标端复制进程参数

 

MAP sgs_chj.*, target sgs_fbk.DATA_CHANGE_HIS,
COLMAP ( OID = OID , 
         TABLE_NAME=@getenv("GGHEADER", "TABLENAME"),
         BEFORE_AFTER=@getenv("GGHEADER", "BEFOREAFTERINDICATOR"),
         DEAL_DATE=@getenv ("GGHEADER", "COMMITTIMESTAMP"),
         OP_FLAG=@getenv ("GGHEADER", "OPTYPE"),
  COL7 = COL7
);

 

 

1、COLMAP (包含所有列)但并未建索引

warning   No unique key is defined for table DATA_CHANGE_HIS. All viable columns will be used to represent the key, but may not guarantee uniqueness.  KEYCOLS may be used to define the key.

说明映射表中缺少索引,将会用所有字段作为索引。可在该表中选一字段建索引

 

若COLMAP (未包含所有表字段 (col1等))

报 Key column COL1 is missing from map.

 

2、Error in COLMAP clause

 

报列匹配条件错误

 一般情况下:colmap中的所有列名为目标表的列名如下:

-->ggsci>

MAP sgs_chj.*, target sgs_fbk.DATA_CHANGE_HIS,
COLMAP ( OID = OID
         TABLE_NAME=@getenv("GGHEADER", "TABLENAME"),
         BEFORE_AFTER=@getenv("GGHEADER", "BEFOREAFTERINDICATOR"),
         DEAL_DATE=@getenv ("GGHEADER", "COMMITTIMESTAMP"),
         OP_FLAG=@getenv ("GGHEADER", "OPTYPE"),
  COL7 = COL7
);

 

 3、Key column COL7 is missing from map.

  当col7设为索引时,如果在COLMAP 列中未写 会报错的

 

 4、Bad column length (549) specified for column TABLE_NAME in table SGS_CHJ.SDE_LINE, maximum allowable length is 400.

 

报源端映射过来的值比目标字段的长度大,而插入失败,修改目标字段长度

 

5、 Bad column index (11) specified for table SDE.NJP, max columns = 5.

经测试在OGG同步过程中,源端表字段要求小于等于目标端表字段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值