OGG 网络异常导致传输进程hang OGG-01031

来源:这里教程网 时间:2026-03-03 19:47:17 作者:

由于网络波动,造成传输进程异常是很常见的现象,有时重新启动下传输进场即可,有时则可能需要具体排查问题。 针对重新启动即可恢复的现象,我们可以在mgr管理进程中配置autorestart参数,当进程异常时,自动重启传输进程。针对重启无法解决的,我们可以具体看下日志信息,如下:

2016-05-25 10:14:53  INFO    OGG-00993  Oracle GoldenGate Capture for Oracle, sm_dmp.prm:  EXTRACT SM_DMP started.
2016-05-25 10:14:54  INFO    OGG-01021  Oracle GoldenGate Capture for Oracle, sm_ext.prm:  Command received from GGSCI: STATS  TOTAL  REPORTRATE MIN.
2016-05-25 10:14:58  INFO    OGG-01226  Oracle GoldenGate Capture for Oracle, sm_dmp.prm:  Socket buffer size set to 27985 (flush size 27985).
2016-05-25 10:15:08  ERROR   OGG-01031  Oracle GoldenGate Capture for Oracle, sm_dmp.prm:  There is a problem in network communication, a remote file problem, encryption keys for target and source do not match (if using ENCRYPT) or an unknown error. (Reply received is Unable to open file "./dirdat/sm000008" (error 11, Resource temporarily unavailable)).
2016-05-25 10:15:08  ERROR   OGG-01668  Oracle GoldenGate Capture for Oracle, sm_dmp.prm:  PROCESS ABENDING.

这种往往是网络不稳定引起的引起传输进程终止,导致目标端句柄没有释放,进程hang住。 若目标端只有一个server进程,则直接将server进程杀掉,重新启动传输进程既可以

[oracle@zmy2 dirdat]$ ps -ef |grep server
root      1872     1  0 14:30 ?        00:00:00 /usr/bin/hidd --server
root      2503     1  0 14:30 ?        00:00:00 /usr/libexec/gam_server
oracle    4460     1  0 14:39 ?        00:00:10 ./server -w 300 -p 7800-7810 -m 7809 -k -l /odc/ggserr.log
oracle   16529 13931  0 22:25 pts/2    00:00:00 grep server
[oracle@zmy2 dirdat]$ kill -9 4460

若是数据归集场景,可能由多个源端汇集到目标端,目标端存在多个server进程,这时候无法判断异常的传输进程在目标端对应的是哪个server,则可以查看目标端ggserr.log日志。 如报错为sm000008文件,则在目标端查看ggserr.log日志,搜索 sm000008所在记录,找到pid,如下:Lock currently held by process id (PID) 18518然后把进程杀掉 :kill -9 18518 ,重启传输进程即可。

相关推荐