Troubleshooting hints and tips for Db2 Text Search

Troubleshooting your database requires knowledge of what tools to use and how to properly use the tools to diagnose problems.

Use the information in the following table to help troubleshoot problems.
Table 1. Issues and solutions
Issue Solution
If you drop and re-create a text index while a Db2 connection session is active, a plan for a previously used query (for Net Search Extender or Db2 Text Search) might be cached and reused, thus producing incorrect results. If the Db2 Text Search engine encounters this issue, IQQG0037W will be returned, indicating that an incorrect collection name was used for the search. Use the FLUSH PACKAGE CACHE DYNAMIC statement to remove the execution plans for the SQL statements from the statement cache.
If you drop or update your Db2 instance using the db2idrop, db2iupdt, or db2iupgrade command, the entire sqllib directory in the instance is removed, including the sqllib/db2tss/config directory. This will make it hard to reuse text search instance databases. Back up the sqllib/db2tss/config directory before issuing the db2idrop, db2iupdt, or db2iupgrade command. Also, use the printAll option of the configTool command to save a record of the configuration parameters, which should help you to configure the new instance.
A disk full error might cause the text index metadata to be inconsistent. Use the Administration Tool to check whether there are any orphaned collections and to remove them, as outlined in Deleting orphaned Text Search collections in the Db2 Text Search documentation. Note that you might not be able to reuse the text index name that was being used when you encountered the disk full error.
You receive the message CIE00301 "Insufficient authority" or CIE00377 "Only instance owner <instance-owner> can use that command" after issuing a db2ts START FOR TEXT command.

For Windows users, have a user with sufficient authorization issue db2ts START FOR TEXT. The instance owner is the userid running the instance service.

For Linux® and UNIX, have the instance owner issue this command.

For more information, refer to Db2 Text Search Server Administrator and db2ts START FOR TEXT command.

If the Text Search server encounters a disk full error, it might return the following error message:
IQQD0085E The requested operation cannot be 
done. The server is running in safe mode due 
to index has an IO error.
The Db2 Text Search server is running in a restricted mode. Shutdown the text search server, and restart it after resolving the disk space issue.
You receive the message CIE00311 telling you that an internal file cannot be opened. This message can indicate a missing configuration directory, or indicate that a file may have been lost or corrupted, for example, due to a disk full error on the filesystem where db2tss/config is located, or because of a problem during the backup of the db2tss/config directory. Check to see if the instance has a config directory for text search.
  • If the config directory is missing ensure that Db2 Text Search was installed and configured.
  • If the config directory is in another location, add a symbolic link to it (UNIX).
If this error is being caused by a missing or corrupted file, contact IBM Support.
You receive the message CIE00445N telling you that the requested operation cannot be executed. Run the REBIND. This message can indicate that one of the previous Db2 commands has invalidated packages "NULLID.SYSSH100, NULLID.SYSSH200, NULLID.SYSSN100, NULLID.SYSSN200 or NULLID.SYSLH202" which is required for Db2 Text Search.

User needs to manually rebind the package "NULLID.SYSSH100, NULLID.SYSSH200, NULLID.SYSSN100, NULLID.SYSSN200 or NULLID.SYSLH202". before continuously executing db2ts commands. The package invalidation usually occurs when revoke or grant commands are executed.

User can prevent running into this error by checking the packages state through the following SQL statement:
select 1 from syscat.packages where 
VALID = 'N' AND 
((PKGSCHEMA='NULLID' AND PKGNAME=
'SYSSH100') OR
(PKGSCHEMA='NULLID' AND PKGNAME=
'SYSSH200') OR
(PKGSCHEMA='NULLID' AND PKGNAME=
'SYSSN100') OR
(PKGSCHEMA='NULLID' AND PKGNAME=
'SYSSN200') OR
(PKGSCHEMA='NULLID' AND PKGNAME=
'SYSLH202'))
FETCH FIRST 1 ROWS ONLY FOR READ ONLY;

If the return value is 1 through this SQL statement, user needs to rebind the packages NULLID.SYSSH100, NULLID.SYSSH200, NULLID.SYSSN100, NULLID.SYSSN200 or NULLID.SYSLH202 before executing Db2 Text Search commands.

A text index update with a large number of documents to process fails with an 'insufficient memory' message in the db2diag.log file. If it is not feasible to increase available memory, decrease the documentqueueresultsize value in sysibmts.tsdefaults administrative view and try again.
You encounter message IQQG0037W message in a query about a missing collection after a data redistribution. Ensure that the FOR DATA REDISTRIBUTION option is used the next time a text search UPDATE INDEX command is issued.