Almost a month without post!
My bad, december is always a crazy time to DBAs, right?
This post’s title error happens because the charset is different between databases used on replication thought GoldenGate and occurs only with alphanumerical columns (CHAR, VARCHAR, VARCHAR2), because, even the char length be the same, the data length will be different (like I explained here). Take a look in this example:
sourcedb> select table_name,column_name,data_length,char_length from dba_tab_cols where column_name=’NAME' order by 1,2,3; TABLE_NAME COLUMN_NAME DATA_LENGTH CHAR_LENGTH ------------- --------------- ----------- ----------- TABLE_EXAMPLE NAME 25 25
destdb> select table_name,column_name,data_length,char_length from dba_tab_cols where column_name=’NAME' order by 1,2,3;
TABLE_NAME COLUMN_NAME DATA_LENGTH CHAR_LENGTH
------------- --------------- ----------- -----------
TABLE_EXAMPLE NAME 100 25
There is basically two solutions:
1) Change one of those charsets.
2) Add “SOURCECHARSET PASSTHRU” clause on the replicat file.
I usually prefer the second option, just because it’s less intrusive than number 1.
See ya!
Matheus.