start_iq server options

The following table lists the available switches for the start_iq server options parameters.

NoteFor switch descriptions in the following table that cite SQL Anywhere documentation, please note that references to dbsrv11 | dbeng11, Mobilink, OS X, Ultralite, and Windows Mobile do not apply to Sybase IQ.

Table 1-1: start_iq server options

Switch

Description

@filename

Read in switches from configuration file.

The file may contain line breaks, and may contain any set of command-line switches. For example, the following Windows command file holds a set of command-line switches for a server named iqdemo that allows 10 connections, sets the maximum catalog page size to 4096 bytes, and loads the iqdemo database:

# iqdemo.cfg
# ------------------------------------------------
# Default startup parameters for the IQ demo database
# ---------------------------------------------------
-n  iqdemo
-x  tcpip{port=2638}
# The following parameters are also found in the configuration file
# %IQDIR!%\scripts\default.cfg.  Any parameters not specified below
# and not in the start up parameter list, will be added by start_iq
# using default.cfg as a guide.				

-c  48m
-gc 20
-gd all
-gl all
-gm 10
-gp 4096
-iqmc 32
-iqtc 24

If this configuration file is saved as c:\config.txt, the file can be used in a command line as follows:

start_iq @c:\config.txt

@envvar

Reads in command-line switches from the supplied environment variable. The environment variable may contain any set of command-line switches. For example, the first of the following pair of Windows statements sets an environment variable holding a set of command-line switches and loads the sample database. The second statement starts the database server:

set envvar= -gp 4096 -gm 15 
c:\sybase\IQ-15_2\demo\start_iq -n myserver @envvar iqdemo.db

NoteIf you have both a file and an environment variable with the value of your @ command-line switch, the result is unpredictable. Use only one of these methods to set a given @ command-line switch.

-c cache-size[ k| m| g| p]

Sets initial memory reserved for caching catalog store pages and other server information. The database server uses extra memory for caching database pages if the memory is set aside in the cache. Any cache size less than 10000 is assumed to be KB (1K = 1024 bytes). Any cache size 10000 or greater is assumed to be in bytes. You can also specify the cache size nK, nM or nP (1M = 1024 KB), where P is a percentage of the physical system memory.

The default value of -c in the default.cfg file and start_iq is 32MB (-c 32M) for Windows platforms, and 48MB (-c 48M) for UNIX platforms. For IQ databases, Sybase recommends that you use this default or set -c to a higher value.

You can use % as an alternative to P, but as most non-UNIX operating systems use % as an environment variable escape character, you must escape the % character. For example, to use 20 percent of the physical system memory, specify:

start_iq -c 20%% ...

For information on how the database server on UNIX operating systems calculates the maximum cache size if the cache size specified with -c is greater than the amount of available memory, see “Calculating initial catalog store cache size when start_iq server option -c is not specified”.

Do not use -c in the same configuration file or command line with -ch or -cl. For related information, see the -ch cache-size option and the -ca 0 option.

-ca 0

Enforces a static catalog cache size. The zero argument is required.

See "-ca server option".

-cc {+|-}

Collects information about database pages to be used for cache warming the next time the database is started.

See "-cc server option".

-ch size[ k| m| g| p]

Set catalog store cache size upper limit in bytes. By default, the upper limit is approximately the lower of 256MB and 90% of the physical memory of the machine.

You specify the cache-size using the K, M, and P characters as in the -c option. For the meaning and usage of the cache size argument and the K, M, and P characters, see -c cache-size.

In some cases the standard catalog cache size may be too small, for example, to accommodate certain queries that need a lot of parsing. In these cases, you may find it helpful to set -cl and -ch. For example, on 32-bit platforms, try these settings:

-cl 128M
-ch 512M

WARNING!  To control catalog store cache size explicitly, you must do either of the following, but not both, in your configuration file (.cfg) or on the UNIX command line for server startup:

  • Set the -c parameter.

  • Set specific upper and lower limits for the catalog store cache size using the -ch and -cl parameters.

Specifying different combinations of the parameters above can produce unexpected results.

-cl size[ k| m| g| p]

Sets a minimum cache size as a lower limit to automatic cache resizing.

See "-cl server option".

