Re: TAF with Oracle RAC

From: Karth Panchan <keyantech_at_gmail.com>
Date: Thu, 23 Jul 2015 12:27:05 -0400
Message-Id: <F053AB7A-4BDB-491C-AB45-4D158E95214F_at_gmail.com>



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:27:05 CEST

Original text of this message