I have a customer that have a RAC environment (2 nodes, database version is 11gR2).
Clusterware version:
[grid@server2 ~]$ crsctl query crs releaseversion
Oracle High Availability Services release version on the local node is [11.2.0.4.0]
[grid@server2 ~]$ crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.2.0.4.0]
Their aplication not use correctly the TAF (transparent application failover)
After some research I've tested using swingbanch and I've found the same behavior in my LAB environment:
INST_ID USERNAME SERVER SERVICE_NAME PROGRAM STATUS FAILOVER_TYPE FAILOVER_M FAI
---------- ---------- --------- -------------------- -------------------- -------- ------------- ---------- ---
1 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
1 SOE DEDICATED mootdb_prod sqlplus.exe INACTIVE SELECT BASIC NO
1 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
1 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
1 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
1 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
1 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
The only session using the TAF above is a session created manually from sqlplus (failover_type column). I'm using the same tnsnames alias in all sessions.
Why is this happening. Is there some requirement in the application side as well for it work correctly?