Re: Question about VIP failover and accepting connections

  • From: Frits Hoogland <frits.hoogland@xxxxxxxxx>
  • To: "jure.bratina@xxxxxxxxx" <jure.bratina@xxxxxxxxx>
  • Date: Fri, 28 Feb 2014 19:29:24 +0100

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@xxxxxxxxx
Phone: +31 20 8946342

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


Op 28 feb. 2014 om 13:31 heeft Jure Bratina <jure.bratina@xxxxxxxxx> 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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Other related posts: