This section contains error messages for the Adaptive Server initialization routines.
21
There are not enough 'user connections' available to start a new process. Retry when there are fewer active users, or ask your System Administrator to reconfigure SQL Server with more user connections.
Error 1601 occurs when all user connections are in use and a request is made to create another Adaptive Server process.
Error 1601 is caused by one of the following:
Adaptive Server is not configured with enough user connections to support all requests.
On operating systems communicating over DECnet, there are not enough logical links available.
Perform the actions from the appropriate sections below.
Use sp_configure to increase the value of the number of user connections configuration parameter:
Determine the current number of user connections configured:
1> sp_configure "number of user connections" 2> go
Set the new value for user connections:
1> sp_configure "number of user connections", 2> new_value 3> go
Restart Adaptive Server to activate the changes.
Depending on the exact configuration of your Adaptive Server, each user connection typically requires between 40K and 60K of memory (86K for OpenVMS), whether or not it is in use. Gradually increase the number of user connections until these errors no longer occur. When you change the value of the number of user connections configuration parameter, you may need to increase the total memory configuration parameter. If you have increased the stack size or default network packet size configuration parameters, each user connection will require more memory. Refer to the Performance and Tuning Guide and “Configuring Memory” in the System Administration Guide for information about how Adaptive Server uses memory.
If you have an OpenVMS system, recalculate the quotas using the worksheet Sybase provides, and make any needed Sybase quota file and operating system adjustments.
For more information on determining the number of user connections your Adaptive Server needs, refer to “number of user connections” in the System Administration Guide.
This error often appears in the Adaptive Server error log without the 1601 error number: “kernel: no pss structure available for new process.” Take the above action whether or not the error number is displayed.
Make sure there are enough logical links available. For more information about DECnet and logical links, refer to the Adaptive Server installation and configuration guide.
All versions
21
Unable to initialize network %d
This error may be caused by a hardware problem.
This error occurs during start-up when Adaptive Server is unable to initialize a network connection specified in your network addressing (interfaces or sql.ini) file.
Throughout this writeup, your network addressing file is referred to as your “interfaces file”.
Error 1602 can occur as a result of any of the following problems in your interfaces file:
Duplicate entries
Incorrect network address
Other incorrect information such as incorrect host name or illegal port number
For NT:
The WINSOC libraries or the protocol on which you want to run (that is, IPX/SPX) are not loaded.
You try to bring up the Adaptive Server on a bad default Server name (NT has default values).
For NetWare, if the socket (port number) is already used or if the protocol is not loaded (TCP/IP is optional in NetWare)
Error 1602 can also occur as a result of changes in your network which make entries in your interfaces file unavailable to Adaptive Server.
Check your interfaces file to make sure everything is correct. If any information is incorrect or duplicate entries exist, use one of the following to make corrections to your interfaces file:
dsedit
dscp
If you do not find any incorrect information in your interfaces file, ask your network administrator to verify (at the operating system level) the entries in the interfaces file to make sure all network connections are working properly.
For information about modifying the interfaces file for your platform, refer to the Adaptive Server installation and configuration guide.
If you need to call Sybase Technical Support, have your error log output and a copy of your interfaces file ready before you call.
All versions
21
Process priority %d invalid or no process slots available
When starting a new process, Adaptive Server checks that:
the process is being started at the correct priority. Valid priorities range from 0 (highest) to 7 (lowest).
there are enough connections (slots) available.
Error 1603 occurs when the new process is requested at an invalid priority, or when not enough connections are available to start the process.
Error 1603 occurs with the following states:
State |
Meaning |
---|---|
1 |
Unable to create a new, internal server process. |
2 |
Unable to create a process to handle a new user connection (for example, an isql connection) to the server. |
Check the following parameters, and increase the values as needed:
number of user connections number of remote connections
Also check any applications currently accessing the server. The number of connections needed by an application depends entirely on how the application is programmed. You may need to shut down and correct any applications that are using excessive connections.
Check the value of process priority reported in the message text. If the value does not fall in the valid range between 0 and 7, check the priority at which applications are accessing the server.
number of user connections and number of remote connections are static parameters. You must restart the server after you change their values.
Refer to “Setting Configuration Parameters” in the System Administration Guide for details about parameters that control new connections.
All versions.
21
Failed to open virtual socket for new connections
This error may be caused by a hardware problem.
The Adaptive Server 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:
Exceeding the number of configured user connections
Exceeding the number of configured sockets
Network configuration problems such as using the same IP address for two different clients
Error 1605 error can be raised at the following times:
At startup time, when the network is initialized.
At creation of a process, when a new connection request comes in and Adaptive Server is unable to handle it.
At the forced termination of a process, when a new connection request comes in and Adaptive Server is unable to handle it.
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):
kimaxfd – the maximum number of configured per process file descriptors that a process can use at a given time. The error log message “Using ## file descriptors” shows what this value is at boot time.
number of remote sites – this configuration parameter specifies the maximum number of remote sites.
number of user connections – this Adaptive Server configuration parameter specifies the maximum number of user connections allowed.
cnsocket – the maximum number of virtual sockets, calculated as:
cmaxnetworks (maximum # of user connections configured) + cusrconnections (the number of user connections configured) + cfgsitebuf (the number of remote sites configured) + XTRA_SOCKETS (defined as 2 in 11.0.x)
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.
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:
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.
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. Check the System Administration Guide for details about the @@max_connections calculation.
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
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.
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.
Under 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. In an OpenVMS environment, if you increase the value for number of user connections, you may also need to increase the value of the OpenVMS operating system parameter channelcnt and recalculate your system quotas. Refer to Managing and Monitoring Sybase Adaptive Server Enterprise Using Sybase Central for information about managing the maximum number of user connections available on an NT Server.
Refer to “Setting Configuration Parameters” in the System Administration Guide for information about configuration parameters. Refer to the Reference Manual for information about sp_configure.
For parameter information specific to your platform, refer to the Adaptive Server installation and configuration guide.
If you need to call Technical Support, have the following information available:
Server release and SWR rollup level
Server error log
Operating system version and error log
Output of dbcc resource and sp_configure
Text of all error messages
All versions
18
A client process exited abnormally, or a network error was encountered. Unless other errors occurred, continue processing normally.
This error occurs when a client process stops without informing Adaptive Server and a subsequent attempt by Adaptive Server to send results to this client fails.
Error 1608 is usually not serious and may be viewed as notification that a client process no longer exists. Some of the possible reasons a client process can disappear are:
The client application was killed or ended abnormally
The client machine was powered off or was restarted
There is excessive network traffic
The network has been shut down
Using Ctrl-c (on operating systems other than Windows) to break out of an application should not cause this error.
Do not be concerned if this error occurs only sporadically. However, if the error occurs frequently and continuously, or frequently for short periods of time, it may be a result of excessive network traffic or network problems.
If you suspect network problems, have your network administrator run diagnostics on the network between the client and the Adaptive Server machines to isolate the problem.
All versions
21
Could not close network %d connection for server process %d.
This error occurs when Adaptive Server is unable to close a network connection for a Server process.
Error 1613 can be caused by:
System parameters being set too low.
Network problems.
Problems specific to an operating system (see Action below for a Digital Unix Tru64 version 5 example).
This is not a serious problem unless it occurs frequently.
This error may be caused by a hardware problem.
If you are running Adaptive Server on Digital Unix Tru64 version 5, you will need the appropriate operating system patch that corrects this problem. See TechNote 1012739 at the Sybase Technical Support website at www.sybase.com/support for the list of patches and patch kits available at the time of publication. As always, check with the OS vendor for the latest patches.
On other platforms, check the values for your system parameters that affect network use:
Under OpenVMS, these might include the process quota values such as ASTLM, FILLM, BYTLM, and sysgen parameters such as CHANNELCNT.
Under UNIX, these might include the limit on the maximum number of file descriptors (limits the number of sockets that can be open at one time) and the per-process limit on file descriptors.
Under Windows, these might include NumForwardPackets and ForwardBufferMemory.
If you suspect network problems, have your network administrator run diagnostics on the network between the client and the Adaptive Server machines to isolate the problem.
All versions
18
Type ’%c’ not allowed before login.
Adaptive Server uses TDS (Tabular Data Stream) packets to communicate with clients. A token is attached to every TDS packet to differentiate between different types of packets. During login, Adaptive Server expects a client to supply either the TDS_LOGIN or TDS_ECHO token.
Error 1621 occurs when a client sends a token other than TDS_LOGIN or TDS_ECHO at login. Possible causes include:
Non-printing characters in the login script.
Another process trying to access the port used by the server.
An incompatible database driver; for example, an unsupported ODBC driver.
To see if other processes are interfering with the port, use netstat (UNIX) or Task Manager (NT) and check port status. You can also start the server using a different port number to remove any possible interference.
Check client applications to make sure logins are using a supported database driver. On NT, you can use the Drivers tab under ODBC Data Source Administrator to see the available drivers.
Check the TDS login packets being sent to Adaptive Server. To identify the affected logins, you can monitor packets:
by using trace flags 3605 and 4013 (3605 sends the output to the error log, and 4013 generates the login record)
WARNING! Use of trace flag 4013 may generate a large number of messages in the error log.
with the ribo utility (Version 12.0 and higher).
Correct your login scripts to remove non-printing characters or control characters, and retry the connection.
Refer to “How to Start Adaptive Server with Trace Flags” in the Encyclopedia of Tasks chapter for details on using trace flags.
All versions
18
Type '%c' not implemented.
Adaptive Server uses TDS (Tabular Data Stream) packets during communication with clients to differentiate between different types of packets. A token is attached to every TDS packet. Error 1622 occurs when a client sends an invalid TDS token.
Valid packet header tokens include:
TDS_LANGUAGE
TDS_RPC
TDS_ECHO
TDS_LOGOUT
In the message output, “%c” is the token name causing the 1622 error.
Error 1622 occurs with the following states:
State |
Meaning |
---|---|
1 |
Error 1622 occurs with State 1 if the packet header cannot be converted to one of the tokens listed above. |
2 |
Error 1622 occurs with State 2 if the header token is correct but the data token is bad. |
Check your network to make sure there are no unexpected characters being sent to Adaptive Server because of noise on the line or hardware problems. If you have confirmed that unexpected characters are not occurring, call Sybase Technical Support.
All versions
21
Warning: dataserver -p option fails. Please check for state '%d' to see where it fails.
This error occurs when Adaptive Server is unable to create a new password for a user with “sso” role in response to the dataserver command with the -p option.
There are three possible states:
State |
Meaning |
---|---|
1 |
Login passed with the -p option does not exist in syslogins. |
2 |
Login exists but does not have the “sso” (system security officer) role. |
3 |
Call to the routine that sets the passwords failed. This routine generates its own errors to help you diagnose the problem. |
The actions for recovering from Error 1623 are listed below, by state.
If you did not remove “sso” role from the “sa” login, use “sa” in your dataserver command in your runserver file. If you did remove “sso” role from the “sa” login, choose the appropriate option below.
If you can, log into Adaptive Server as any user.
Determine which login names have “sso” role:
1> use master 2> go
1> select l.name, s.name from sysloginroles slr, 2> syslogins l,syssrvroles s 3> where slr.srid = 1 and slr.suid = l.suid and 4> slr.srid = s.srid 5> go
If you cannot log into Adaptive Server as any user, and you have a historical dump of the master database that includes a user with the “sso” role and for which you know the password, create a new master device, load that dump and determine whether you can log into it. Refer to “master Database Is Corrupt and Adaptive Server Starts” and read “Valid Dump of the master Database Exists”for instructions on how to re-create your master database.
If you cannot log into Adaptive Server as any user and do not have a historical dump of the master database, refer to “master Database Is Corrupt and Adaptive Server Starts” in the System Database Recovery chapter and read “Valid Dump of the master Database Does Not Exist” for instructions on how to re-create your master database.
Other error messages will be listed. Follow the directions in this manual for recovering from those errors. If no directions exist, call Sybase Technical Support.
All versions