IBM Books

Messages Reference


SQL0900 - SQL0999



SQL0900N The application state is in error. A database connection does not exist.

Cause: A connection to a database does not exist. This may be due to one of the following reasons:

Action: Reestablish a current connection be either switching to an existing dormant connection (using CONNECT TO or SET CONNECTION) or by establishing a new connection (using CONNECT).

sqlcode: -900

sqlstate: 08003



SQL0901N The SQL statement failed because of a non-severe system error. Subsequent SQL statements can be processed. (Reason "<reason>".)

Cause: An error has occurred which is due to a system error. Processing of the SQL statement has ended for reason "<reason>" (this is in English only and is useful only to IBM support personnel).

Action: Record the message number (SQLCODE) and reason "<reason>".

If trace was active, invoke the Independent Trace Facility at the operating system command prompt. Refer to the Independent Trace Facility in the Troubleshooting Guide for information on how to use this facility. Then contact your technical service representative with the following information:

DataJoiner users: isolate the problem to the data source failing the request (refer to the Problem Determination Guide to determine which data source is failing to process the SQL statement) and take the necessary diagnostic steps for that data source. The problem determination procedures for data sources vary, so refer to the applicable data source manuals.

sqlcode: -901

sqlstate: 58004



SQL0902C A system error (reason code = "<reason-code>") occurred. Subsequent SQL statements cannot be processed.

Cause: A system error occurred.

Action: Record the message number (SQLCODE) and reason code in the message.

If trace was active, invoke the Independent Trace Facility at the operating system command prompt. Refer to the Independent Trace Facility in the Troubleshooting Guide for information on how to use this facility. Then contact your technical service representative with the following information:

DataJoiner users: isolate the problem to the data source failing the request (refer to the Problem Determination Guide to determine which data source is failing to process the SQL statement) and take the necessary diagnostic steps for that data source. The problem determination procedures for data sources vary, so refer to the applicable data source manuals.

sqlcode: -902

sqlstate: 58005



SQL0903N COMMIT statement failed, transaction rolled back. Reason code: "<reason-code>"

Cause: One or more of the servers participating in the current unit of work was unable to prepare the database to be committed. The COMMIT statement has failed and the transaction has been rolled back.

Possible reason codes are:

01
A connection to one of the databases participating in the unit of work was lost.

DataJoiner users: if the database you connected to is a DataJoiner database where nicknames are used, a connection to one of the data sources required for a nickname within the database was lost.

02
One of the databases or nodes participating in the unit of work was accessed, but unable to prepare to commit.

DataJoiner users: if the database you connected to is a DataJoiner database where nicknames are used, one of the data sources required for a nickname is unable to prepare to commit.

03
Datalinker on one of the file servers participating in the unit of work was not available during commit processing.

Action: If a connection to a database was lost, reestablish the connection. If the failure was not connection related, reference the error diagnostic logs on the remote system to determine the nature of the failure and what action might be required. Rerun the application.

sqlcode: -903

sqlstate: 40504



SQL0904N Unsuccessful execution caused by an unavailable resource. Reason code: "<reason-code>", type of resource: "<resource-type>", and resource name: "<resource-name>".

Cause: The SQL statement could not be executed because resource "<resource-name>" of type "<resource-type>" was not available at the time for the reason indicated by "<reason-code>". Refer to the Problem Determination documentation of DB2 for MVS for an explanation of resource type codes.

Action: Verify the identity of the resource that was not available. To determine why the resource was unavailable, refer to the specified "<reason-code>".

sqlcode: -904

sqlstate: 57011



SQL0905N Unsuccessful execution due to resource limit being exceeded. Resource name = "<resource-name>", limit = "<limit-amount1>" CPU seconds ("<limit-amount2>" service units) derived from "<limit-source>".

Cause: The execution of the SQL statement was terminated because a resource limit was exceeded.

The name of the resource whose limit was exceeded is "<resource-name>". It is also the name of the column in the resource limit specification table from which the limit was derived. The limit that was exceeded in CPU seconds is "<limit-amount1>" and in service units it is "<limit-amount2>". The "<resource-name>" may be ASUTIME, which is the number of CPU seconds permitted for each SQL statement. The maximum number of CPU seconds permitted is "<limit-amount1>". The maximum number in service units is "<limit-amount2>".

The source used to derive the limit-amount is "<limit-source>" and is either the name of a resource limit specification table or a 'system parameter'. If the source is a system parameter, the resource limit specification table did not contain an applicable entry or an error occurred while accessing the table. In either case, the limit is obtained from an install (system) parameter.

Action: Determine why this SQL statement took so long and take appropriate action. Consider simplifying the SQL statement, restructuring tables and indexes, or contacting the installation group responsible for maintaining the resource limit specification tables.

An application program that receives this return code can execute additional SQL statements.

sqlcode: -905

sqlstate: 57014



SQL0906N The SQL statement cannot be executed because this function is disabled due to a prior error.

Cause: Execution of the SQL statement failed because the requested function had been disabled by a prior error. This situation can arise if the application program has intercepted an abend (for instance, by an ON ERROR condition in a PL/I program) and continued to execute SQL statements. This situation may also arise if a DB2 CICS transaction encountered a create thread error yet continued to issue SQL requests without issuing a SYNCPOINT ROLLBACK first.

Action: In general, an application program should terminate upon receipt of this return code. All subsequent attempts by the application to execute other SQL statements will also fail with the same return code. In the case of a DB2 CICS transaction, if the SQLERRP field in the SQLCA contains the module name DSNCEXT1, the transaction may issue a SYNCPOINT ROLLBACK and continue processing. If the transactions chooses to ROLLBACK and continue processing, it must be capable of correcting the situation that caused the create thread error to occur originally.

sqlcode: -906

sqlstate: 24514, 51005, 58023



SQL0908N "<bind-type>" error using "<auth-id>" authority BIND, REBIND, or AUTO_REBIND operation is not allowed.

Cause: For BIND and REBIND, the indicated authorization ID is not allowed to perform the indicated "<bind-type>" against a plan or package. An entry in the resource limit specification table (RLST) prohibits binding and rebinding by this authorization ID, or all authorization IDs. For AUTO-REBIND, the system parameter controlling AUTO-REBIND operations is set to disallow AUTO-REBIND.

bind-type
Type of bind operation (BIND, REBIND or AUTO-REBIND).
auth-id
Authorization ID of the invoker of the BIND subcommand or primary authorization ID of the invoker of the plan for AUTO-REBIND operations.

Action: If the indicated authorization id should be allowed to bind, change the entry in the active RLST table. If AUTO-REBIND operations are disabled, rebind the package before reexecuting the package.

sqlcode: -908

sqlstate: 23510



SQL0909N The object has been deleted.

Cause: The application program has either (1) dropped a table and then attempted to access it, or (2) dropped an index and then tried to access its object table using that index.

Action: The logic of the application program must be corrected such that it does not attempt to access or use an object after it has been dropped.

Dropping indexes within an application program is especially hazardous, because there is no way of determining whether or not the plan that has been generated for the application (by BIND or REBIND) actually uses a particular index for access to its object table.

sqlcode: -909

sqlstate: 57007



SQL0910N The SQL statement cannot access an object on which a modification is pending.

Cause: The application program attempted to access an object within the same unit of work in which either:

DataJoiner users: in addition to the previously listed causes, other data source specific restrictions may exist that prevent access to the object.

The SQL statement cannot be processed.

Action: Modify the application program so there is no attempt to access an object within the same unit of work in which the modification was made. In general, it is better to isolate Data Definition Language (DDL) statements in a different unit of work than Data Manipulation Language (DML) statements that access the same objects.

The unit of work must be committed or rolled back before the statement that failed can be processed successfully. If the committed modification caused an object to be dropped, then the object may have to be recreated in order for the failing SQL statement to be processed successfully.

DataJoiner users: if the previous action does not solve the problem, isolate the request (refer to the Problem Determination Guide to determine which data source is failing to process the SQL statement) and determine what additional constraints exist on the data source that are preventing access to the object. Ensure that the application is not violating any of those constraints.

sqlcode: -910

sqlstate: 57007



SQL0911N The current transaction has been rolled back because of a deadlock or timeout. Reason code "<reason-code>".

Cause: The current unit of work was involved in an unresolved contention for use of an object and had to be rolled back.

The reason codes are as follows:

2
transaction rolled back due to deadlock.
68
transaction rolled back due to lock timeout.
Note:The changes associated with the unit of work must be entered again.

The application is rolled back to the previous COMMIT.

Action: To help avoid deadlock or lock timeout, issue frequent COMMIT operations, if possible, for a long-running application, or for an application likely to encounter a deadlock.

DataJoiner users: the deadlock can occur at the DataJoiner system or at the data source. There is no mechanism to detect deadlocks that span data sources and potentially the DataJoiner system. It is possible to identify the data source failing the request (refer to the Problem Determination Guide to determine which data source is failing to process the SQL statement).

Deadlocks are often normal or expected while processing certain combinations of SQL statements. It is recommended that you design applications to avoid deadlocks to the extent possible.

sqlcode: -911

sqlstate: 40001



SQL0912N The maximum number of lock requests has been reached for the database.

Cause: The maximum number of locks for the database was reached because insufficient memory was allocated to the lock list.

The statement cannot be processed.

Action: The application should submit a COMMIT or ROLLBACK statement before submitting other SQL statements. Consider increasing the database configuration parameter (locklist) to allow more lock list space.

sqlcode: -912

sqlstate: 57011



SQL0913N Unsuccessful execution caused by deadlock or timeout. Reason code "<reason-code>".

Cause: The request issued was involved in an unresolved contention for use of an object and the execution failed.

The reason codes are as follows:

2
transaction branch failed due to deadlock.
68
transaction branch failed due to lock timeout.
80
statement failed due to timeout.

Action:

sqlcode: -913

sqlstate: 57033



SQL0917N Remote bind from a DRDA application requester failed.

Cause: An error has occurred during a remote bind from a DRDA application requester. This error can be issued during bind or commit processing.

Action: This problem is usually caused by an SQL statement which did not get bound because of an error. The user should consult the diagnostics facility at the DRDA application requester to determine which statement is causing the error and correct it.

sqlcode: -917

sqlstate: 42969



SQL0918N Application must execute a rollback.

Cause: The unit of work has already been rolled back in the database but other resource managers involved in this unit of work might not. To ensure integrity of this application, all SQL requests will be rejected until the application issues a rollback.

Action: All SQL requests will be rejected until the application issues a rollback. For example, in a CICS environment, this would be a CICS SYNCPOINT ROLLBACK command.

sqlcode: -918

sqlstate: 51021



SQL0920N Data on a database client system cannot be accessed from other database client systems.

Cause: The workstation has been configured as a client or a server with local clients. Any databases created on this system cannot be shared by other workstations.

The function cannot be processed.

Action: Request data only from server workstations.

sqlcode: -920

sqlstate: 57019



SQL0925N SQL COMMIT invalid for application execution environment.

Cause: COMMIT is disallowed in the following cases:

Action: Correct the problem by doing one of the following:

sqlcode: -925

sqlstate: 2D521



SQL0926N SQL ROLLBACK invalid for application execution environment.

Cause: ROLLBACK is disallowed in the following cases:

  1. In a Distributed Transaction Processing environment such as CICS, a static SQL ROLLBACK statement was attempted, but a rollback statement specific to the environment is required. For example, in a CICS environment this would be the CICS SYNCPOINT ROLLBACK command.

  2. A DB2 application precompiled or set to use CONNECT 2 has issued a dynamic SQL ROLLBACK statement, whereas only static SQL ROLLBACKs are allowed.

  3. When issued from a stored procedure, SQL ROLLBACK is also restricted if the calling program is executing in a distributed unit of work (CONNECT type 2) or Distributed Transaction Processing environment.

Action:

  1. Remove the statement issuing the ROLLBACK and replace it with a statement which does the valid equivalent for the environment.

  2. In the case of a connect type 2, use only static COMMIT.

  3. In the case of a stored procedure, remove it entirely.

sqlcode: -926

sqlstate: 2D521



SQL0930N There is not enough storage available to process the statement.

Cause: A request was made to the database that required another memory page but no more pages are available to the database manager.

The statement cannot be processed.

Action: Possible solutions include:

sqlcode: -930

sqlstate: 57011



SQL0931C Operating system file table overflow occurred. Subsequent SQL statements cannot be processed.

Cause: An Operating system limit has been reached. The application program is not permitted to issue additional SQL statements. The database is marked as needing recovery and all applications using the database are prevented from accessing the database.

Action: Terminate all the applications using the database. Restart the database.

To help prevent the problem from recurring:

sqlcode: -931

sqlstate: 58005



SQL0950N The table or index cannot be dropped because it is currently in use.

Cause: A DROP TABLE or DROP INDEX statement cannot be issued when an open cursor is currently using the table or index.

The statement cannot be processed. The table or index is not dropped.

Action: Close any cursors required and resubmit the statement.

sqlcode: -950

sqlstate: 55006



SQL0951N The table cannot be referenced in a SET CONSTRAINTS statement because it is currently in use.

Cause: A SET CONSTRAINTS statement cannot be issued for a table that has an open cursor.

The statement cannot be processed.

Action: Ensure that the SET CONSTRAINTS statement does not reference tables that have open cursors.

sqlcode: -951

sqlstate: 55007



SQL0952N Processing was cancelled due to an interrupt.

Cause: The user may have pressed the interrupt key sequence.

The statement processing is terminated. Some changes may have been applied to the database, but not committed, before termination occurred.

DataJoiner users: this situation can be detected by DataJoiner or by the data source.

Action: Continue the application.

If installing the sample database, drop it and install the sample database again.

sqlcode: -952

sqlstate: 57014



SQL0953C Not enough storage is available in the agent heap to process the statement.

Cause: All available memory in the server agent has been used.

The command or statement cannot be processed.

Action: Terminate the application on receipt of this message. Increase the size of the agent heap parameter (agentheap) in the corresponding database configuration file.

sqlcode: -953

sqlstate: 57011



SQL0954C Not enough storage is available in the application heap to process the statement.

Cause: All available memory for the application has been used.

The statement cannot be processed.

Action: Terminate the application on receipt of this message. Increase the database configuration parameter (applheapsz) to allow a larger application heap.

sqlcode: -954

sqlstate: 57011



SQL0955C Sort memory cannot be allocated to process the statement.

Cause: Insufficient virtual memory is available to the database agent for sort processing.

The statement cannot be processed but other SQL statements may be processed.

Action: Terminate the application on receipt of this message. Decrease the size of the sort heap parameter (sortheap) in the corresponding database configuration file.

sqlcode: -955

sqlstate: 57011



SQL0956C Not enough storage is available in the database heap to process the statement.

Cause: All available memory for the database has been used.

The statement cannot be processed.

Action: Terminate the application on receipt of this message. Increase the database configuration parameter (dbheap) to allow a larger database heap. If the number of I/O servers is near the high limit, reducing this number may also help.

sqlcode: -956

sqlstate: 57011



SQL0958C The maximum number of open files has been reached.

Cause: The maximum number of file handles available to the database has been reached.

The statement cannot be processed.

Action: Increase any parameter that affects the maximum number of open files allowed at the location of the database. This includes increasing the configuration parameter (maxfilop) to allow more file handles for the instance and terminating other sessions to reduce the number of file handles being used.

sqlcode: -958

sqlstate: 57009



SQL0959C Not enough storage is available in the communication heap of the server to process the statement.

Cause: All available memory in the server communication heap has been used.

The command or statement cannot be processed.

Action: Terminate the application on receipt of this message. Increase the size of the communication heap (comheapsz) parameter in the server workstation database manager configuration file.

NOTE: This message is applicable only for releases of DB2 prior to Version 2.

sqlcode: -959

sqlstate: 57011



SQL0960C The maximum number of files has been reached in the database.

Cause: The maximum number of database files has been reached.

The statement cannot be processed.

Action: Terminate the application on receipt of this message. Have all active applications disconnect from the database and then have them reconnect to the database. If the error continues, drop either tables, indexes, or both from the database, or split the database.

If installing the sample database, drop it and install the sample database again.

sqlcode: -960

sqlstate: 57011



SQL0964C The transaction log for the database is full.

Cause: All space in the transaction log is being used.

If a circular log with secondary log files is being used, an attempt has been made to allocate and use them. When the file system has no more space, secondary logs cannot be used.

If an archive log is used, then the file system has not provided space to contain a new log file.

The statement cannot be processed.

Action: Execute a COMMIT or ROLLBACK on receipt of this message (SQLCODE) or retry the operation.

If the database is being updated by concurrent applications, retry the operation. Log space may be freed up when another application finishes a transaction.

Issue more frequent commit operations. If your transactions are not committed, log space may be freed up when the transactions are committed. When designing an application, consider when to commit the update transactions to prevent a log full condition.

If deadlocks are occurring, check for them more frequently. This can be done by decreasing the database configuration parameter DLCHKTIME. This will cause deadlocks to be detected and resolved sooner (by ROLLBACK) which will then free log space.

If the condition occurs often, increase the database configuration parameter to allow a larger log file. A larger log file requires more space but reduces the need for applications to retry the operation.

If installing the sample database, drop it and install the sample database again.

sqlcode: -964

sqlstate: 57011



SQL0965W There is no message text corresponding to SQL warning "<SQLCODE>" in the message file on this workstation. The warning was returned from module "<name>" with original tokens "<token list>".

Cause: Database server returned code "<SQLCODE>" to your application. The warning code does not correspond to a message in the DB2 message file on this workstation.

Action: Refer to the documentation for your database server to determine the cause for specified "<SQLCODE>".



SQL0966N The error mapping file "<name>" specified in the Database Connection Services directory cannot be found or cannot be opened.

Cause: One of the following conditions is true:

The error mapping data could not be retrieved.

Action: Release the file from the application in which it is open or reinstall or restore the original file.

sqlcode: -966

sqlstate: 57013



SQL0967N The format of the error mapping file "<name>" specified in the Database Connection Services directory is not valid.

Cause: An error occurred while the program was reading the error mapping file.

The error mapping data could not be retrieved.

Action: Correct all syntactic errors in the error mapping file.

sqlcode: -967

sqlstate: 55031



SQL0968C The file system is full.

Cause: One of the file systems containing the database is full. This file system may contain the database directory, the database log files, or a table space container.

The statement cannot be processed.

Action: Refer to the diagnostic log to determine which file system is full. Free system space by erasing unwanted files. Do not erase database files. If additional space is required, it may be necessary to drop tables and indexes identified as not required.

On unix-based systems, this disk full condition may be due to exceeding the maximum file size allowed for the current userid. Use the chuser command to update fsize. A reboot may be necessary.

sqlcode: -968

sqlstate: 57011



SQL0969N There is no message text corresponding to SQL error "<error>" in the message file on this workstation. The error was returned from module "<name>" with original tokens "<token list>".

Cause: The Database server returned SQLCODE "<error>" to your application. The error code does not correspond to a message in the DB2 message file on this workstation.

Action: Refer to the documentation for your database server to determine the cause for the specified SQLCODE. Take action specified in the documentation for the database server to fix this problem.

DataJoiner users: isolate the problem to the data source failing the request (refer to the Problem Determination Guide to determine which data source is failing to process the SQL statement). Find the "<error>" in the applicable manual at the data source. Examine the application to determine the cause of the problem. If the probem is data dependent, it may be necessary to examine the data being processed at the data source at the time the error occurred.



SQL0970N The system attempted to write to a read-only file.

Cause: A file used by the database is marked read-only but requires write access.

The statement cannot be processed.

Action: Terminate the application on receipt of this message (SQLCODE). Ensure that all database files are allowed both read and write access.

sqlcode: -970

sqlstate: 55009



SQL0972N The database drive does not contain the correct diskette.

Cause: The diskette in the drive is not the database diskette.

The statement cannot be processed.

Action: Place the required diskette into the drive. Do not remove a diskette if the application starts using a database that resides in it.

sqlcode: -972

sqlstate: 57019



SQL0973N Not enough storage is available in the "<heap-name>" heap to process the statement.

Cause: All available memory for this heap has been used. The statement cannot be processed.

Action: Terminate the application on receipt of this message (SQLCODE). Increase the configuration parameter for "<heap-name>" to increase the heap size.

sqlcode: -973

sqlstate: 57011



SQL0974N The drive containing the database is locked.

Cause: The system reported that the drive containing the database is locked.

The statement cannot be processed.

Action: Ensure no other processing (for example, CHKDSK) that can lock the drive is occurring on the system. Retry the operation.

If installing the sample database, drop it and install the sample database again.

sqlcode: -974

sqlstate: 57020



SQL0975N A new transaction could not be started because database or instance "<name>" is quiesced by user "<username>". Quiesce type: "<type>".

Cause: Another user has quiesced the instance or database that you are attempting to use, and no new transactions are allowed until the instance or database is no longer in the quiesced state.

Quiesce type "<type>" refers to the instance or database already quiesced and is a '1' for an instance and a '2' for a database.

Action: Contact the user who currently has the instance or database quiesced to determine when DB2 will no longer be quiesced, and retry the request at that time.

sqlcode: -975

sqlstate: 57046



SQL0976N The diskette drive door is open.

Cause: The drive door for the database is open.

The statement cannot be processed.

Action: Close the drive door and retry the operation.

sqlcode: -976

sqlstate: 57021



SQL0977N COMMIT state unknown.

Cause: The tm_database has become unavailable during COMMIT processing, and this has caused the result of the COMMIT to be unknown. Resynchronization of the databases will occur when the tm_database becomes available. Note that the transaction may be rolled back during resynchronization. Further execution of SQL statements can safely occur, however locks might be held until the resynchronization process is complete.

Action: Verify that the connection to the tm_database can be made, for example by using CLP. If it cannot be made, follow the necessary actions for the SQLCODE returned to ensure that a connection can be established.

sqlcode: -977

sqlstate: 40003



SQL0978N The diskette is write-protected.

Cause: A write operation was attempted to the database but the database diskette is write protected.

The statement cannot be processed.

Action: Verify that you are using the correct diskette. Remove protection from the diskette, if necessary.

sqlcode: -978

sqlstate: 55009



SQL0979N COMMIT has failed against "<num>" databases for an application process running with SYNCPOINT of NONE. The failures include the following database alias and SQLSTATE pairs (a maximum of four can be returned): "<alias/SQLSTATE1>", "<alias/SQLSTATE2>", "<alias/SQLSTATE3>", "<alias/SQLSTATE4>".

Cause: An application was connected to multiple databases, and a COMMIT was issued which failed for one or more of these connections.

DataJoiner users: if one of the failed connections is a DataJoiner database where nicknames are used, then a commit against one of the data sources required for a nickname has failed.

Action: Depending upon the nature of the application and the data being updated, the user might wish to discontinue the processing being done, log the failure, and issue the appropriate SQL to ensure that the changes intended by the application are consistently reflected across all databases involved.

If a full list of databases affected by COMMIT errors could not be returned please refer to the diagnostic log for a full list.

sqlcode: -979

sqlstate: 40003



SQL0980C A disk error occurred. Subsequent SQL statements cannot be processed.

Cause: A disk error occurred that prevented successful execution of the current and subsequent SQL statements. The application program is not permitted to issue additional SQL statements. For example, a recovery routine associated with the application program cannot issue additional SQL statements. The database is marked as needing recovery and all applications using the database are prevented from accessing the database.

The statement cannot be processed.

Action: Record all error information from the SQLCA, if possible. Terminate all applications using the database. Determine if the error is a hardware error and take the appropriate action as specified in the Troubleshooting Guide for hardware problems. Restart the database. If recovery is not possible, restore the database from a backup copy.

If installing the sample database, drop it and install the sample database again.

sqlcode: -980

sqlstate: 58005



SQL0982N A disk error occurred. However, subsequent SQL statements can be processed.