For more information, see Chapter 11, “International Languages and Character Sets” in the System Administration Guide: Volume 1.

-cm size

Specifies the amount of address space allocated for an Address Windowing Extensions (AWE) cache on Windows.

See "-cm server option".

-cp

Specifies set of directories or jar files in which to search for classes. Use ; to separate directories and jar files.

See "-cp server option".

-cr {+|-}

Reloads (warms) the cache with database pages using information collected the last time the database was run.

See "-cr server option".

-cs

Displays cache size changes in the database server messages window.

See "-cs server option".

-cv {+|-}

Controls the appearance of messages about cache warming in the database server messages window.

See "-cs server option".

-cw

Enables use of Address Windowing Extensions (AWE) on Windows 2000, Windows XP, and Windows Server 2003 for setting the size of the catalog store cache.

Because Windows 2000, Windows XP, and Windows Server 2003 support Address Windowing Extensions, you can use the -cw option to take advantage of large cache sizes based on the maximum amount of physical memory in the system. Remember, though, that the size of the catalog store cache has much less impact on performance for IQ databases than the IQ main and temporary buffer caches.

When using an AWE cache, almost all of the available physical memory in the system can be allocated for the cache.

If you can set a catalog store cache of the desired size using a non-AWE cache, Sybase recommends that you do so, because AWE caches allocate memory that can only be used for the catalog store. This means that while the database server is running, the operating system and the IQ store caches cannot use the memory that is allocated for the catalog store cache.

AWE caches do not support dynamic cache sizing. Therefore, if an AWE cache is used and you specify the -ch or -cl options to set the upper and lower cache size, they are ignored.

When the server uses an AWE cache, the catalog cache page size is at least 4KB, and dynamic cache sizing is disabled. On 64-bit Windows platforms, the cache page size is at least 8KB.

See “AWE cache sizes per operating system [-cw]”.

See “Starting a database server with an AWE cache [-cw]”

See “AWE cache allocation [-cw]”

For more information about dynamic cache sizing, see the -ch and -cl server options.

See "-cs server option".

-dt dir

Specifies the directory where temporary files are stored.

See "-dt server option".

-ec encryption-options

Enable packet encryption on the network server.

See "-ec server option".

-ep

Displays a dialog box that prompts you for an encryption key to start an encrypted database. This option provides an extra measure of security by never allowing the encryption key to be seen in clear text. For a strongly encrypted database, you must specify either -ep or -ek, but not both. The command fails if you do not specify a key for a strongly encrypted database.

The server cannot be a Windows service, or it must be a Windows service with the interact with desktop option turned ON.

The server cannot be a daemon (UNIX).

When used with supported tools, this option always prompts the user for the encryption key, even if a key is not necessary. If you know that a key is not necessary, click Cancel to continue when the dialog box prompt appears.

See "-ep server option".

-es

Allows unencrypted shared memory connections.

See "-es server option".

-fips

All strong encryption done using FIPS-approved modules. This switch requires the IQ_SECURITY license. Specifying this option forces all strong database encryption to use FIPS-approved algorithms.

See "-fips server option".

-ga

Causes the database server to automatically shut down after the last database closes.

See "-ga server option".

-gb level

Sets the server process priority class.

See "-gb server option".

-gc num

Sets the maximum interval between checkpoints.

See "-gc server option".

-gd level

Sets the permissions required to start or stop a database.

See "-gc server option".

-ge size

(Windows) Sets the stack size for external functions.

See "-ge server option".

-gf

Disables trigger firing.

See "-gf server option".

-gk level

Set the permission required to stop the server.

See "-gk server option".

-gl level

Set the permission required to load data using LOAD TABLE. The LOAD TABLE statement reads files from the database server machine. To control access to the file system using these statements, the -gl command-line switch allows you to control the level of database permission that is required to use these statements. level is either:

  • DBA—Only users with DBA authority can load data.

  • ALL—All users can load data.

  • NONE—Data cannot be loaded.

You can use either uppercase and lowercase syntax for the options.

The default settings are all for servers started with start_iq and dba for other servers. Sybase recommends that, for consistency with earlier versions, you use the all value on all systems. The all setting is used in the iqdemo.cfg and default.cfg configuration files. See Table 2-1 in Chapter 2, “Running Sybase IQ” in the System Administration Guide: Volume 1.

-gm num

Limits the number of concurrent connections to the server.

See "-gm server option".

-gn integer

Sets the number of execution threads that will be used for the catalog store and connectivity while running with multiple users. This parameter applies to all operating systems and servers. Each connection uses a thread for each request, and when the request is completed, the thread is returned to the pool for use by other connections. As no connection can have more than one request in progress at one time, no connection uses more than one thread at a time.

An exception to this rule is if a Java application uses threads. Each thread in the Java application is a database server execution thread.

On Windows, specify this parameter in start_iq. To calculate its value, use:

gn_value >= gm_value * 1.5

Sybase recommends that you set the -gn value to at least 1.5 times the value of -gm. Specify a minimum of 25. The total number of threads must not exceed a platform-specific maximum; see -iqmt num for details.

The start_iq utility sets this parameter. See the Installation and Configuration Guide for your platform for more information.

-gp size

Sets the maximum page size allowed, in bytes, for the catalog store.

See "-gp server option".

-gr num

Sets the maximum length of time, in minutes, that the database server takes to recover from system failure.

See “RECOVERY_TIME option” in Chapter 2, “Database Options” in Reference: Statements and Options.

-gss {integer | integerK | integerM}

Sets, in part, the stack size for server execution threads that execute requests for server connections. IQ calculates the stack size of these server threads using the formula: (-gss + -iqtss). See -iqtss.

On Windows XP and later, the default value for -gss is 1MB on 32-bit operating systems, and 4MB on 64-bit operating systems. The maximum stack size is 16MB on 32-bit operating systems, and 256MB on 64-bit operating systems. The -gss option is ignored on Windows 2000.

-gt num

Sets the maximum number of physical processors that can be used (up to the licensed maximum). This option is only useful on multiprocessor systems.

See "-gt server option".

-gtc num

Controls the maximum processor concurrency (cores and hyperthreads) that the database server allows.

See "-gtc server option".

-gu level

Sets permission levels for utility commands such as CREATE DATABASE and DROP DATABASE.

See "-gu server option".

-iqfrec dbname

Open database in forced recovery mode.

-iqgovern num

Sets the number of concurrent queries allowed by the server. The number of concurrent queries is not the same as the number of connections. -iqgovern can help Sybase IQ optimize paging of buffer data out to disk and avoid overcommitting memory. The default value of this switch is equal to 2 times the number of CPUs on your machine, plus 10. You may find that another value, such as 2 times the number of CPUs plus 4, provides better throughput, especially when large numbers of users are connected.

-iqmc size

Specifies the main IQ store cache size in MB. Always specify the value for the size, but no units of measurement; for example specify 32 instead of 32MB. If you specify the unit of measurement, start_iq ignores this switch, unlike SQL Anywhere, which requires a unit of measurement.

The switch overrides default of 16MB, or the value, if any, set by the MAIN_CACHE_MEMORY_MB database switch. Applies to all databases started from the time the IQ server is started until the IQ server is shut down. In other words, if you start one database at server startup and another later, you need 2 * -iqmc available for the main cache. In general, Sybase recommends that you do not run multiple databases with a Sybase IQ server.

-iqmpx_failover

Initiates multiplex coordinator failover to establish the designated failover Secondary node as the new coordinator. Starting the coordinator with this option has no effect. Users must be licensed for the Multiplex Grid Option to run secondary nodes. For iqmpx_failover values, see Using Sybase IQ Multiplex.

-iqmpx_ov

Performs multiplex configuration override for the current node. Used to change node properties during startup in the event that a node's location or other property has changed. Users must be licensed for the Multiplex Grid Option to run secondary nodes. For iqmpx_ov values, see Using Sybase IQ Multiplex.

-iqmpx_reclaimwriterfreelist

This option applies only while restarting a coordinator node. The coordinator will forcefully reclaim the free-list of the writer node identified by server-name. This switch is only needed in the event that a writer fails and cannot be restarted. Users must be licensed for the Multiplex Grid Option to run secondary nodes. For iqmpx_reclaimwriterfreelist values, see Using Sybase IQ Multiplex.

-iqmpx_sn

Runs the current node in multiplex in single node mode. This mode is used exclusively for fixing problems with the multiplex configuration and should be used with extreme caution. Requires all other nodes in the multiplex to be shut down. Recommended only for use on the coordinator node. Users must be licensed for the Multiplex Grid Option to run secondary nodes. For iqmpx_sn values, see Using Sybase IQ Multiplex.

-iqmsgnum num

Specifies the number of archives of the old message log maintained by the server. Allowed values are integers 0 – 64 (inclusive). Default value is 0, which means that messages are wrapped in the main message log file. Takes effect only if -iqmsgsz or the IQMsgMaxSize server property is a value other than zero.The IQMsgNumFiles server property corresponds to -iqmsgnum and takes precedence over the value of -iqmsgnum.

A -iqmsgnum value n greater than 0 means that the server maintains n message log archives. For example, this command specifies that the server maintain 3 archives of the message log:

start_iq -n iqdemo iqdemo.db ... <other options> ... -iqmsgsz 100 -iqmsgnum 3

For information on the IQMsgNumFiles server property, see “sa_server_option system procedure” in Chapter 7, “System Procedures” of Reference: Building Blocks, Tables, and Procedures.

For information on message log management, see “Message logging” in Chapter 1, “Overview of Sybase IQ System Administration” in the System Administration Guide: Volume 1.

-iqmsgsz size

Limits the maximum size of the message log. -iqmsgsz is an integer 0-2047 (inclusive), in MB. The default value is 0, which specifies that there is no limit on message log size. The IQMsgMaxSize server property corresponds to the -iqmsgsz server switch and takes precedence over the value of -iqmsgsz.

A -iqmsgsz value n greater than 0 means that the message log can grow up to n megabytes in size. For example, the following command limits the size of the message log to 100MB:

start_iq -n iqdemo iqdemo.db ... <other options> ... -iqmsgsz 100

For information on the IQMsgMazSize server property, see “sa_server_option system procedure” in Chapter 7, “System Procedures” in Reference: Building Blocks, Tables, and Procedures.

For information on message log management, see “Message logging” in Chapter 1, “Overview of Sybase IQ System Administration” in the System Administration Guide: Volume 1.

-iqmt num

Specifies the number of Sybase IQ threads to create. The default is 60 threads for each CPU for the first four CPUs and 50 threads for each CPU for the remainder, plus threads needed for database connections and background tasks. For example, on a system with 12 CPUs and 10 connections, 60*4 + 50*(numCPUs - 4) + numConnections + 3 = 653.

The minimum value of num is num_conn + 3.

The total number of server threads cannot exceed 4096 on 64-bit platforms, or 2048 on 32-bit platforms.

-iqnotemp size

Creates a temporary file in place of the defined temporary dbspace. size is file size in MB.

-iqnumbercpus num

Specifies the number of CPUs available to IQ, overriding the physical number of CPUs for resource planning purposes. The value of -iqnumbercpus defaults to the total number of CPUs, but the range of available values is 1 – 128.

Sybase recommends that you use -iqnumbercpus only on:

  • Machines with Intel CPUs and hyperthreading enabled, setting -iqnumbercpus to the number of CPUs available

  • Machines where an operating system utility has been used to restrict Sybase IQ to a subset of the CPUs within the machine

Setting -iqnumbercpus higher than the number of available CPUs may affect performance.

-iqpartition

Specifies the number of partitions in the IQ main and temp buffer caches. Must be a power of 2. Allowed values are: 0 (default), 1, 2, 4, 8, 16, 32, 64. By default, IQ computes the number of partitions automatically as number_of_cpus/8, rounded to the nearest power of 2, up to a maximum of 64. You may be able to improve performance by adjusting the number of cache partitions. The -iqpartition switch sets this value for an IQ server, and overrides the value set by the Cache_Partitions database option. See “CACHE_PARTITIONS option” in Chapter 2, “Database Options” in the Reference: Statements and Options, and “Managing lock contention” in Chapter 10, “Transactions and Versioning” in the System Administration Guide: Volume 1 for more information on whether you should set one of these options, and factors that affect them.

-iqstart N

Provides startup diagnostics for dbspaces. The input parameter N is a number value that represents an integer bit mask. You may combine values to provide more than one feature. Output generated before the IQ message file is generated goes to the console. The -z startup switch provides additional startup and connection information.

The allowed values are as follows:

  • N=1—Returns basic information about the file names from SYSIQFILES that are used when opening the dbspace. It then displays the fully qualified names used. You can use this option to create a record of the files in use by the database in the IQ message file.

  • N=2—Stops after the transaction log replay before executing RecoveryComplete allowing you to examine the database without opening it all the way. You can combine N=2 with other options. In certain modes using N=2 may rewrite the commit_identity, but does not otherwise modify the database in a permanent manner—the checkpoint that would commit the recovery actions is not allowed to complete. All recovery actions reexecute the next time the database is opened.

  • N=4—Returns full diagnostic information, including all rows of SYSIQFILE, the subset of file names selected if the database is a multiplex database, the fully resolved file names, each individual dbspace file header block, the database_identity, the commit_identity, each checkpoint log entry, and each transaction log entry.

  • N=8—Allows the file paths in SYSIQFILE to be overridden. Instead of the SYSIQFILE values, the file names iqmsg.iqmsg, iqmain_1, iqmain_2, ..., iqtemp_1, iqtemp_2, and so on. will be used. These may be links and must be in the same directory as the .db file. You may use a link to the actual .db file but if the server is given a link to a .db file that uses a transaction log relative to the database, the server looks for the transaction log relative to the link, rather than to the database. In this case, create a link for the transaction log also

-iqtc size

Specifies IQ temporary store cache size in MB. Always specify the value for the size, but no units of measurement; for example specify 32 instead of 32MB. If you specify the unit of measurement, start_iq ignores this switch, unlike SQL Anywhere, which requires a unit of measurement.

Overrides default of 8MB, or value, if any, set by TEMP_CACHE_MEMORY_MB database option. Applies to all databases started from the time the IQ server is started until the IQ server is shut down. In other words, if you start one database at server startup and another later, you need 2 * -iqtc available for the temp cache. In general, Sybase recommends that you do not run multiple databases with a Sybase IQ server.

-iqtss size

Specifies the stack size, in KB, for server execution threads running either in the background or as part of a thread team assisting the main server connection thread. The default is 512KB on 64-bit platforms, and 200KB on 32-bit platforms.

-iqwmem size

Creates a pool of “wired” memory on HP and Sun UNIX systems. This memory is locked down so it cannot be paged by the operating system. Specify the memory size, in MB. Use this switch only if you have enough memory to dedicate for this purpose. Otherwise, you may cause serious performance degradation.

-k

Controls the collection of Performance Monitor statistics.

See "-k server option".

-kl file

Specifies the file name of the Kerberos GSS-API library (or shared object on UNIX) and enables Kerberos authenticated connections to the database server.

See "-kl server option".

-kr realm

Specifies the realm of the Kerberos server principal and enable Kerberos authenticated connections to the database server.

See "-kr server option".

-krb

Enables Kerberos-authenticated connections to the database server. This switch requires the IQ_SECURITY license.

See "-krb server option".

-ks 0

Disables the creation of shared memory that the Performance Monitor uses to collect counter values from the database server.

See "-ks server option".

-ksc num

Specifies the maximum number of connections that the Performance Monitor can monitor.

See "-ksc server option".

-ksd num

Specifies the maximum number of databases that the Performance Monitor can monitor.

See "-ksd server option".

-m

Deletes the transaction log when a checkpoint is done, either at shutdown or as a result of a checkpoint scheduled by the server. This switch lets you automatically limit the growth of the transaction log. Checkpoint frequency is still controlled by the CHECKPOINT_TIME and RECOVERY_TIME options (which also can be set in the command line).

The -m server switch is useful if you are processing high-volume transactions requiring fast response times, and the contents of the transaction log are not being relied upon for recovery or replication.

WARNING! When you select the -m server switch, there is no protection against media failure on the device that contains the database files. Additionally, do not use the -m switch with databases that are being replicated, as replication inherently relies on transaction log information.

To avoid database file fragmentation, when you use this switch place the transaction log on a separate device or partition from the database itself.

If you start the server with the -m switch, you cannot create a database.

See “The transaction log file” in Chapter 4, “Managing System Resources” in the Performance and Tuning Guide.

See "-m server option".

-n name

Sets the name of the database server.

NoteThere are two -n switches. If -n appears after a database file name, the switch is a database option. Otherwise, the switch is a server option. For example, in the following start_iq command line, the first -n indicates a server name and the second -n, which follows the database file name mydb.db, indicates a database name:

start_iq -n svrname mydb.db -n dbname

By default, the database server receives the name of the database file with the path and extension removed. For example, if you start a server on the file c:\sybase\IQ-15_2\demo\iqdemo.db and do not specify the -n switch, the name of the server is iqdemo.To avoid using the default name, always specify a server name.

NoteSybase recommends that you use the -xd option for database servers being used by deployed applications, and that all clients explicitly specify the name of the database server to which they should connect by using the ENG connection parameter. This ensures that the database connects to the correct database server when a computer runs multiple Sybase IQ database servers.

Each server name must be unique across the local area network (domain). This prevents you from unintentionally connecting to the wrong server.

See “Database server naming restrictions [-n]”.

The server name must be used on the connect statement to specify the server you are connecting to. In all environments, there is always a default database server that is used if no server name is specified, provided that at least one database server is running on the system.

Multiple database servers with the same name are not allowed to run on TCP/IP anywhere on the network, even on separate ports.

See "-n server option".

-o filename

Prints all server messages to the server message log file.

Note If the -o file is located within a file system that fills up, then the IQ server stops responding. Once this condition exists, the only way to bring down the server is to kill it.

See "-o server option".

-oe filename

Specifies a file name to log startup errors, fatal errors, and assertions.

See "-oe server option".

-on size[ k| m| g]

Specifies a maximum size for the database server message log, after which the file is renamed with the extension .old and a new file is started.

See "-on server option".

-os size [ k| m| g]

Specifies a maximum size for the server message log file, at which point the file is renamed.

See "-os server option".

-ot file

Truncates the server message log file and appends output messages to it.

See "-ot server option".

-p packet-size

Sets the maximum size of communication packets.

See “CommBufferSize connection parameter [CBSize]” in Chapter 4, “Connection and Communication Parameters” in the System Administration Guide: Volume 1

See "-p server option".

-pc

Compresses all connections except for same-computer connections.

See "-pc server option".

-pt size

Increases or decreases the size limit at which packets are compressed.

See "-pt server option".

-qi

(Windows) Controls whether the database server tray icon and window appear.

See "-qi server option".

-qp

(Windows) Specifies that messages about performance do not appear in the database server messages window.

See "-qp server option".

-qs

(Windows) Suppresses startup error windows.

See "-qs server option".

-qw

Specifies that the database server messages window does not appear.

See "-qw server option".

-s id

( UNIX servers) Sets the system user ID used in messages to the syslog facility. The default is user, which uses the user ID for the database server process. A value of none prevents any syslog messages from being logged.

See "-s server option".

-sb {0 | 1}

Specifies how the server reacts to broadcasts.

See "-sb server option".

-sf name

Comma-separated list of features or feature sets to be secured.

See "-sf server option" in SQL Anywhere Server – Database Administration.

-sk key

Specifies a key that can be used to enable features that are disabled for the database server.

See "-sk server option" in SQL Anywhere Server – Database Administration.

-su password

Sets the password for the DBA user of the utility database (utility_db), or disable connections to the utility database.

See "-su server option" in SQL Anywhere Server – Database Administration.

-ti minutes

Disconnect connections that haven't submitted a request for the specified number of minutes. If you use the default.cfg file, the default is 4400 (72 hours), so that a user running a long query will not be logged off over a long weekend. If you do not use default.cfg, the default is 240 (4 hours). A client machine in the middle of a database transaction holds locks until the transaction is ended or the connection is terminated. By disconnecting inactive connections, -ti frees these locks. The -ti switch does not disconnect clients that use the shared memory communications link. Using -ti has no effect on connections to a local server using shared memory. Setting the value to zero disables checking of inactive connections, so that no connections are disconnected.

You can use the IDLE connection parameter to set timeout values for individual connections. For more information, see “Idle connection parameter [IDLE]” in Chapter 4, “Connection and Communication Parameters” in the System Administration Guide: Volume 1.

See "-ti server option" in SQL Anywhere Server – Database Administration.

-tl seconds

Sets the period at which to send liveness packets.

See "-tl server option" in SQL Anywhere Server – Database Administration.

-tmf

Forced transaction manager recovery. Used during recovery of distributed transactions when the distributed transaction coordinator is not available.

See "-tmf server option" in SQL Anywhere Server – Database Administration.

-tq datetime | time

Shuts down the server at a specified time.

See "-tq server option" in SQL Anywhere Server – Database Administration.

-u

Opens files using the operating system disk cache in addition to the database cache.

See "-u server option" in SQL Anywhere Server – Database Administration.

-ud

(UNIX servers) Causes the process to run as a daemon in the root directory. Sybase recommends that you do not use this switch in IQ servers.

-uf

(UNIX servers) Specifies the action to take when a fatal error occurs.

See "-uf server option" in SQL Anywhere Server – Database Administration.

-ut min

(UNIX servers) Causes the server to touch catalog store temporary files at intervals specified by min.

-v or -v2

Displays the database server version in a message box (Windows) or in a version string (UNIX / Linux).

-x list

Specifies server-side network communications protocols. list is a comma-separated list of tcpip or namedpipes settings. For example:

-x tcpip,ipx

allows only TCP/IP and IPX communications.

The default is to try all settings supported by the database server on your operating system.

For some protocols, you can provide additional parameters, in this format:

-x tcpip(PARM1=value1;PARM2=value2;...)

For UNIX, quotation marks are required if more than one parameter is supplied:

-x "tcpip(PARM1=value1;PARM2=value2;...)"

For a description of available parameters, see Chapter 4, “Connection and Communication Parameters” in the System Administration Guide: Volume 1.

See "-x server option" in SQL Anywhere Server – Database Administration.

-xd

Prevents the database server from becoming the default database server.

When a database server starts, it attempts to become the default database server on that computer. The first database server to start when there is no default server becomes the default database server. Shared memory connection attempts on that computer that do not explicitly specify a database server name connect to the default server.

Specifying this option prevents the database server from becoming the default database server. If this option is specified, clients that do not specify a database server name cannot find the database server over shared memory. The -xd option also prevents the database server from using the default TCP port. If a TCP port is not specified, the database server uses a port other than port 2638.

-xs

Specifies server-side Web services communications protocols.

-xs {protocol, ... }
protocol:
{NONE
| HTTP [(option=value;...)]
| HTTPS [(option=value;...)]
HTTPS-only options:
FIPS={Y | N}
IDENTITY=server-identity-filename
IDENTITY_PASSWORD=password

Use the -xs option to specify the Web protocols you want to use to listen for client connection broadcasts.

If you do not specify the -xs option, the server does not attempt to listen for Web requests.

If you specify one or more protocols, the server attempts to listen for client requests using the specified protocol(s).

You can use the HTTPS or the FIPS-approved HTTPS protocols for transport-layer security.

Regardless of the settings you choose for the -xs option, the server always listens for connection broadcasts using the shared memory protocol. You can specify any of the following:

  • option—Use the supported network protocol option for a protocol.

  • HTTP—Listen for web requests by the client using the HTTP protocol. The default port on which to listen is 80.

  • HTTPS—Listen for web requests by the client using the HTTPS protocol. The default port on which to listen is 443. You must specify the server's certificate and password to use HTTPS. The password must be an RSA certificate because HTTPS uses RSA encryption.

    The SQL Anywhere HTTP server supports HTTPS connections using SSL version 3.0 and TLS version 1.0.

    You can specify HTTPS, or HTTPS with FIPS=Y for FIPS-approved RSA encryption. FIPS-approved HTTPS uses a separate approved library, but is compatible with HTTPS.

    • server-identity-filename–The path and file name of the server identity. For HTTPS, you must use an RSA certificate.

    • password –The password for the server private key. You specify this password when you create the server certificate.

