Overview

When Oracle GoldenGate replication begins to lag or behave unpredictably, one of the most critical areas to investigate is the network. GoldenGate depends on a consistent and reliable transport layer to move transactional data in real time, which means any issues—whether related to latency, packet loss, jitter, firewall restrictions, or routing inconsistencies—can disrupt replication flow or lead to performance degradation.

Although certain tuning parameters exist at both the operating system (e.g., TCP socket buffers, kernel settings) and GoldenGate level (e.g., BATCHSQL, GROUPTRANSOPS, TCPBUFSIZE, COMPRESS, Parallel Replicat), these can only optimize replication performance within the boundaries of the underlying network conditions. Ultimately, the effectiveness of GoldenGate in high-volume or distributed environments is still highly dependent on the health, stability, and configuration of the network path between source and target.

This blog introduces a set of practical tools and techniques to help you troubleshoot GoldenGate replication issues by examining network-level behavior.


Key Tools for Network Troubleshooting

1. ping – quick health check that verifies reachability and measures latency.

  • A TCP/IP utility that transmits a datagram to another host, specified in the command.
  • If the network is functioning properly, the receiving host returns the datagram.

What to Look For:

  • RTT (min/avg/max/mdev) – latency profile
  • Packet Loss – must be 0% for GG health
  • High mdev – inconsistent timing (jitter), often missed but critical

 Basic Usage:

ping -c 5 host4.testbed.example.com

 

Sample Output:

PING host4.testbed.example.com (192.168.107.10) 56(84) bytes of data.
64 bytes from host4.testbed.example.com (192.168.107.10): icmp_seq=1 ttl=62 time=0.075 ms
64 bytes from host4.testbed.example.com (192.168.107.10): icmp_seq=2 ttl=62 time=0.362 ms
64 bytes from host4.testbed.example.com (192.168.107.10): icmp_seq=3 ttl=62 time=0.079 ms
64 bytes from host4.testbed.example.com (192.168.107.10): icmp_seq=4 ttl=62 time=0.064 ms
64 bytes from host4.testbed.example.com (192.168.107.10): icmp_seq=5 ttl=62 time=0.136 ms

— host4.testbed.example.com ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4077ms
rtt min/avg/max/mdev = 0.064/0.143/0.362/0.112 ms

Simulate GoldenGate Load:

ping -s 1024 -c 5 host4.testbed.example.com

 

Sample Output:

PING host4.testbed.example.com (192.168.107.10) 1024(1052) bytes of data.
1032 bytes from host4.testbed.example.com (192.168.107.10): icmp_seq=1 ttl=62 time=0.055 ms
1032 bytes from host4.testbed.example.com (192.168.107.10): icmp_seq=2 ttl=62 time=0.049 ms
1032 bytes from host4.testbed.example.com (192.168.107.10): icmp_seq=3 ttl=62 time=0.069 ms
1032 bytes from host4.testbed.example.com (192.168.107.10): icmp_seq=4 ttl=62 time=0.067 ms
1032 bytes from host4.testbed.example.com (192.168.107.10): icmp_seq=5 ttl=62 time=0.055 ms

— host4.testbed.example.com ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4127ms
rtt min/avg/max/mdev = 0.049/0.059/0.069/0.007 ms

 

Quiet Summary Only:

ping -q -c 5 -s 1024 host4.testbed.example.com

 

Quiet Output Sample:

PING host4.testbed.example.com (192.168.107.10) 1024(1052) bytes of data.

— host4.testbed.example.com ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4104ms
rtt min/avg/max/mdev = 0.043/0.520/2.249/0.865 ms

 

GoldenGate Tip: Use -s to simulate real traffic size. Watch for high mdev, even with 0% loss—it can cause Extract/Replicat lag.

 

2. traceroute / tracert – trace the path and used to identify latency hops, misroutes, and intermittent path flaps.

  • A TCP/IP utility that determines the route data takes to get to a particular destination.
    • Shows the exact path data takes to reach the server, listing each stop (router) along the way and how long each stop takes.
  • Can help determine a point of latency or where packets are being lost in the network.

