Re: Question about VIP failover and accepting connections

From: Frits Hoogland <frits.hoogland_at_gmail.com>
Date: Fri, 28 Feb 2014 19:29:24 +0100
Message-ID: <7576504656017001392_at_unknownmsgid>



The reason for not accepting connections is very simple: when the original TCP connection ceases to exist because of failure, the client will keep on communicating. These packets are not acknowledged by the server. Because there can be a lot of reasons for not responding (slow network, slow server, etc), TCP has a timeout build in. This is 1 minute or 3 minutes in general. So this means it's going to take at least 1 minute for a dead connection to be detected. And this is the layer underneath oracle net.

But what if we want to detect a connection earlier? This is what oracle made with the failover of the local listener VIP. The IP address gets setup on another machine, and needs no services. Because: if a packet gets send with that IP address as destination, which is actually a packet belonging to another session (the old incarnation of the IP address), it will abort the connection by sending a packet back with the RST flag set.

This way the client get it's connection aborted as soon as the VIP is failed over and a packet is send. At that point TAF can kick in, and setup a new connection.

Frits Hoogland

http://fritshoogland.wordpress.com
frits.hoogland_at_gmail.com
Phone: +31 20 8946342

(Sent from my iPhone, typo's are expected)

Op 28 feb. 2014 om 13:31 heeft Jure Bratina <jure.bratina_at_gmail.com> het volgende geschreven:

Hi,

Is there any specific reason why a failed over VIP can't accept connections after failing over to another node (like an application VIP does for "non-database" connections) and is relocated only to avoid clients waiting on TCP/IP timeouts? I know that the listener on the surviving node doesn't listen on the failed over VIP. Also, if clients use connect time failover "(FAILOVER=ON)" or if they use a SCAN address, they won't get any errors upon connecting and will connect successfully to a working node. Anyway, I'm curious why the failed over VIP isn't transparently added to the listener's listening endpoints.

I've been testing on 11.2.0.4

Thank you and regards,
Jure Bratina



--
http://www.freelists.org/webpage/oracle-l


  • application/pkcs7-signature attachment: smime.p7s
Received on Fri Feb 28 2014 - 19:29:24 CET

Original text of this message