Re: TAF with Oracle RAC

  • From: Chris King <ckaj111@xxxxxxxx>
  • To: Karth Panchan <keyantech@xxxxxxxxx>, "christopherdtaylor1994@xxxxxxxxx" <christopherdtaylor1994@xxxxxxxxx>
  • Date: Thu, 23 Jul 2015 16:37:34 +0000 (UTC)

That sounds right on.  I hadn't mentioned the version I'm working on, though..
unfortunately this issue is occurring on version 11.2.

Is it therefore the normal behaviour for RAC, if a node fails, for a user
session to lose the connection, get an error message,  then reconnect to the
other node? And therefore it's up to the application to handle the error?

From: Karth Panchan <keyantech@xxxxxxxxx>
To: "christopherdtaylor1994@xxxxxxxxx" <christopherdtaylor1994@xxxxxxxxx>
Cc: "softice@xxxxxxxxx" <softice@xxxxxxxxx>; Chris King <ckaj111@xxxxxxxx>;
Oracle-l Digest Users <oracle-l@xxxxxxxxxxxxx>
Sent: Thursday, July 23, 2015 12:27 PM
Subject: Re: TAF with Oracle RAC

Stefan Koehler from this group provided below details for similar question
raised by me. Credit to him. 
Chris feature you looking available in oracle12c
See below comments from Stefan Koehler
DML operations and session states are not covered by TAF. TAF and session
fail-over works without any additional setup. However you can
intercept the fail-over and your application needs additional code / logic to
restart the transaction (e.g. by using CallbackFn function), if you want
to go a little bit further and do a SELECT fail-over (no automatic DML replay!).

The functionality you are looking for is called "Application Continuity" and it
is available with Oracle 12c

http://www.oracle.com/technetwork/database/database-cloud/private/application-continuity-wp-12c-1966213.pdf

https://martincarstenbach.wordpress.com/2013/12/13/playing-with-application-continuity-in-rac-12c/


Sent from my IPhone 


On Jul 23, 2015, at 11:51 AM, Chris Taylor <christopherdtaylor1994@xxxxxxxxx>
wrote:


I thought Chris' problem was that the application was getting an error but the
session itself fails over correctly.
If I understand the problem, doesn't this relate to whether the application
supports TAF internally or not?  I thought the application had to be coded to
be able to take advantage of TAF because as far as I know Oracle will always
return a message to the application if the session gets failed over.
Regards,Chris Taylor
On Thu, Jul 23, 2015 at 9:22 AM, Svetoslav Gyurov <softice@xxxxxxxxx> wrote:

Hi Chris,

Does the service mydb.domain is configured as TAF ? Also with the preconnect
method shouldn't you specify the backup connection as well as part of the
connection string ? Why not try the basic method first ?

Add TAF service:
srvctl add service -d orcl -s mydb -l PRIMARY -m BASIC -e SELECT -w 1 -z 180 -q
TRUE

Connection string:
mydb =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = my.scan.listener )(PORT = 1521)
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME=mydb.domain)
      (FAILOVER_MODE =
        (TYPE = SELECT)
        (METHOD = BASIC)
     )
    )
  )

The failover parameters should be inherited from the service anyway.

Then simply check whether the established sessions are supporting TAF:
SELECT MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER, COUNT(*)
FROM V$SESSION
GROUP BY MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER;


Regards,
Sve
On Thu, Jul 23, 2015 at 1:43 PM, Chris King <ckaj111@xxxxxxxx> wrote:

The client software is a full oracle client installation.
Is my understanding correct, that the scan listener should enable session
continuation without errors if one node goes down?  With my current set up,
connectivity is re-established but the user gets an oracle error first. Does
this mean something is not properly configured? And if so, what should I be
looking at?
Thanks all!








Other related posts: