ERROR OGG-01224 TCP/IP error 110 (Connection timed out); retries exceeded.

ERROR OGG-01224 TCP/IP error 110 (Connection timed out); retries exceeded.

Cause

This is generally due due to basic issues like:
* The remote manager process is not running or is running with incorrect port number
* The RMTHOST parameter in the pump extract is not configured correctly.
In other cases, the issue could be due to firewalls that forbid the connection,
blocking certain ports or processes.
This is generally seen when there is a firewall between the source and target machine and
either the ports are not open or just the manager port is open .

Solution

The Extract, Replicat and Ggsci processes use ports normally starting at port 7840 and ascend sequentially.
The ggsci command 'send manager getportinfo detail ' will retrieve the current list of ports that have been
allocated by Manager and their corresponding process IDs.
If you have some port restrictions, then you could use the DYNAMICPORTLIST with some range so that the
collector process will allocate the ports from that range.
In general to overcome this issue, we could do something like below
 
1. Change the target manager parameter file to use something like the following
 
port 7809
dynamicportlist 7810-7820
 
2. Stop and start the manager
3. Open ports 7809 through 7820 in the firewall
4. Re-start the source pump
The port range used in dynamicportlist(7810-7820) and the manager port 7809 is just an example.
You can define your own ports there and have them open .

 

 

从源端PING目标端,也能PING通,使用telnet测试7809端口,也能顺利连接上:
$ telnet X.X.X.X 7809
Trying X.X.X.X ...
Connected to X.X.X.X (X.X.X.X).
Escape character is '^]'.
Connection closed by foreign host.
 
但是PUMP进程就是无法连接到目标端!
 
在确保PUMP的各项配置正确后,使用tcpdump来抓取网络包:
在源端运行:tcpdump -v host <SOURCE> and <TARGET> 
经过一段时间的跟踪,发现:
。。。
14:28:25.836419 IP (tos 0x0, ttl  64, id 24609, offset 0, flags [DF], proto: TCP (6), length: 60) 
SOURCE.53922 > TARGET.7819: S, cksum 0x6026 (correct), 2731187048:2731187048(0) win 5840 
<mss 1460,sackOK,timestamp 293365436 0,nop,wscale 7>
。。。
15:05:07.276469 IP (tos 0x0, ttl  61, id 48226, offset 0, flags [DF], proto: TCP (6), length: 52) 
SOURCE.57845 > TARGET.7810: ., cksum 0xb486 (correct), ack 400 win 46 
<nop,nop,timestamp 295566806 1709213240>
 
PUMP进程访问的并不是7809端口!每次启动进程访问的端口是有变化的,7810、7819。。。,查看官方文档[Oracle GoldenGate Windows and UNIX Administrator’s Guide],在P20-P21的Maintaining ports for remote connections through firewalls一节中说明了
在有防火墙的网络中,需要开通额外的端口,并使用DYNAMICPORTLIST参数,指定端口范围。问题已经找到,那就实践看看,重新申请开通了 源端访问目标端的7809-7830端口,并修改目标端MANAGER进程的参数,加上:
。。。
DYNAMICPORTLIST 7809-7830
。。。
 
重新启动MANAGER和PUMP进程,一切OK了!

你可能感兴趣的:(Connection)