Re: Trying to wrap my head around TAF

From: goran bogdanovic <goran00_at_gmail.com>
Date: Thu, 16 Jul 2009 12:35:57 +0200
Message-ID: <6d0a3ba80907160335vea6dcefsc46ea07594fd0a3a_at_mail.gmail.com>



...adjusting TCP settings on OS level can avoid this issue...but this change on OS level will affect also all other non-Oracle processes which also run on the same server.

On Wed, Jul 15, 2009 at 5:19 PM, Dan Norris <dannorris_at_dannorris.com> wrote:

> Charles,
>
> I think LOAD_BALANCE is ON by default when you have multiple ADDRESS lines.
> You'd have to do some client-side tracing to see for sure (not sure if it
> requires the DESCRIPTION_LIST to be present or not).
>
> If LOAD_BALANCE is ON, then it may choose one of the standby listeners.
> Once there, the standby listener will need to have instance registrations
> from the primary site so that the standby listener can direct the client to
> one of the primary listeners. Just make sure that remote_listeners on both
> primary and standby have all 4 listeners listed in them.
>
> What would concern me is the case where the primary site is completely
> unavailable--isn't it possible that a client would attempt to contact the
> primary site and experience a tcp timeout (multiple minutes or more
> possibly)? When the primary site really, really fails, the VIPs won't be
> available and that could be a large delay before the client gives up (that's
> what VIPs were intended to prevent).
>
> Dan
>
>
> On Wed, Jul 15, 2009 at 9:37 AM, Charles Schultz <sacrophyte_at_gmail.com>wrote:
>
>> I filed a case with Oracle and did some minor testing - my biggest
>> roadblock is that I do not yet have a test system with both the DG broker
>> and RAC, I have one for each.
>> So, I will throw this out there and hope that someone with a
>> DG-broker-enabled RAC environment can verify. =) I have yet to find any
>> documents that puts these two concepts together. My ears/eyes are open to
>> recommendations.
>>
>> I tried with multiple DESCRIPTIONs (ie, in order to have different
>> LOAD_BALANCE or FAILOVER_MODE parameters), but apparently TAF works best
>> with one. Expounding on Jeremy's connection string (as well as the ones
>> mentioned in the metalink notes), one can throw all nodes that provide the
>> listed service in one ADDRESS_LIST, whether they be standby or clustered.
>> The key part is a database trigger that turns off the service for standby
>> instances such that the LOAD_BALANCE option will never even consider the
>> listener on that node since PMON will not communicate anything about the
>> service.
>>
>>
>> (DESCRIPTION =
>>
>> (ADDRESS_LIST =
>>
>> (ADDRESS=(PROTOCOL=TCP)(HOST=primary1-vip.your.com)(PORT=1521))
>>
>> (ADDRESS=(PROTOCOL=TCP)(HOST=primary2-vip.your.com)(PORT=1521))
>>
>> (ADDRESS=(PROTOCOL=TCP)(HOST=standby1-vip.your.com)(PORT=1521))
>>
>> (ADDRESS=(PROTOCOL=TCP)(HOST=standby2-vip.your.com)(PORT=1521))
>>
>> )
>>
>> (CONNECT_DATA =
>>
>> (SERVER=DEDICATED)
>>
>> (SERVICE_NAME=OMNI-SERVICE)
>>
>> (FAILOVER_MODE =
>>
>> (TYPE=session)
>>
>> (METHOD=BASIC)
>>
>> (RETRIES=180)
>>
>> (DELAY=1)
>>
>> )
>>
>> )
>>
>> )
>>
>>
>>
>>
>> *References:*
>> Metalink note 461874.1<https://metalink2.oracle.com/metalink/plsql/f?p=130:14:2134483772446290257::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,461874.1,1,1,1,helvetica>"Failover
>> Connections for Data Guard Error with ORA-1033"
>> Metalink note 316740.1<https://metalink2.oracle.com/metalink/plsql/f?p=130:14:2134483772446290257::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,316740.1,1,1,1,helvetica>"How
>> to configure to let TAF work after Data Guard Switchover or Failover"
>> Client Failover in Data Guard Configurations for Highly Available Oracle
>> Databases <http://www.oracle.com/technology/deploy/availability/pdf/MAA_WP_10gR2_ClientFailoverBestPractices.pdf>
>>
>>
>>
>> On Mon, Jun 22, 2009 at 11:52, Jeremy Schneider <
>> jeremy.schneider_at_ardentperf.com> wrote:
>>
>>> "Server-side TAF" is a reference to storing the TAF configuration info in
>>> the server, and having the client pull it down at connect-time. Not well
>>> documented, but very interesting. Look out for surprising rules of
>>> precedence - the server configuration always over-rides the client
>>> tnsnames.ora!
>>>
>>> See also:
>>>
>>> http://www.ardentperf.com/2007/03/29/centralized-taf-configuration-in-10g-part-2/
>>>
>>> I've configured TAF for automatic failover to a standby (along with
>>> dataguard broker automatic failover) -- but I haven't configured TAF for
>>> both RAC and DG in the same database. It would be cool to hear if someone
>>> else out there on the list has done this. :)
>>>
>>> -Jeremy
>>>
>>>
>>> On Fri, Jun 19, 2009 at 3:03 PM, Charles Schultz <sacrophyte_at_gmail.com>wrote:
>>>
>>>> For #2, I do see table 95-3<http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_serv.htm#sthref5797>,
>>>> but I missed how it specified "server-side TAF". How does a *server*transparently failover?
>>>>
>>>>
>>>> On Fri, Jun 19, 2009 at 14:56, Charles Schultz <sacrophyte_at_gmail.com>wrote:
>>>>
>>>>>
>>>>> 2) Similar to this, I am trying to understand the different TAF
>>>>> parameters used in dbms_service.create_service<http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_serv.htm#i1001480>.
>>>>> The documentation has very little to say about them (just the bare bones -
>>>>> the 11g documentation<http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_serv.htm#sthref7056>is exactly the same I think), and when one implicitly creates a service by
>>>>> modifying the SERVICE_NAMES parameter, all the parameters default to null
>>>>> (according to dba_services). Are those TAF parameters actually used, or are
>>>>> they merely place-holders for "future" functionality? If they do play a role
>>>>> in TAF, what and how?
>>>>>
>>>>>
>>>
>>>
>>> --
>>> Jeremy Schneider
>>> Chicago, IL
>>> http://www.ardentperf.com/category/technical
>>>
>>>
>>
>>
>> --
>> Charles Schultz
>>
>
>

--
http://www.freelists.org/webpage/oracle-l
Received on Thu Jul 16 2009 - 05:35:57 CDT

Original text of this message