cancel
Showing results for 
Search instead for 
Did you mean: 

SAP support for Dataguard Fast Start Failover (FSFO)

Former Member
0 Kudos

Hi experts,

I'm building a Dataguard test environment to validate if it is possible to have a configuration where:

  1. Clients (SAP AS) can automatically switch to the active server (master or standby) using TAF (Transparent Application Failover)
  2. Failover can be automatic using FSFO  (Fast Start Failover)

Option 1 seems to be validated by SAP (1431241 - RAC with TAF) for RAC, thus should be ok with Dataguard.

This has already be documented by Kjell Erik Furnes in this great POC: HA SAP on Oracle DataGuard

I'm just a bit concerned about the problem with the FAILOVER_MODE option set to PRECONNECT that is according to Kjell making failover quicker but is not compatible with R3trans (should use BASIC mode as stated in note 562403 - FAQ: Oracle Net)

For option 2 I did not find any 'official' information from SAP.

Note 105047 - Support for Oracle functions in the SAP environment tells that the Data Guard Broker is supported but I did not find any information about FSFO except Oracle documentation Oracle White Paper—Setting up Oracle 11g Data Guard for SAP customers (page 8).

So is FSFO fully supported/validated by SAP?

Does anybody ever use FSFO + TAF?

Thanks for you feedback,

Best Regards

Yves

Accepted Solutions (0)

Answers (4)

Answers (4)

stefan_koehler
Active Contributor
0 Kudos

Hi all,

i thought i would share the main details about TAF and FCF implementation here as i received a  request by e-mail about this SCN thread from a follower. The previously posted white papers are pretty good, but do not make the difference very clearly (and what is needed at all for each method).

At first i highly recommend the book Pro Oracle Database 11g RAC on Linux by Steve Shaw and Martin Bach. It includes a lot of implementation details about TAF, FAN and FCF with coding examples and also with Oracle Data Guard (DG Broker). The following key points are mainly from this book. I omit a lot of details, but here we go.

Transparent Application Failover (TAF)

... is a client-side feature. The term refers to the failover/reestablishment of sessions in case of instance or node failures. TAF is not limited to RAC configurations; active/passive clusters can benefit equally from it. This feature requires the use of the OCI libraries, so thin-client only applications won’t be able to benefit from it. TAF can operate in two ways: it can either restore a session or re-execute a select statement in the event of a node failure. When a failure occurs, the OCI library on the client machine intercepts the error message and starts the transparent failover process.

Fast connection failover (FCF)

... is currently supported with Oracle’s JDBC implicit connection cache, Oracle’s Universal Connection Pool, and Oracle Data Provider for .Net session pools, as well as OCI and a few other tools such as CMAN. It provides a different way of dealing with node failures and other types of events published by the RAC high availability framework (also known as the Fast Application Notification, or FAN). When registered with the framework, clients can react to events published by it: instead of polling the database to detect potential problems, clients will be informed by way of a push mechanism—all sessions pertaining to a failed node will be marked as invalid and cleaned up. FAN uses the Oracle Notification Services (ONS) process or AQ to publish its events. FAN events are generated in response to a state change, which can include the following: Starting or stopping the database, starting or stopping an instance, starting or stopping a service, a node leaving the cluster, etc.. Technically, FAN and FCF rely on events published by the Oracle Notification Services background process. A JDBC connection pool is an example of a client that uses these events. Even single-instance Oracle, when registered with Oracle Restart, can receive events. By default, Oracle Restart won’t instantiate the Oracle Notification Service. Adding the daemons is useful in conjunction with the Data Guard broker, which can send out FAN events to inform clients of a failover operation. The Data Guard broker also publishes FAN events after a failover operation.

Clients with support for FAN events receive and process them depending on the event sent.

TAF may be used with or without FAN

  • In TAF-only environments (i.e., when not subscribing to FAN events), upon condition change (i.e., node down), and upon expiration of TCP timeout, TAF executes the recovery and failover process; the client may experience longer delay (varies with systems) because, unlike FAN, application threads may remain blocked until the TCP timeout expires.
  • When combined with FAN, in RAC and Data Guard environments, delays due to TCP timeouts are eliminated.
  • TAF callback functionality (a nice example about this implementation is also in the book), allows applications to extend the TAF recovery mechanism.

I hope this sums up the main key points of each feature, how they interact and which components are needed.

Regards

Stefan

stefan_koehler
Active Contributor
0 Kudos

Hello Yves,

