goldengate sql error 1403 mapping 错误解决方案
故障现象:
2011-09-06 15:45:29 warning ogg-01004 oracle goldengate delivery for oracle, rora_001.prm: aborted grouped transaction on 'realestate.jzwfcms', database error 1403 ().
2011-09-06 15:45:29 warning ogg-01003 oracle goldengate delivery for oracle, rora_001.prm: repositioning to rba 8825466 in seqno 34.
2011-09-06 15:45:29 warning ogg-01154 oracle goldengate delivery for oracle, rora_001.prm: sql error 1403 mapping realestate.jzwfcms to realestate.jzwfcms.
2011-09-06 15:45:29 warning ogg-01003 oracle goldengate delivery for oracle, rora_001.prm: repositioning to rba 9293635 in seqno 34.
2011-09-06 15:45:29 error ogg-01296 oracle goldengate delivery for oracle, rora_001.prm: error mapping from realestate.jzwfcms to realestate.jzwfcms.
2011-09-06 15:45:29 error ogg-01668 oracle goldengate delivery for oracle, rora_001.prm: process abending.
问题分析:
出现该问题一般都是由于同步的源和目标表结构不一致,包括表字段和索引。
除表结构外,数据的不一致也可能导致mapping 错误,如原库要delete或update时,gg库找不到该条数据等,具体原因见report中的错误号:
database error 1403
oerr ora 1403
01403, 00000, no data found
// *cause:
// *action:
问题处理:
1).如果是表字段不一致,需要修改表字段,,异构数据库还需要重新生成表结构定义文件,再重启进程。
2). 如果是索引不一致,需要重建索引,异构数据库还需要重新生成表结构定义文件,再重启进程。(之前没有关注索引是否一样,以后关注一下索引)
3). 遇到这种情况,不能先去对比两端的表结构(可能修改表结构的sql在后面执行),而应该先去查明原因。若是数据问题,可以跳过该表的同步,然后重新同步该表。