Cause: A disk error occurred during processing of a temporary system file that prevented successful execution of the current SQL statement. However, subsequent SQL statements can be processed.

The statement cannot be processed.

Action: Terminate the application on receipt of this message (SQLCODE).

sqlcode: -982

sqlstate: 58004



SQL0983N The transaction log does not belong to the current database.

Cause: The signature stored in the log file does not match the database dependent signature. This error usually occurs when the user specified that the log file be stored in a directory different from where the database is stored. File redirection can be involved.

The statement cannot be processed.

Action: Resubmit the command with the proper access to the log file.

sqlcode: -983

sqlstate: 57036



SQL0984C COMMIT or ROLLBACK was not successful. Subsequent SQL statements cannot be processed.

Cause: A commit or rollback operation could not be processed successfully because of a system error. The application program is not permitted to issue additional SQL statements. For example, a recovery routine associated with the application program may not issue additional SQL statements. The database is marked as needing recovery and all applications using the database are prevented from accessing the database.

The statement cannot be processed.

Action: Record the message number (SQLCODE) and all SQLCA error information, if possible. Terminate all applications using the database. Restart the database. If installing the sample database, drop it and install the sample database again.

If recovery is not possible, restore the database from a backup copy.

If trace was active, invoke the Independent Trace Facility at the operating system command prompt. Refer to the Independent Trace Facility in the Troubleshooting Guide for information on how to use this facility. Contact your technical service representative with the following information:

Information required:

DataJoiner users: isolate the problem to the data source failing the request (refer to the Problem Determination Guide to determine which data source is failing to process the SQL statement) and take the necessary diagnostic steps and database recovery procedures for that data source. The problem determination procedures and database recovery procedures for data sources vary, so refer to the applicable data source manuals.

sqlcode: -984

sqlstate: 58005



SQL0985C A file error occurred while processing the database catalogs. The database is not usable.

Cause: The system is unable to recover from an I/O error on a catalog file.

The system cannot process any statements using the database.

Action: Restore the database from a backup copy.

If installing the sample database, drop it and install the sample database again.

sqlcode: -985

sqlstate: 58005



SQL0986N A file error occurred while processing a user table. The table is not usable.

Cause: The data in the table is no longer valid.

The system cannot process any statements using the table.

Action: Restore the database from a backup version if the database is inconsistent.

If installing the sample database, drop it and install the sample database again.

sqlcode: -986

sqlstate: 58004



SQL0987C The application control shared memory set cannot be allocated.

Cause: The application control shared memory set cannot be allocated. This error is caused by insufficient memory resources for either the database manager or the environment in which its operations are being attempted. Memory resources that can cause this error include:

Action: One or more of the following:

sqlcode: -987

sqlstate: 57011



SQL0990C An index error occurred. Reorganize the table.

Cause: An index has had considerable activity that used all the free space for indexes.

DataJoiner users: this situation can be detected by DataJoiner or by the data source.

The statement cannot be processed.

Action: Commit your work and retry the command. If the error continues, roll back your work. If errors still persist, reorganize the table, if possible.

DataJoiner users: isolate the problem to the data source failing the request (refer to the Problem Determination Guide to determine which data source is failing to process the SQL statement) and follow the index re-creation procedures for that data source.



SQL0992C The release number of the precompiled program is not valid.

Cause: The release number of the precompiled program (package) is not compatible with the release number of the installed version of the database manager.

The precompiled program (package) cannot be used with the current version of the database manager. The command cannot be processed.

Action: Use only programs that are precompiled with a compatible release level of the database manager.

sqlcode: -992

sqlstate: 51008



SQL0993W The new path to the log (newlogpath) in the database configuration file is not valid.

Cause: The path to the log file is not valid for one of the following reasons:

The requested change is not made.

Action: To change the path to the log file, submit a database configuration command with a valid value.

sqlcode: +993

sqlstate: 01562



SQL0994N Invalid usage of the application savepoint.

Cause: The application savepoint function has been used inconsistently. The program attempted to perform one of the following:

The function cannot be processed.

Action: Correct the savepoint usage in the program.



