Sybase Technical Library - Product Manuals Home
[Search Forms] [Previous Section with Hits] [Next Section with Hits] [Clear Search] Expand Search

Server recovery and database repair [Table of Contents] Database
connection issues

Adaptive Server IQ Troubleshooting and Error Messages Guide

[-] Chapter 1: Troubleshooting Hints
[-] Solutions for specific conditions
[-] Server operational issues

Server operational issues

This section contains information about problems with the operation of the server, including startup, shutdown, unresponsiveness, and abnormal termination.

Adaptive Server IQ won't start

Possible causes

Action

Transaction log file does not match the database

The following messages appear in the server log file (.svrlog) and in the window where you are starting the server:

Starting database "dbname" (/dbdir/dbname.db) at Fri Oct 11 2002 10:53
Transaction log: dbname.log
Error: Cannot open transaction log file -- Can't use log file "dbname.log" since the database file has been used more recently
Cannot open transaction log file -- Can't use log file "dbname.log" since the database file has been used more recently
Database server stopped at Fri Oct 11 2002 10:53

If these errors are reported when you are starting the server, check to be sure the server is using correct transaction log file. If you cannot find the correct transaction log file, then restore from the last valid backup.

Server cannot find the transaction log

If the server fails to start because it cannot find the transaction log, the following messages appear in the server log file:

Transaction log: /dbdir/dbname.log...
Error: Cannot open transaction log file -- No such file or directory
Cannot open transaction log file -- No such file or directory

If this error is reported when you attempt to start the server, find the transaction log file and copy the file to the same directory as the database .db file. If you cannot find the correct transaction log file, then restore from the last valid backup.

Server name is not unique on your network

If the server name is not unique on your network, i.e., multiple systems have a server with the same name, the following messages appear in the server log file (.svrlog) when you attempt to start the server using start_asiq:

DBSPAWN ERROR:  -82
Unable to start specified database

Server failed to start

If you see these errors in the server log file and the server will not start, try to start the server using the asiqsrv12 command. The asiqsrv12 command returns a more specific error message:

A database server with that name has already started

Once you have verified that the problem is a duplicate server name on your network, start the server with a name that is different from the names of servers that are already running.

Server port number is not unique on the machine

If an IQ server is running and you attempt to start another IQ server on the same machine using the same port number, the following messages appear in the server log file (.svrlog):

Trying to start TCPIP link ...
TCPIP communication link not started
Unable to initialize requested communication links
...
DBSPAWN ERROR:  -85
Communication error

Server failed to start

If you see these messages in the server log file and the server will not start, run the stop_asiq command to display the names and port numbers of IQ servers already running on the machine. Then try to start your server, specifying either a port number that is not in use or no port number. When you start a server and do not provide a port number (and the default port number is already in use), IQ generates an available port number.

Here are the messages you see in the server log file, when you start the server and do not specify a port number:

Trying to start TCPIP link ...
Unable to start on default port; starting on port
49152 instead
TCPIP link started successfully
Now accepting requests
...
Server started successfully

Environment variables are not set correctly

If your database configuration file parameters differ from those used by start_asiq, make sure the correct parameters are used to start the server.

You cannot run start_asiq

If you cannot run the start_asiq command and you normally use a configuration file or other command line switches, try starting the server using only start_asiq with the server name and database name. If the server starts with this simple command, then the problem is probably caused by one or more of the switches or parameters entered on the command line or in the configuration file. Try to isolate which parameter or switch is preventing the server from starting.

If the server does not start with the most basic start_asiq command, try starting the asiqdemo demo database using your configuration file and command line switches. If the server starts with the asiqdemo database, there may be a problem with your database. Refer to the section "Database connection issues".

If you still cannot run the start_asiq command, use the Start Database Server utility in Sybase Central or the asiqsrv12 command.

Before running asiqsrv12, you must perform the following tasks (which start_asiq normally does for you):

For any database created with a relative pathname, you must start the database server from the directory where the database is located.

Note what directory you are in when you start the server. The server startup directory determines the location of any new database files you create with relative pathnames. If you start the server in a different directory, Adaptive Server IQ cannot find those database files.

Any server startup scripts should change directory to a known location before issuing the server startup command.

Syntax for asiqsrv12 is as follows:

asiqsrv12 -n server-name -gm number
[ other-server-switches ] [ database-file [ database-switches ] ]

On the asiqsrv12 command line, the last option specified takes precedence, so if you want to override your configuration file, list any options you want to change after the configuration file name. For example:

asiqsrv12 @asiqdemo.cfg -x 'tcpip{port=1870}' asiqdemo

The -x parameter here overrides connection information in the asiqdemo.cfg file.

When you start the server with the asiqsrv12 command, it does not run in the background, and messages do not automatically go to the server log. However, if you include the -o filename server switch, messages are sent to the named file in addition to the server window.

If the server fails to start when you run the asiqsrv12 command, then attempt to start again using the asiqsrv12 utility with minimal switches and parameters. For example:

asiqsrv12 -n <servername> <dbname>.db -c 32m
-gd all -gl all

If the server starts with the minimum parameters and switches, then one of the parameters or switches normally used to start the server may be causing a problem. Try to isolate which parameter or switch is preventing the server from starting.

See also

Chapter 2, "Running Adaptive Server IQ" in the Adaptive Server IQ Administration and Performance Guide for more information on server startup, including the section "Troubleshooting startup, shutdown, and connections."

Adaptive Server IQ stops processing or stops responding

Possible causes

The following are the two most common causes of server unresponsiveness, which can be detected by looking in the IQ message file:

Action

If your server seems to be prone to unresponsiveness, either while processing or during shutdown, use the start_asiq command line option -z and the IQ database option QUERY_PLAN = 'ON' to log useful information in the IQ message (.iqmsg) and server log (.svrlog) files. In addition to logging this information, there are other steps you can take to determine the cause of the problem:

Server fails to shut down

Normally you should be able to shut down the server by running the dbstop utility or stop_asiq, by typing

q
in the server window on UNIX, or by clicking Shutdown on the server window on Windows. If none of these methods works, see the Actions section below.

Possible causes

Various.

Actions

On UNIX systems:

  1. Capture ps operating system utility output, so you can submit this output to Sybase Technical Support. On Sun Solaris two different ps options are available. Use both.

    ps -aAdeflcj|egrep "PPID|asiqsrv12"

    /usr/ucb/ps -awwwlx|egrep "PPID|asiqsrv12"

  2. Try to kill the process at the operating system level to generate a core dump.

    kill -6 pid

    A small core file is created in the directory where start_asiq was run. If you are able to kill the server process in this way, skip to step 5.

  3. If the server process still does not exit, capture ps output as in step 1. Retain the output from both times you run ps (before and after trying to kill the process). Then kill the process with a stronger signal:

    kill -9 pid

  4. If this method does not cause the process to exit, capture yet another set of ps output, and then reboot your system.

  5. Submit all ps output, the core file (if generated in step 2), and the stack trace in stktrc-YYYYMMDD-HHNNSS.iq (server_name.nnn.stderr on HP-UX) to Sybase Technical Support.

On Windows systems:

  1. Start the Task Manager by right-clicking the Task Bar and clicking Task Manager.

  2. In the Processes tab, select asiqsrv12.exe and then click the End Process button to stop the database server.

  3. If necessary, restart Windows.

Refer to the section "Reporting problems to Technical Support" for a full list of information to provide to Sybase Technical Support.

System failure/Adaptive Server IQ failure

Possible causes

Various.

Actions

See also


Server recovery and database repair [Table of Contents] Database
connection issues