i think you are mixing up two things here (TAF and FAN). There are two nice white papers, which describes each in a DG environment and how they interact together.

http://www.oracle.com/technetwork/database/features/availability/maa-wp-10gr2-clientfailoverbestprac...

http://www.oracle.com/technetwork/database/features/availability/maa-wp-11gr2-client-failover-173305...

However - yes it works fine in a SAP environment.

Best Regards

Stefan

Former Member
0 Kudos

Hello Stefan,

Thanks for the information.

TAF & FAN are just two sides of FCF... Oracle has too many acronyms for that mechanism.

It's all about activating FCF (Fast Connection Failover) through FAN (Fast Application Notification) & TAF (Transparent Application Failover)... obvious !

Wish I had some clear statements from SAP on that point...

If we have setup an DG broker + observer it is just a matter of configuring , FAILOVER , FAILOVER_MODE and CONNECT_TIMEOUT parameters in the TNSAME files of SAP AS.

http://docs.oracle.com/cd/E11882_01/server.112/e25494/restart002.htm#CIHJEDDA

You can use Oracle Notification Services (ONS) to immediately notify clients of the failover of services between the primary and standby databases. The Oracle Data Guard Broker uses Fast Application Notification (FAN) to send notifications to clients when a failover occurs.

My concerns are more on the FAILOVER_MODE method option, if set to BASIC as recommended by SAP the client reconnection might fail. If set to PRECONNECT R3trans might fail.

Well the proof is in the eating... so I'll test this by my own, and keep the thread updated.

Best regards

Yves

stefan_koehler
Active Contributor
0 Kudos

Hi Yves,

sorry is still don't get your point why you concern about the FAILOVER_MODE and PRECONNECT in a DG environment, because of your service is not available on standby site before a FAILOVER or SWITCHOVER. So the connect to the backup instance will not work.

Have you check the described procedure in the white paper?

OCI Clients: Notification and reconnection is accomplished for OCI clients in a Data Guard configuration using Fast Application Notification (FAN) and Transparent Application Failover (TAF) in the following manner: 

• When an OCI client makes a connection to a primary database, the REG$ table is updated to includes the IP address for the client. This data is automatically replicated to the physical standby.

• Upon failover, the Data Guard broker inserts a DB Down event into the database alert queue on the standby which is then sent to all clients having an entry in the REG$ table. Note that this method of automating client failover requires the failover to be managed using the Data Guard broker.

• When clients receive the DB Down event they immediately disconnect from the failed primary.

• TAF enables OCI clients to automatically attempt to create a new connection to the service 'sales', used in the above example.

So your OCI client gets the information about the FAILOVER / SWITCHOVER and tries to reconnect immediately to your defined host(s) with the available service. DG is not RAC and you have the (connect) service only available at your primary site.

Regards

Stefan

Former Member
0 Kudos

Hi Stefan,

I did focus on the 11g document, so I missed this information, and I was misled by wrong info grab on the internet about PRECONNECT. You're true it for RAC and not applicable (nonsense) with DG.

Thank you very much for your help and time

Best regards

Yves

Former Member
0 Kudos

Hi

I did get an answer from SAP...

FSFO have not been tested by SAP, though we do not see any technical reason for that not to be used.

So you can use this feature, but you will not have technical support from SAP if you come up into an issue related to this feature. All otherfeatures will still be supported by us in case you decide to use FSFO.

I've asked also how to get some support from Oracle as far as SAP users does note have access to Metalink any more (since more than a yeaur now... a real shame !)

758563 - Oracle Metalink access for SAP customers

In case you need support for FSFO you can open a message and we'll involve Oracle to help you with the issue.

Former Member
0 Kudos

Hi Yves,

I configured FSFO on one of the productive system, but I am not sure that this mechanism is supported by SAP. It is better you open a ticket and ask to SAP AGS.

Best regards,

Orkun Gedik

Former Member
0 Kudos

Hi Orkun,

Thanks for the information.

I did already open an OSS message on that topic, but sometimes you get quicker and wiser answers from SDN

I'm currently reading all the documentation on FSFO, not as easy as reading a single SAP document... it's a tough time 😉

Can you please confirm that to install the observer you need to install the client administrator wth OUI ?

Where did you install the observer?

I think I'll install it on one of the SAP AS.

Best regards

Yves

Former Member
0 Kudos

>> Where did you install the observer?

It can be installed on the diffferent host from the DG broker and/or database host. It can can be installed on the SAP application server, but I recommend to install a dedicated server.

Best regards,

Orkun Gedik