Example:

traceroute host4.testbed.example.com      # Linux
tracert host4.testbed.example.com         # Windows 

 

Output:

traceroute to host4.testbed.example.com (192.168.107.10), 30 hops max, 60 byte packets
 1  host2.testbed.example.com (192.168.107.2)  0.198 ms  0.148 ms  0.142 ms
 2  host3.testbed.example.com (192.168.107.6)  0.131 ms  0.107 ms  0.098 ms
 3  host4.testbed.example.com (192.168.107.10)  0.091 ms  0.073 ms  0.067 ms

The example output above shows:

  • The intermediate hops (routers) between the source and target network destinations.
  • The amount of time it took for the data packet to be received and acknowledged along the path.
  • Each hop shows the packet was received by different routers.
    • By default, traceroute send 3 packets to each hop.
    • There is no guarantee that each packet will be routed in the same way.
    • Load balancing, network congestion, or a host of other factors determine how a packet may be routed.

 

OCI Note: In OCI and cloud-based environments, ping is often blocked, especially when crossing VCNs or between on-prem and cloud. In such cases, using traceroute with TCP-based packets is more effective.

TCP-Based Traceroute Example:

Example:

traceroute -T -p 443 host4.testbed.example.com 

-T: Sends TCP SYN packets instead of UDP

-p: Target port (e.g., 443 for HTTPS or NGINX-based GoldenGate Microservices)

Output:

traceroute to host4.testbed.example.com (192.168.107.10), 30 hops max, 60 byte packets
 1  host2.testbed.example.com (192.168.107.2)  0.176 ms  0.155 ms  0.149 ms
 2  host3.testbed.example.com (192.168.107.6)  0.142 ms  0.119 ms  0.101 ms
 3  host4.testbed.example.com (192.168.107.10)  0.107 ms  0.089 ms  0.075 ms


3. ifconfig / ipconfig – Network Interface Status

  • A Linux (ifconfig) / Windows (ipconfig) TCP/IP utility that verifies network settings and connections.
  • It returns a host’s IP address, subnet mask and default gateway, alongside other important network information.

Linux:

ifconfig veth-h3a

 

Output:

veth-h3a: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.107.6  netmask 255.255.255.252  broadcast 0.0.0.0
        inet6 fe80::b0ec:78ff:feac:da03  prefixlen 64  scopeid 0x20<link>
        ether b2:ec:78:ac:da:03  txqueuelen 1000  (Ethernet)
        RX packets 77  bytes 16498 (16.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 93  bytes 16786 (16.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

Windows:

ipconfig

 

Output:

Ethernet adapter Ethernet0:
   IPv4 Address. . . . . . . . . . : 192.168.107.10
   Subnet Mask . . . . . . . . . . : 255.255.255.252
   Default Gateway . . . . . . . . : 192.168.107.1


4. netstat – Port Visibility

  • A utility that shows the status of each active network connection.
  • This tool is useful for finding out what services are running on a particular system.

Example:

netstat -an | grep 7809

Output:

tcp        0      0 0.0.0.0:7809     0.0.0.0:*     LISTEN
tcp        0      0 192.168.107.6:7809 192.168.107.10:49751 ESTABLISHED


5. tcpdump – Packet Capture

  • A utility that is used to obtain packet information from a query string sent to the network interface.

Example:

sudo tcpdump -i veth-h3a port 7809 -c 5 -nn

 

Output:

15:22:10.432 IP 192.168.107.6.7809 > 192.168.107.10.49751: Flags [S.], seq 0, ack 1
15:22:10.433 IP 192.168.107.10.49751 > 192.168.107.6.7809: Flags [.], ack 1


6. iptables – Linux Firewall Validation

  • A Linux firewall program that protects a network.
  • You can use this tool if you suspect that your firewall may be too restrictive or too lenient.

Example:

sudo iptables -L -n

 

Output:

ACCEPT     tcp  —  0.0.0.0/0    0.0.0.0/0    tcp dpt:7809
DROP       all  —  0.0.0.0/0    10.0.0.0/8


7. route – Routing Table Review

  • A command that enables manual updating of the routing table.
  • It can be used to troubleshoot static routing problems in a network.

Example:

route -n

 

Output:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.107.1   192.168.107.5   255.255.255.255 UGH   0      0        0 veth-h3a
192.168.107.4   0.0.0.0         255.255.255.252 U     0      0        0 veth-h3a
192.168.107.8   0.0.0.0         255.255.255.252 U     0      0        0 veth-h3b


8. ss – Socket Statistics

  • A modern replacement for netstat, used for displaying active socket connections, including ports used by GoldenGate.

Example:

ss -tuln

 

Output:

tcp LISTEN 0 128 0.0.0.0:7809 0.0.0.0:*

9. nc – Netcat for Port Connectivity Tester

  • nc (Netcat) is a powerful utility for testing TCP port connectivity and can be an effective substitute for ping, particularly when ICMP is blocked or disabled. It’s especially useful for verifying GoldenGate Service manager, Receiver, Admin Server ports are reachable and listening.

Example:

nc -vz 192.168.107.6 7809

Output:

Connection to 192.168.107.6 7809 port [tcp/*] succeeded!

10. curl -v telnet://<ip>:<port> – TCP Client simulation

  • curl is traditionally used for HTTP calls, but when used with the telnet:// protocol, it can serve as a substitute for ping or nc when testing raw TCP connectivity—particularly useful for verifying GoldenGate Service Manager, Receiver, or Admin Server ports through firewalls, proxies, or constrained environments like OCI.

Example:

curl -v telnet://192.168.107.6:7809

Output:

Rebuilt URL to telnet://192.168.107.6:7809
*   Trying 192.168.107.6:7809…
* TCP NODELAY set
* Connected to 192.168.107.6 (192.168.107.6) port 7809

A successful response confirms that the port is reachable and listening. This method works even when ping is blocked by firewalls or ICMP is disabled—making it a powerful lightweight alternative to nc or telnet for quick connectivity checks.


Diagnosis Example: High mdev with No Loss

rtt min/avg/max/mdev = 15.851/46.254/214.947/68.949 ms

 

  • 0% packet loss
  • mdev = 68.9ms → Indicates severe jitter
  • Replication may lag, Extract may appear stuck or in recovery

Additional References

To further expand on the topics covered in this blog, consider reviewing these Oracle GoldenGate A-Team and product blog articles:

These resources provide in-depth insights into optimizing performance and diagnosing advanced connectivity problems in OCI and distributed OGG deployments.


Summary Table

Tool

Purpose

ping

Check latency and packet loss

traceroute

Identify routing problems and delays

ifconfig / ipconfig

Interface and IP validation

netstat

Port state and session activity

tcpdump

Packet-level inspection of replication

iptables

Ensure firewall allows GG traffic

route

Confirm gateway and route correctness

ss Modern socket viewer showing port bindings and process associations
nc (Netcat) Substitute for ping; validate port-lvel connectivity for GoldenGate components
curl -v telnet://<ip>:<port> Lightweight TCP port test when ICMP or Netcat is blocked; ideal for firewall checks

Conclusion

Network stability is a critical foundation for Oracle GoldenGate replication. Issues like high latency, jitter (mdev), or intermittent connectivity often manifest as lagging Extracts, stuck Replicats, or recovery loops—even when database and GoldenGate configurations are sound.

By using the diagnostic tools outlined in this blog (ping, traceroute, tcpdump, netstat, nc, ss, etc.), you can isolate and validate network issues before escalating. These tools also improve collaboration with DevOps and Network teams by providing clear, actionable evidence.

Leveraging these tools and insights enables faster diagnosis and resolution of network-related issues, helping maintain stable and efficient GoldenGate replication across diverse environments.