Problem solve Get help with specific problems with your technologies, process and projects.

Running Sybase without the RUNSERVER file

Sybase expert Mich Talebzadeh describes how to start a server without the benefit of the RUNSERVER file by typing out the individual commands.

In a Unix environment, can we start the Sybase database server without the use of RUNSERVER file, which is in the install directory? If so, how?

The short answer is yes, but not conveniently. First, we need to understand what a RUNSERVER file is and what information it contains:

ASE's RUNSERVER file is a static file that is used for feeding information to the ASE's startup program. Each ASE has its own RUNSERVER file. By default, the RUNSERVER file is located under directory $SYBASE/$SYBASE_ASE/install. The RUNSERVER file is created by the ASE's server creation program called srvbuild. This file holds information about the server.

The naming convention used for RUNSERVER file is as follows:


For example, the RUNSERVER file for a server called lon_gen_sql_tst4 would be RUN_lon_gen_sql_tst4. The information contained in a RUNSERVER file is as follows:

  • The main binary startup program (dataserver)
  • The server name as in the interfaces file
  • The ASE page size
  • The location of the master device
  • The location of the errorlog
  • The location of the configuration file
  • The location of the shared memory file for this server

An example of RUNSERVER file is shown below:

cat RUN_lon_gen_sql_tst4
# Adaptive Server name: lon_gen_sql_tst4
# ASE page size (KB):   8k
# Master device path:   /data2/lon_gen_sql_tst4/master.dat
# Error log path:       /apps/sybase/sqlserver/15/ASE-15_0/install/lon_gen_sql_tst4.log
# Configuration file path:      /apps/sybase/sqlserver/15/ASE-15_0/lon_gen_sql_tst4.cfg
# Directory for shared memory files:    /apps/sybase/sqlserver/15/ASE-15_0

In the above file, dataserver program is used to invoke an ASE. This executable can be invoked at the command line or embedded in (invoked from) a RUNSERVER file for ease of use.

To start ASE, you need to use the command line program startserver, located in the same install directory as the RUNSERVER file. The startserver executable is passed to a RUNSERVER file as an argument. Then, startserver reads the RUNSERVER file. This file, in turn, provides the executable with the information it needs. You typically start ASE as follows:

startserver –f RUN_<SERVER_NAME>

For example, to start a server called lon_gen_sql_tst4 you do the following:

startserver –f RUN_lon_gen_sql_tst4

In summary, you can start an ASE without using a RUNSERVER file by typing everything in the RUNSERVER file (dataserver -s ..), but I would not recommend it.

Dig Deeper on Linux servers