Re: TAF with Oracle RAC

From: Chris King <ckaj111_at_yahoo.ca>
Date: Thu, 23 Jul 2015 16:37:35 +0000
Message-ID: <216575602.1333617.1437669454869.JavaMail.yahoo_at_mail.yahoo.com>



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_at_gmail.com>  To: "christopherdtaylor1994_at_gmail.com" <christopherdtaylor1994_at_gmail.com> Cc: "softice_at_gmail.com" <softice_at_gmail.com>; Chris King <ckaj111_at_yahoo.ca>; Oracle-l Digest Users <oracle-l_at_freelists.org>  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_at_gmail.com> 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_at_gmail.com> 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_at_yahoo.ca> 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!            

--

http://www.freelists.org/webpage/oracle-l Received on Thu Jul 23 2015 - 18:37:35 CEST

Original text of this message