GoldenGate Pump Porcess: TCP/IP error 110 (Connection timed out)的問題解決

Jet_Zhang發表於2015-05-12
場景是這樣的:
源端SOURCE處於內網,目標端TARGET處於DMZ區域,之前已申請開通了源端訪問目標端的7809埠,配置PUMP後,PUMP程式一直無法正常工作:
WARNING OGG-01223  Oracle GoldenGate Capture for Oracle, P2IPLAN.prm:  TCP/IP error 110 (Connection timed out).

從源端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 and   <source>
經過一段時間的跟蹤,發現:
。。。
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 
。。。
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 

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了!Enjoy!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13885898/viewspace-1651406/,如需轉載,請註明出處,否則將追究法律責任。

相關文章