I am just trying to put TAF(Tranparent Application Failover) capability on my system, but it does not work well. My client system is build with OCI8.1.7 and our environment(see blow) seems to satisfy the requirement.
DBMS Version:Oracle18.104.22.168 Enterprise(for AIX4.3.3)
Net8 Version:8.1.7(for WindowsNT4.0)
Environment:single instance and dedicated server
I just simply want my session to have "retrying a connection" to the same instance using TAF when the session lost connection, like temporary network error, for instance. I configured my tnsnames.ora on client-side(WinNT4.0) as follows.
And listener.ora does not have SID_LIST_listener parameters.
Here are results of my several test sessions, in which sending a SQL after disconnecting a inactive session.
the session disconnect by
case 1)shutdown instance(by shutdown abort), then re-start instance.
case 2)killing a associated process( by kill -9 pid)
In case1, although it took time to recover, TAF works fine.
In case2, client got ORA-3113 and the SQL was never sent again. In SQLNET.trc file, it seemed re-connecting process had occured and v$session said "FAILED_OVER:YES". But client got ORA-3113 from server and did not send the SQL again.
Could you tell me what is wrong with this? Or could it be a normal?
I found out that it is a bug in Oracle Server.
If you are interested in, please refer to BugNo-1888330 in MetaLink.
This will happen in any version of Enterprise Edition for AIX, SOLARIS.
So, DO NOT use TAF if you a AIX user.