Error 1605

Severity

21

Message text

Failed to open virtual socket for new connections

NoteThis error may be caused by a hardware problem.

Explanation

The Adaptive Server Enterprise Network Handler listens on the ports specified in your network addressing (interfaces or sql.ini) file. When a connection comes in, the Network Handler opens another socket to redirect that client, clearing the listener port for the next connection, hence the term “virtual” socket. The connection appears, from the outside, to be connected to the interfaces port, when it is actually connected at a different address to which there is a pointer.

Error 1605 occurs when a failure occurs in the process of opening the new socket. There are a number of things that can cause this:

Error 1605 error can be raised at:

The information below includes several internal configuration parameters. You will not be changing these directly, but they are included to help explain how to calculate values for sp_configure parameters that relate to connection handling. Following are the kernel and configuration parameters used to calculate cnsocket (the maximum number of virtual sockets):

During start-up, if the value for cnsocket is greater than the value for kimaxfd, then the value of cnsocket will be set to the value of kimaxfd, and the message:

kistartup: number of virtual sockets set to ###

is printed to the log where ### is the value of kimaxfd/cnsocket.

Adaptive Server recalculates the value for cnsocket when you use sp_configure to change related parameter values.

Action

Check the error that precedes the 1605 error. If that error is one of the following:

nopen: No virtual sockets available
nopen: no room in socket table

then the value for the Server configuration block parameter cnsocket has been exceeded. To solve the problem in this case, increase user or network connections and possibly increase the maximum number of file descriptors per process:

  1. Determine the current value for cnsocket.

    Use dbcc resource (this command requires sybase_ts_role and dbcc tracecon(3604) to determine the current configuration for sockets.

  2. Determine the current value for the maximum number of allowed network connections:

    1> select @@max_connections
    2> go
    

    @@max_connections is the maximum number of file descriptors that the operating system allows for your server’s engine processes, minus a fixed number of descriptors needed by Adaptive Server. Refer to the chapter “Managing Multiprocessor Servers” in the System Administration Guide: Volume 2 for details about the @@max_connections calculation.

  3. Determine the current value for number of devices (the number of database devices that Adaptive Server can use, excluding dump devices):

    1> sp_configure "number of devices"
    2> go
    
  4. Determine an appropriate value for @@max_connections, based on the number of users expected to be logged on at any given time, and the number of devices. Remember that each device takes up a user connection.

  5. Compare the appropriate value for sockets to the current value for sockets which you determined in step 1. (Remember that maximum number of virtual sockets = max number network listeners + number of user connections + number of remote sites + 2.)

    If the current value is too low, use sp_configure to increase the value of number of user connections and/or number of remote sites so that the calculated value for sockets will be correct. If the error persists, call Sybase Technical Support.

    NoteUnder UNIX, you may need to raise the maximum number of file descriptors at the operating system level for the Adaptive Server if the new value for cnsocket exceeds the maximum number of per process file descriptors times the number of online engines for 11.0.x and later versions. Refer to “number of user connections” in the chapter “Setting Configuration Parameters” in the System Administration Guide: Volume 1 for information about managing the maximum number of user connections available on an Windows server.

Additional information

Refer to “Setting Configuration Parameters” in the System Administration Guide: Volume 1 for information about configuration parameters. Refer to the Reference Manual: Procedures for information about sp_configure.

For parameter information specific to your platform, refer to the Adaptive Server installation and configuration guide for your platform.

If you need to call Technical Support, have the information listed in “Reporting errors” available, including the output of dbcc resource and sp_configure.

Versions in which this error is raised

All versions