SAND CDBMS Error Messages Guide
Server Exit Codes

 

This section describes the exit codes that are returned when the SAND CDBMS Database Server program (nserv), or a client application such as the SAND CDBMS Interactive SQL program (nisqlm) or the SAND CDBMS Data Loader utility (ndlm), fails to start. Each exit code is accompanied by a description of the circumstances that can generate it, along with a recommended course of action.

 

Exit code 1
This exit code is returned when incorrect syntax is entered for the nserv invocation. The proper syntax for the different operating modes is also displayed.


Exit code 2: Could not find the NUCLEUS environment variable
The NUCLEUS environment variable has not been set. This variable contains information required by SAND CDBMS applications.

The only non-optional NUCLEUS parameter is the SUPPORT path; this parameter tells the SAND CDBMS applications where to find the nucleus.ini file. All other parameters can be set in the nucleus.ini file. If a parameter does not appear in the NUCLEUS variable or the nucleus.ini file, the default parameter value will be used.

Consult the nucleus.ini file documentation for instructions on setting the NUCLEUS environment variable.


Exit code 3: The parameter SUPPORT was not found in the NUCLEUS environment variable
This message is returned when the NUCLEUS environment variable does not contain the SUPPORT path, which tells SAND CDBMS applications where to find the nucleus.ini file. Consult the nucleus.ini file documentation for instructions on setting the NUCLEUS environment variable.


Exit code 4: The nucleus.ini file was not found at 'file-path'. Check the parameter SUPPORT in the NUCLEUS environment variable

The SUPPORT parameter in the NUCLEUS environment variable does not contain the correct SAND CDBMS support path, or the nucleus.ini file has been removed from the support directory. Ensure that the SUPPORT path corresponds to the exact location of the nucleus.ini file.


Exit code 5: The size of the initialization file should be less than 65536

SAND CDBMS applications cannot read a nucleus.ini file greater than 64 KB in size. Reduce the size of the nucleus.ini file by removing unnecessary entries and comments.


Exit code 10: Could not find a section 'Connection connection-name' in the initialization file

The connection name specified for the nserv invocation does not have a corresponding [CONNECTION connection-name] section in the nucleus.ini file. Ensure that the connection name supplied in the nserv invocation matches the spelling of the connection name in the nucleus.ini file.

If the specified connection name has not been configured in the nucleus.ini file, refer to the nucleus.ini file documentation for information on adding a CONNECTION section.


Exit code 11: Could not find a section 'Database instance-name' in the initialization file

The database instance name specified for the nserv invocation does not have a corresponding [DATABASE instance-name] section in the nucleus.ini file. Ensure that the instance name supplied in the nserv invocation matches the spelling of the instance name in the database section header.

If the specified instance name has not been configured in the nucleus.ini file, refer to the nucleus.ini file documentation for information on adding a DATABASE section.


Exit code 12: Database creation failed - cannot open error message file

The file errmap.sql could not be found in the SAND CDBMS support directory. This file is required to create a SAND database. If errmap.sql has been moved or deleted, copy it to the support directory or extract the required file from the SAND CDBMS installation files.


Exit code 13: Could not find a database path in the initialization file

The [DATABASE instance-name] section in the nucleus.ini file (where instance-name corresponds to the database instance name specified for the nserv invocation) does not contain a DatabasePath parameter. This parameter tells nserv where to find the primary database file, which is required to start a database instance.

Add the following line to the relevant DATABASE section in the nucleus.ini file:

DatabasePath=<database location>

For example:

DatabasePath=/usr/sand/db

Consult the nucleus.ini file documentation for more information about DATABASE section parameters.


Exit code 14: The database path in the initialization file is too long

The [DATABASE instance-name] section in the nucleus.ini file (where instance-name corresponds to the database instance name specified for the nserv invocation) contains a DatabasePath value that is 129 characters or more in length. The maximum database path length is 128 characters. Create a new database in, or move the existing database file to, a directory whose full path is 128 characters or fewer, and update the DatabasePath value in the nucleus.ini file.


Exit code 20: The server was unable to bind to port 'x'. The port may be in use.

The indicated port cannot be used by SAND CDBMS, most likely because it is being used by another process. Simply change the Port value in the nucleus.ini file, in the [CONNECTION connection-name] section that corresponds to the connection name used for the nserv invocation. The port value can be any number between 1,024 and 65,535 inclusive.


Exit code 30: Cannot build a database in run-mode

This message is returned when attempting to create a SAND database in non-Real Mode. A database can only be created in Real Mode. Ensure that the [DATABASE instance-name] section in the nucleus.ini file (where instance-name corresponds to the database instance name specified for the nserv invocation) has its RUNMODE parameter set to ‘Real’. Removing the RUNMODE parameter altogether will have the same effect, since Real Mode is the default.


Exit code 40: Database creation failed - cannot create directory 'file-path'

This message is returned when the [DATABASE instance-name] section in the nucleus.ini file (where instance-name corresponds to the database instance name specified for the nserv invocation) contains an invalid DatabasePath value. Ensure that the database path actually exists on the host computer. If the database directory (that is, the last directory in the path) does not exist, nserv will create it — provided the rest of the path is valid.

For example:

DatabasePath=/usr/sand/db

If the directory ‘db’ does not exist already, it will be created by nserv, as long as the path ‘/usr/sand’ exists on the host computer.

On the other hand:

DatabasePath=/usr/sand/nonexistentdir/db

If the directory ‘nonexistentdir’ does not exist, ‘db’ will not be created, and this Exit Code will be returned.


Exit code 41: Database creation failed - cannot read the seed database 'expected-seed-path'

The seed database file (ndb.n00) does not exist in the SAND CDBMS support directory, or you do not have the appropriate access permissions on the seed database file. The seed database is required to create a SAND database. If the seed database file has been removed, extract the required file from the SAND CDBMS installation files to the support directory. If you do not have read permission on the seed database file, have the system administrator grant you this permission.


Exit code 42: Database creation failed - cannot create file 'database-file-name' in directory 'database-path'

This message is returned when attempting to create a SAND database in a directory on which you do not have the appropriate access permissions. Have the system administrator grant you write permission on the directory specified in the error message.


Exit code 50: Could not access the file 'database-path'

This message is returned when attempting to start a database instance in Virtual Mode, and the [DATABASE instance-name] section in the nucleus.ini file (where instance-name corresponds to the virtual instance specified for the nserv invocation) contains incorrect information about the primary database. Verify that:

This error may also be caused when the primary database file could not be read. This would occur if you do not have read permission on the primary database file. If this is the case, have the system administrator grant this permission.

Exit code 51: Could not start 'database-path' - incompatible format
This message is returned when attempting to start a database instance from primary and secondary database files that either use a different page size from the SAND CDBMS software (1 MB vs. 64 KB). For example, this would occur when attempting to start a Solaris database instance with the Windows nserv program.

Exit code 52: Conversion failure - there may be uncollected garbage
This message is returned if an attempted conversion of a SAND CDBMS database fails due to "uncollected garbage". This means that there is redundant data left over from previous SQL work, which was not properly cleaned up when the database was last dismounted. The presence of this "uncollected garbage"prevents the database from being converted. To remove the garbage, simply mount the database with the previous release software, then immediately dismount without executing any intervening SQL. This should prepare the database for conversion.

Exit code 53: Could not start 'database-path' - invalid state
This message is returned when attempting to start a database instance following a failed APPLY CHANGE operation. The database was left in an unstable state by the failed APPLY CHANGE and cannot be started normally. The only recourse is to attempt the APPLY CHANGE operation again. Once the Update File has been applied successfully, an instance of the database can be started.

This message is also returned when attempting to convert a Release 2 database in the BACKUP state to the Release 3 format. Only a Release 2 database in the DISMOUNTED state can be started with the Release 3 nserv. (Note that the Release 4/5 nserv cannot start Release 2 databases; a Release 2 database must first be converted to the Release 3 format before it can be converted to the Release 4/5 format.) If the BACKUP state was set via the .DBA BACKUP command, use the .DBA RESTORE command to make the database mountable. If the BACKUP state was produced by a failed APPLY CHANGE or merge operation, contact a SAND support representative for assistance.

Exit code 54: Could not access secondary database file
This message is returned when a secondary database file or the database temporary file is not accessible. Ensure that none of the secondary files have been moved from the "database drives"locations specified in the database configuration record. Also make sure that the "tempfile" directory path specified in the configuration record points to a valid location.

Exit code 55: Could not start a thread of execution
This message is returned when nserv cannot start any execution threads. This situation might be caused by operating system security settings that directly or indirectly prevent the creation of threads. Also ensure that there are sufficient memory resources to start the threads.

Exit code 56: Could not start 'database' - the file is locked and may be in use
This message is returned when attempting to start an instance from a database file that is locked. This may indicate that the database has already been started. If not, check whether another process has an exclusive lock on the database file.

Exit code 57: Could not start 'database' - incompatible endian for this host
This message is returned when attempting to start a database instance from primary and secondary database files that use a different, incompatible integer byte ordering from the host system (big endian vs. little endian). For example, this would occur when attempting to start a database instance in HP-UX from database files created under Solaris.