RE: 10g - Sqlnet and redundant oid servers

  • From: "Bobak, Mark" <Mark.Bobak@xxxxxxxxxxxx>
  • To: "cjnewman@xxxxxxxxxxxxx" <cjnewman@xxxxxxxxxxxxx>, "oracle-l@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 4 May 2010 11:06:37 -0400

Hi Chris,

Yes, this is a bit of nastiness, isn't it?

You can set multiple directory servers via the DIRECTORY_SERVERS parameter, 
but, if server1 is down, you get to wait the entire TCP timeout time period, 
which is defined in the O/S network layer, and outside the control of Oracle.  
And it's usually on the order of 5 to 10 minutes.  So, if server1 goes down, 
you wait on the order of 5 or 10 minutes, then the timeout occurs, and the next 
server in the list is tried.  So, it's not really a practical, workable 
solution for failover.

So, what's the solution?

Well, there are a couple of alternatives.

First, the one we use here, is an external, third party load balancer.  So, set 
up a virtual, call it oid-server, but both server1 and server2 behind it, and 
then set:
DIRECTORY_SERVERS=(oid_server:389:636)

Now, the load balancer will detect if server1 or server2 is down, and, if so, 
re-direct appropriately.

Second, would be something like Oracle clusterware.
<disclaimer>
I HAVE NEVER TRIED THIS, BUT IT SHOULD WORK, IN THEORY.
</disclaimer>

Put the two OID servers into a cluster, have Oracle clusterware manage a VIP, 
define the VIP in the DIRECTORY_SERVERS parameter.


Hope that helps,

-Mark


-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of Newman, Christopher
Sent: Tuesday, May 04, 2010 9:56 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: 10g - Sqlnet and redundant oid servers

Hello all,

We recently had an issue where clients were taking 8 minutes to login to the 
database; the primary OID server (server1 below) was down at the time, the 
secondary was up.  What are your thoughts in terms of them being able to login 
after 7-8 minutes?  Did the secondary pick up, or did they revert to the 
tnsnames?  Where is the failover time configured on the server side? I know we 
can trace/test, but I'm hoping someone here knows off the top of their head.

Here's a snippet of our config:

Sqlnet.ora:
NAMES.DIRECTORY_PATH=(LDAP,TNSNAMES)

Ldap.ora
DIRECTORY_SERVERS=(server1:389:636,server2:389:636)
DIRECTORY_SERVER_TYPE = OID

Thanks- Chris

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




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


Other related posts: