Fast Connection Failover - Fast Application Notification not working
Here's my setup:
I have a 3 DB architecture with stand-alone databases servers NO RAC and not using Data Guard. Let's not debate what I'm not using. I'm using Oracle 11gR2 (11.2.0.3) on a RHEL 5.
On database 1,2,3 or DB1,2,3 I have a service called dbread on all 3. --> created srvctl add service -d orcl1 -s dbread)
This service runs continuously
I have configured Oracle Notification Services (ONS) to be enabled, statused and started.
ons.config file --> $GI_HOME/opmn/conf/
localport=6150
remoteport=6200
nodes=db1:6150,db2:6200,db3:6200 (these names are in /etc/hosts)
$GI_HOME/bin/onsctl ping --> shows that ONS is enabled
srvctl status ons --> show that ONS is started
$GI_HOME/bin/crsctl has config --> shows that ONS is enabled with Oracle Restart and available.
at this point I will mention that when I have as a parameter loglevel=<#> I always get an error message in the ons.output file in $GI_HOME/opmn/logs
My scenario:
From DB3 I successfully log into DB1 using sqlplus and the service dbread
sqlplus <username>@connect string = (PORT=1521)(SERVICE=dbread)
After making a connection from DB3 into DB1, I log into DB1 and kill the service (srvctl stop service -d orcl1 -s dbread).
My Problem:
My connection from DB3 into DB1 still exists and I can continue to query even though the service (dbread) is stopped.
1) Shouldn't the connection be terminated or should I see an oracle error when I continue to perfrom a query on DB1l?
Also, when I am performing a jdbc connection and the service is stopped after a connection is made FCF doesn't failover to another database using the same service, it continues to use the exisiting connection and service that was terminated by srvctl.
2) What am I missing here?
3) Why does my connection stay connected and live even though the method to which it was established is stopped? ie the read service has been stopped?
4) Why doesn't FCF or FAN kick in here and route the connection to another database that has the dbread service up and running?
I know I must be overlooking something very basic but I've tried removing ONS and reenabling it. Also removing and adding back services. My service is seen by my listener and I can make a connection so my TNSNAMES and LISTENER files are correct.
Any ideas?