Advanced IBPM Troubleshooting
For the BPM v8.5 release and onward, DB2 is now at v10. This saw the replacement of the DB2 Control Center tool with the IBM Data Studio product. This component is available for download for free here:
Here is an installation walk-through.
We first download the installation binary which is about 1.5GB in size. The installation image is called
ibm_ds4120_lin.tar.gz (For Linux).
We create an extract folder and extract using:
$ tar -xvf ibm_ds4120_lin.tar.gz --directory extract
db2admin was found to be consuming 100% CPU after a power outage and restart. A recipe was found to "reset" it with the following recipe:
db2admin stop db2admin drop db2admin create /user=db2admin /password=db2admin db2admin start
To display the message text associated with a SQLSTATE error, open a DB2 command window and enter:
nnnnn is the SQLSTATE value. A human readable description of the message will be displayed.
To explicitly grant authorities to a DB user for debugging, run the following script:
CONNECT TO PDWDB;
REVOKE ACCESSCTRL,DATAACCESS ON DATABASE FROM USER KOLBAN;
GRANT CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE,QUIESCE_CONNECT ON DATABASE TO USER KOLBAN;
Insufficient DB2 connections
If things start to fail and we get error code SQLSTATE 57032, this means that we have too many databases open. Using the db2 get
dbm config command, look for the entry called:
Max number of concurrently active databases (NUMDB)
The default appears to be 8.
The entry can be changed in the DB2 configuration
After making this change, DB2 must be stopped and restarted which means stopping all the servers too.
Tracing JDBC (DB2)
IBM BPM makes many JDBC calls to its supporting databases during its normal operation. On rare occasions we may need to examine the calls being made to see which parameters are being passed.
Changing the DB2 BND files
After upgrading DB2 with new maintenance, it has been found that the "BND" files can get out of sync (and no … I don't really know what I am talking about here). A symptom of this are messages in the log of the form:
CWSIS0002E: The messaging engine encountered an exception while starting. Exception: com.ibm.ws.sib.msgstore.PersistenceException: CWSIS1501E: The data source has produced an unexpected exception: com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-443, SQLSTATE=38553, SQLERRMC=SYSIBM.SQLTABLES;TABLES;SYSIBM:CLI:-805, DRIVER=4.11.69
Fortunately, there is a simple solution.
cd <DB2 Dir>/sqllib/bnd db2 connect to <DB Name> user <username> using <password> db2 bind db2schema.bnd blocking all grant public