FAN (Fast Application Notification)

What is FAN?

FAN is a feature of Oracle RAC which stands for Fast Application Notification. This allows the database to notify the client of any change (Node up/down, instance up/down, database up/down). For integrated clients, inflight transactions are interrupted and an error message is returned. Inactive connections are terminated. 
FCF is the client feature for Oracle Clients that have integrated with FAN to provide fast failover for connections. Oracle JDBC Implicit Connection Cache, Oracle Data Provider for .NET (ODP.NET) and Oracle Call Interface are all integrated clients which provide the Fast Connection Failover feature.


FAN is a notification mechanism that RAC uses to notify other processes about configuration and service level information such as includes service status changes, such as UP or DOWN events. 

Applications can respond to FAN events and take immediate action. FAN UP and DOWN events can apply to instances, services, and nodes.


RAC publishes the FAN events the minute any changes are made to the cluster. So, instead of waiting for the application to check on individual nodes to detect an anomaly, the applications are notified by FAN events and are able to react immediately.


FAN also publishes load balancing advisory (LBA) events. Applications are in a position to take full advantage of the LBA FAN events to facilitate a smooth transition of connections to healthier nodes in a cluster. One can take advantage of FAN is the following ways:


When using integrated Oracle Client, the applications can use FAN with no programming whatsoever. 

Oracle 120g JDBC, ODP.NET and OCI would be considered as the components of the integrated clients.

Programmatic changes in ONS API make it possible for applications to still subscribe to the FAN events and can execute the event handling actions appropriately.

FAN can be implemented with server-side callouts on your database tier.

For instance, a typical DOWN event will prevent any further disruption of service by cleanly terminating the sessions on that failed node and notifying the user. Moreover, 

a typical UP event can address and allocate extra resources for new incoming requests/ connections. 

There are however several additional benefits with the server-side callouts, mainly you can utilize FAN in order to:


Logging

Paging/SMS the DBA and/or to open trouble tickets when the resources fail to (re)start

Change resource plans or to shut down services when the number of available instances decreases, thus preventing further load on the cluster and keeping the RAC running until another healthy node is added to the cluster.

Automate the fail service back to PREFERRED instances when required.


RAC FAN events

The DataPower appliance supports the Oracle Real Application Clusters (RAC) Fast Application Notification (FAN) feature for high availability and load balancing.
The DataPower® appliance supports Oracle RAC FAN to provide Oracle applications with high availability and load balancing features. FAN events are sent by Oracle RAC to subscribers to indicate service and node down events and service up events. Load balancing events are also used to indicate how to distribute load across multiple instances.
To use Oracle RAC FAN, your Oracle data source system, servers, and clients must use Oracle Notification System (ONS) messaging. For more information, see the Oracle documentation.


 Oracle data source for RAC FAN configuring steps:-


The DataPower appliance supports Oracle RAC Fast Application Notification (FAN) events for Oracle data sources.

Before you begin

Define the base configuration for your Oracle data source and enable object support.

About this task

To support FAN events, configure ancillary servers to the host and port for your Oracle RAC.

Procedure

  1. In the search field, enter SQL Data Source.
  2. From the search results, click SQL Data Source.
  3. From the list of data sources, select the Oracle data source that you want to support FAN events.
  4. Click the Advanced tab.
  5. Define the connection details for an ancillary server.
    1. In the Ancillary Servers field, click Add.
    2. In the Data Source Host field, enter the IP address or host name of the data server with the data source.
    3. In the Data Source Port field, enter the listening port on the data server.
    4. Optional: From the Type list, select the type of identifier.
    5. Optional: In the Data Source ID field, enter the database alias, the database name, or the identifier for the data source.
    6. Click Apply.
  6. Optional: Repeat the previous step to add another ancillary server.
  7. Click Apply to save the changes to the running configuration.
  8. Click Save Configuration to save the changes to the persisted configuration.

No comments:

SHRD0014: GLLEZL - process exiting with failure

  SYMPTOMS Journal Import completes with the following error: Error ------ ORA-01653 : unable to extend table GL.GL_IMPORT_REFERENCES ORA-01...