HP OpenVMS Systemsask the wizard |
The Question is: How can I shorten the failover time for clients connected to ORACLE via SQL*Net when the relevant node of the cluster is down The Answer is :
The OpenVMS Wizard will assume this question is entirely unrelated to
Oracle and SQL*Net, and will assume that this question is specific to
shortening the connection timeouts for IP sockets, and will further
assume this is Compaq TCP/IP Services for OpenVMS V5.1.
If so, please see the setsockopt or socket call documentation around
the keepalive option.
If using the C socket library interface:
int one=1;
setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, &one, sizeof one);
If using the sys$qio[w] interface:
int one = 1;
struct { short len, param; int *ptr; }
item_list[] = {{sizeof(one), TCPIP$C_REUSEADDR, &one}},
descriptor = {sizeof(item_list), TCPIP$C_SOCKOPT, item_list};
sys$qiow(0, /* Event flag */
channel, /* Channel number */
IO$_SETMODE, /* I/O function */
iosb, /* I/O status block */
0, 0,
0, 0, 0, 0,
&descriptor, 0); /* P5 - socket option list */
You can change the polling interval and the maximum timeout interval
either on a system-wide basis (using TCPIP SET PROTOCOL TCP command)
or on a per-socket basis.
With additional access within the application operating environment
involved (if this is not a question of TCP/IP sockets), the OpenVMS
lock manager and/or the cluster event notification services could be
used to track process availability.
|