SQL0995W The current path to the log file (logpath) is not valid. The log file path is reset to the default.

Cause: The path to the log file is not valid for one of the following reasons:

For circular logging, the log file is created in the default log path. For archive logging, the next log file is created in the default log path. The requested change is not made.

Action: To change the path to the log file, submit a configuration command with a valid value.

sqlcode: +995

sqlstate: 01563



SQL0996N Cannot free pages for an object in a table space.

Cause: There are corrupted internal database pages or internal logic errors in a table space. Details can be found in the system error log and/or the database manager error log.

Action: Discontinue use of the object or table space. Contact IBM service to inspect the object and the table space.

sqlcode: -996

sqlstate: 58035



SQL0997W General informational message for transaction processing. Reason Code = "<XA-reason-code>".

Cause: The SQLCODE 997 is only passed between components of the database manager and will not be returned to an application. It is used to carry XA return codes for non-error situations. The possible reason codes are:

Action: No action required.



SQL0998N Error occurred during transaction or heuristic processing. Reason Code = "<reason-code>" Subcode = "<subcode>".

Cause: An error is detected when processing a distributed transaction. The transaction is:

The possible reason codes (corresponding X/Open XA reason codes are shown in parenthesis) are:

Action: For reason codes 1 through 8, an entry will be made in the system log because sometimes the SQLCA cannot be returned to the caller.

If the error is due to a failed data source associated with a DataJoiner nickname, the location of the failed data source will always appear in DataJoiner's system log.

For reason code 4, verify the content of the xa open string and make necessary corrections.

For reason code 9, subcode 02, ensure that the tp_mon_name configuration parameter contains the name of the dynamic library in the external product which has the ax_reg() function used for dynamic registration of transactions.

For reason code 14, ensure that the MSDTC service is active.

For reason code 35, you attempted to perform a heuristic operation against a database that only participates as a read-only resource manager in a global transaction. Examples are any DRDA databases such as DB2 on MVS. These type of non-XA databases would not have any XA indoubt transactions.

For reason codes 36, 37, and 38, you attempted to perform an invalid heuristic operation on an indoubt transaction. Either you specified the wrong XID, or a heuristic or resync operation had taken place since you recorded this XID. Perform a Heuristic Query request to get the current list of indoubt transactions to verify if you still need to perform your heuristic operation.

For reason code 39, the XID specified is for a transaction that has ended and is waiting for the two-phase commit process to begin. You can only perform heuristic operations on transactions that have entered the two-phase commit process and become indoubt transactions.

For reason code 40, an SQL statement was attempted under a transaction which has failed. An example of this is to attempt an SQL statement in a transaction thread that has successfully registered after a tightly coupled thread participating in the same transaction has abnormally terminated.

For reason code 41, you can find more information about the problem in the db2diag.log file. You need to restart DB2 on the failed nodes. It may be necessary to contact the system administrator for assistance.

For reason code 69, either the transaction manager (TM) database or the resource manager (RM) database or both are different from the ones when the indoubt transaction was generated. In other words, the TM database or RM database names could be referencing different database instances. The log ID mismatch may be caused by the following reasons:

For reason code 85, you are updating multiple data sources, and some of the data sources have been heuristically rolled back or committed, resulting in the transaction having partially committed and rolled back. With this reason code data is now in an inconsistent state, you must manually check every data source updated by the transaction to correct the data.

For reason code 210, some of the nodes are already in commit state. You have to perform heuristic commit to resolve the indoubt transaction.

General information collection procedure:

If you cannot resolve the problem identified by the reason codes, record the message number (SQLCODE), reason code, and the optional subcode in the message or the SQLCA in the system log.

If the failure is from a DataJoiner database, you should also record the location of the failed data source found in DataJoiner's system log.

If trace was active, invoke the Independent Trace Facility at the operating system command prompt. Refer to the Independent Trace Facility in the Troubleshooting Guide for information on how to use this facility. Then, contact your technical service representative with the following information:

There might be additional information in the console or message logs of the transaction manager and the database manager.

sqlcode: -998

sqlstate: 58005




[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]

[ DB2 List of Books | Search the DB2 Books ]