Thursday, May 18, 2006

Server-side FAN callouts

Update: This is relevant to RAC environments.

Fast Application Notifications mechanism was introduced in 10g as development of TAF (Transparent Application Failover). While the most important benefits are from using FAN on the client side, it's possible to receive notifications on the server and react appropriately. The beauty of it is simplicity.

Setting up custom server-side callout is very easy and doesn't require writing any code with OCI or Java. It can be a simple shell or perl script. This script with executable permissions should be put in $ORA_CRS_HOME/racg/usrco. Note that you will most probably have to create this directory as it doesn't exist after installation (well, at least in my case with 10.2 on Linux). The sample script I use just for logging:
#!/usr/bin/sh
HOST=`hostname`
FAN_LOGFILE=/opt/oracle/fan_log_${HOST}.log
echo $* "reported="`date` >>$FAN_LOGFILE
The script gets event attributes as command-line argiments and they can be processed however you want - emailing/paging DBA's, logging events, relocating services, and any other automated action.

0 Comments:

Post a Comment

<< Home