Running jBPM on DB2 or UDB
Notes applying to all DB2 versions:
To get jBPM to run on DB2, you need to have tablespaces with big enough page sizes for the extra long columns jBPM uses:
create bufferpool jbpm immediate size 1000 pagesize 32K create tablespace jbpm pagesize 32K managed by database using (file '/db2inst1/db2inst1/NODE0000/JBPM' 10M) AUTORESIZE YES bufferpool jbpm create temporary tablespace jbpmtemp pagesize 32K managed by database using (file '/db2inst1/db2inst1/NODE0000/JBPM_TMP' 10M) AUTORESIZE YES bufferpool jbpm
Version specific notes:
DB2v7 (on z/OS)
DB2 V7 on z/OS has a limitation that it can only accept table and column names up to 18 characters in length:
Since many of the jBPM table and column names exceed this, jBPM won't work out-of-the-box on DB2v7 and we highly recommend to upgrade to a more recent version (the End of Service date for version 7.1 is June 30th, 2008, anyway).
Other issues that showed up on DB2v7 on z/OS:
problems with bigint with DB2 V7 on z/OS, we have to use decimal(19,0) instead.
All primary keys must have any index.
You can't alter a table to add constraint if it references the same table you are trying to alter.
DB2v8 on z/OS
When deploying the standard jBPM 3.1.4 schema on DB2 v8 on z/OS the following areas failed and had to be modified:-
BIGINT Data Type to be converted to DECIMAL(19,0).
For DB2 on z/OS, BIGINT is a DB2v9 introduction.
Delete Rule required for certain constraints (table constraint being added on itself).
'ON DELETE CASCADE' added to DDL as appropriate (as per DB2v7).
DB2v9.5 on Windows
Besides the need for larger tablespaces (as documented above), the default schema (tested with jBPM 3.1.4 and 3.2.2) could be created without any issues. For more detailed instructions you can read the tutorials on how to get jBPM working on Websphere.