1 场景:ORACLE----PG 源端有一次做UPDATE操作,而如果刚好这条记录不在目标端对应表的话(情况多种:被删除,未同步等等),假如A表有三个字段:aa,bb,cc SQL: update A表只修改aa字段,而bb,cc字段都有非空约束,那么这种情况R进程的报错信息,只有aa字段才会有值,而bb,cc字段都被置为null,这时候就会报违反非空约束
解决办法: dblogin
add trandata xxx.a ALLCOLS
info trandata xxx.a
2 场景:ORACLE----PG
OGG R 进程日志报 invalid byte sequence for encoding "UTF8" \0x00
解决办法:
在 /opt/goldengate/dirprm中增加一个文件:char.txt
文件内容为:
SOURCECHARSET UTF-8
TARGETCHARSET UTF-8
\x00 \x20
在R进程的配置文件里增加一行:
CHARMAP /opt/goldengate/dirprm/char.txt
3 OGG 中dblogin PG数据库
export LD_LIBRARY_PATH=/opt/pgsql/lib:/opt/goldengate/lib
export ODBCINI=/opt/goldengate/odbc/odbc_lych.ini
cd /opt/goldengate
./ggsci
dblogin sourcedb xxx,userid xxx,password xxx