RE: Trying to wrap my head around TAF

  • From: D'Hooge Freek <Freek.DHooge@xxxxxxxxx>
  • To: "sacrophyte@xxxxxxxxx" <sacrophyte@xxxxxxxxx>, ORACLE-L <oracle-l@xxxxxxxxxxxxx>, Jeremy Schneider <jeremy.schneider@xxxxxxxxxxxxxx>
  • Date: Wed, 15 Jul 2009 16:47:14 +0200

Not whith the dg broker, but following comes from a setup with rac (2 nodes) 
with a single node standby:

  (DESCRIPTION =
    (LOAD_BALANCE = OFF)
    (FAILOVER = ON)
    (ADDRESS_LIST =
      (LOAD_BALANCE = ON)
      (FAILOVER = ON)
      (ADDRESS = (PROTOCOL = TCP)(HOST = rac-node1-vip)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = rac-node2-vip)(PORT = 1521))
    )
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dg-ip)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = my_service_name)
      (FAILOVER_MODE =
        (TYPE = SELECT)
        (METHOD = BASIC)
        (RETRIES = 180)
        (DELAY = 5)
      )
    )
  )


Freek D'Hooge
Uptime
Oracle Database Administrator
email: freek.dhooge@xxxxxxxxx
tel +32(0)3 451 23 82
http://www.uptime.be
disclaimer


________________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of Charles Schultz
Sent: woensdag 15 juli 2009 16:38
To: ORACLE-L; Jeremy Schneider
Subject: Re: Trying to wrap my head around TAF

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 "Failover Connections for Data Guard Error with ORA-1033"
Metalink note 316740.1 "How to configure to let TAF work after Data Guard 
Switchover or Failover"
Client Failover in Data Guard Configurations for Highly Available Oracle 
Databases



On Mon, Jun 22, 2009 at 11:52, Jeremy Schneider 
<jeremy.schneider@xxxxxxxxxxxxxx> 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@xxxxxxxxx> wrote:
For #2, I do see table 95-3, 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@xxxxxxxxx> wrote:

2) Similar to this, I am trying to understand the different TAF parameters used 
in dbms_service.create_service. The documentation has very little to say about 
them (just the bare bones - the 11g documentation 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
--
//www.freelists.org/webpage/oracle-l


Other related posts: