User guide
OpenVMS FailSAFE IP may be using in conjunction with Oracle JDBC for Rdb thin driver
and servers. During failover, FailSAFE IP will redirect the existing Oracle JDBC for Rdb
client/server IP connections to the standby service.
If the failover service exists on the same node as the failed service the connections should
continue to be viable transparently.
If however, the failover service is on another node, then as Rdb connections cannot be
transferred between processes, the failover will not be transparent. The thin driver should
receive a socket exception on the failed TCP/IP port as the original service is no longer
available.
Note that server socket exceptions will only be raised on a connection if there is a network
read or write outstanding. If the driver is currently idle and not carrying out a read or write
on the socket to the server, no exception will be raised. Subsequent operations on that
connection by the driver will however raise the socket exception.
The socket exception will be passed through to the application wrapped in an SQLException.
It is then up to the application catch the exception and to cleanup its environment and if
applicable establish a new Connection to the driver
Depending on where the client is running it is possible that the client operating system may
not raise a SocketException even if a read or write is pending. On these systems it is
possible for the client connection to be held in limbo waiting for a read or write to complete.
To help reduce the impact of possible hangs due to the failure of the socket subsystem to
raise the correct socket exception, a timeout may be placed on network read/writes. If the
read/write does not complete within the designated time an exception will be raised.
Care should be taken in setting this timeout value as longer-duration database operations
such as statement compilation may delay the server sending back its results.
The client-side will have a socket read waiting on the return of the results, which could
timeout if this duration is set too short in relation to the performance of your system and
database software. Oracle recommends that if used, this timeout value should be set to a large
value (in the order of several minutes) if you suspect that query operations on the server side
may take some time.
See networkTimeout in Connection Options
for more details on network read and write
timeout.
Contents
8.21 SET Statements
In addition to the standard SQL SET statements allowable in dynamic SQL, the Oracle JDBC
for Rdb drivers will recognize driver specific SET statements as specified below.
133