![]() |
![]() 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.
|