在Windows环境下配置了OGG10g到11g的同步,数据抽取、传输都没问题,但最后一步复制到目标数据库出问题了,查看日志是字符集不一致造成,日志信息如下:
2017-08-14 20:48:00 INFO OGG-00987 Oracle GoldenGate Command Interpreter for Oracle: GGSCI command (Administrator): start repl.
2017-08-14 20:48:01 INFO OGG-00963 Oracle GoldenGate Manager for Oracle, mgr.prm: Command received from GGSCI on host WIN-MGD10HEP2HN:49677 (START REPLICAT REPL ).
2017-08-14 20:48:01 INFO OGG-00975 Oracle GoldenGate Manager for Oracle, mgr.prm: REPLICAT REPL starting.
2017-08-14 20:48:01 INFO OGG-00995 Oracle GoldenGate Delivery for Oracle, REPL.prm: REPLICAT REPL starting.
2017-08-14 20:48:01 INFO OGG-03035 Oracle GoldenGate Delivery for Oracle, REPL.prm: Operating system character set identified as GBK. Locale: zh_Hans_CN, LC_ALL:.
2017-08-14 20:48:01 INFO OGG-03501 Oracle GoldenGate Delivery for Oracle, REPL.prm: WARNING: NLS_LANG environment variable is invalid or not set. Using operating system character set value of US7ASCII.
2017-08-14 20:48:01 INFO OGG-01815 Oracle GoldenGate Delivery for Oracle, REPL.prm: Virtual Memory Facilities for: COM
anon alloc: MapViewOfFile anon free: UnmapViewOfFile
file alloc: MapViewOfFile file free: UnmapViewOfFile
target directories:
C:\OGG\dirtmp.
2017-08-14 20:48:02 INFO OGG-00996 Oracle GoldenGate Delivery for Oracle, REPL.prm: REPLICAT REPL started.
2017-08-14 20:51:40 INFO OGG-00963 Oracle GoldenGate Manager for Oracle, mgr.prm: Command received from EXTRACT on host JTV-76644BE50DE:1219 (START SERVER CPU -1 PRI -1 TIMEOUT 300 PARAMS ).
2017-08-14 20:51:40 INFO OGG-01677 Oracle GoldenGate Collector for Oracle: Waiting for connection (started dynamically).
2017-08-14 20:51:41 INFO OGG-00963 Oracle GoldenGate Manager for Oracle, mgr.prm: Command received from SERVER on host WIN-MGD10HEP2HN:49722 (REPORT 3168 7501).
2017-08-14 20:51:41 INFO OGG-00974 Oracle GoldenGate Manager for Oracle, mgr.prm: Manager started collector process (Port 7501).
2017-08-14 20:51:41 INFO OGG-01228 Oracle GoldenGate Collector for Oracle: Timeout in 300 seconds.
2017-08-14 20:52:00 INFO OGG-01229 Oracle GoldenGate Collector for Oracle: Connected to JTV-76644BE50DE:1226.
2017-08-14 20:52:00 INFO OGG-01669 Oracle GoldenGate Collector for Oracle: Opening c:\ogg\dirdat\et000001 (byte -1, current EOF 1142).
2017-08-14 20:52:00 INFO OGG-01670 Oracle GoldenGate Collector for Oracle: Closing c:\ogg\dirdat\et000001.
2017-08-14 20:52:00 INFO OGG-01669 Oracle GoldenGate Collector for Oracle: Opening c:\ogg\dirdat\et000001 (byte 1142, current EOF 1142).
2017-08-14 20:52:00 INFO OGG-01735 Oracle GoldenGate Collector for Oracle: Synchronizing c:\ogg\dirdat\et000001 to disk.
2017-08-14 20:52:00 INFO OGG-01735 Oracle GoldenGate Collector for Oracle: Synchronizing c:\ogg\dirdat\et000001 to disk.
2017-08-14 20:52:00 INFO OGG-01670 Oracle GoldenGate Collector for Oracle: Closing c:\ogg\dirdat\et000001.
2017-08-14 20:52:00 INFO OGG-01669 Oracle GoldenGate Collector for Oracle: Opening c:\ogg\dirdat\et000002 (byte -1, current EOF 0).
2017-08-14 20:52:00 INFO OGG-01020 Oracle GoldenGate Delivery for Oracle, REPL.prm: Processed extract process RESTART_ABEND record at seq 2, rba 1117 (aborted 0 records).
2017-08-14 20:52:10 INFO OGG-01020 Oracle GoldenGate Delivery for Oracle, REPL.prm: Processed extract process RESTART_ABEND record at seq 2, rba 1179 (aborted 0 records).
2017-08-14 20:52:12 WARNING OGG-03504 Oracle GoldenGate Delivery for Oracle, REPL.prm: NLS_LANG character set US7ASCII on the target is different from the source database character set ZHS16GBK. Replication may not be valid if the source data has an incompatible character for the target NLS_LANG character set.
这个问题解决了,把setenv放到登录用户名密码上面就不报错了
http://www.itpub.net/thread-1853213-1-1.html
非常感谢,不过问题不太一样,链接中的问题是字符集设置成功了,只是兼容性的问题。
而我的问题是设置的字符集不起作用,OGG不认,而使用了操作系统的字符集:
2017-08-15 07:39:21 INFO OGG-03501 Oracle GoldenGate Delivery for Oracle, REPL.prm: WARNING: NLS_LANG environment variable is invalid or not set. Using operating system character set value of US7ASCII.
__
难道是OGG的bug?OGG版本:Oracle GoldenGate (11.2.1.0.3) for Microsoft Windows x64 (64-bit).zip
实际上数据源也有这个问题,但OGG使用数据库字符集了:
2017-08-14 18:45:32 INFO OGG-03500 Oracle GoldenGate Capture for Oracle, EORA.prm: WARNING: NLS_LANG environment variable does not match database character set, or not set. Using database character set value of ZHS16GBK.
是配置文件格式不对吗?
replicat repl
userid ogg,password ogg
setenv(NLS_LANG="AMERICAN_AMERICA.AL32UTF8")
assumetargetdefs
reperror default,discard
discardfile ./dirrpt/repl.dsc,append,megabytes 50
dynamicresolution
MAP kckfgl.*, target kckfgl.*;
MAP blobfile.*, target blobfile.*;