  • NONE—Do not listen for web requests. This is the default.

For UNIX, you must use quotation marks if you are supplying more than one parameter:

-xs "http(OPTION1=value1;OPTION2=value2;...)"

For a description of available parameters, see “Network communications parameters” in Chapter 4, “Connection and Communication Parameters”in the System Administration Guide: Volume 1.

This command allows only shared memory and TCP/IP communications:

start_iq web.db -xs http(port=80)

See “CommLinks connection parameter [Links]” in Chapter 4, “Connection and Communication Parameters” in the System Administration Guide: Volume 1.

See "-xs server option" in SQL Anywhere Server – Database Administration

-z

Provides diagnostic information about communication links on startup. Use this switch only when you are troubleshooting problems.

See "-z server option" in SQL Anywhere Server – Database Administration.

-ze

Displays database server environment variables in the database server messages window.

See "-ze server option" in SQL Anywhere Server – Database Administration.

-zl

Enables capturing of the most recently-prepared SQL statement for each connection to a database on the server.

See "-zl server option" in SQL Anywhere Server – Database Administration.

-zn num

Specifies the number of request log file copies to retain. Used with -zs.

See "-zn server option" in SQL Anywhere Server – Database Administration.

-zo file

Redirects request-level logging information to a file separate from the regular log file. Request-level logging is turned on using the -zr switch. The -zo switch directs the output from this file to a separate file from that specified on a -o switch. This switch also prevents request-level logging from being displayed in the console.

See "-zo server option" in SQL Anywhere Server – Database Administration.

-zoc file

Redirects HTTP Web service client procedure debug log to a file.

See "-zoc server option" in SQL Anywhere Server – Database Administration.

-zr level

Enables request-level logging of operations:

Specify maximum size of file for server request logging.

  • All—Logs all SQL statements and other requests to the server.

  • None—Turns off SQL statement logging. This is the default.

  • SQL—Logs the following types of requests only:

    • CONTROL_START_DATABASE

    • CONTROL_STOP_ENGINE

    • CONTROL_STOP_DATABASE

    • STMT_PREPARE

    • STMT_EXECUTE

    • STMT_EXECUTE_IMM

    • STMT_EXECUTE_ANY_IMM

    • SQL_OPTION_SET

    • BACKUP

    • DELETE_FILE

    • COMMIT

    • ROLLBACK

    • PREPARE_TO_COMMIT

    • CONNECT

    • DISCONNECT

    • BEGIN_TRANSACTION

    • STMT_DROP

    • CURSOR_OPEN

    • CURSOR_EXPLAIN

    • CURSOR_CLOSE

    • CURSOR_RESUME

    • Errors

-zr also prevents request-level logging from appearing in the console. See “Logging server requests” in Chapter 14, “Troubleshooting Hints” of System Administration Guide: Volume 1. To correlate connection information in the -zr log file with that in the .iqmsg file, see “Correlating connection information,” and for information about reading the -zr log output, see “Request log file analysis,” both in Chapter 14, “Troubleshooting Hints” in the System Administration Guide: Volume 1.

See also "Request logging" in SQL Anywhere Server – SQL Usage.

See also “-zo file” and “-zs { integer | integerG | integerK | integerM } …” command-line switches.

-zs {size [k | m | g ] }

Limits the size of the request-level logging file. Request-level logging is turned on using the -zr switch, and redirected to a separate file using the -zo switch. You can limit the size of the file using the -zs switch.

You can specify G, K, and M units using either uppercase or lowercase. If you do not specify units, any integer less than 10 000 is assumed to be in kilobytes, and any integer 10,000 or greater is assumed to be in bytes.

When the request log file reaches the size specified by either the -zs option or the sa_server_option system procedure, the file is renamed with the extension .old appended (replacing an existing file with the same name if one exists). The request-level log file is then restarted.

By default there is no limit. The value is in kilobytes.

NoteIf the size of the query text being written to request log exceeds the specified limit, the query text is not truncated and is logged in its entirety.

The following example shows how the -zs option is used to control log file size. Suppose you start a database server with the following options on the command line:

-zr all -zs 10 -zo mydatabase.log

A new log file mydatabase.log is created. When this file reaches 10K in size, any existing mydatabase.old files are deleted, mydatabase.log is renamed to mydatabase.old, and a new mydatabase.log file is started. This process is repeated each time the mydatabase.log file reaches 10K.

See "-zs server option" in SQL Anywhere Server – Database Administration.