Use this task to solve problems with the Business Process Choreographer
database and data source.
Why and when to perform this task
Both the business process container and the human-task container
need a database. Without the database, enterprise applications that contain
business processes and human tasks will not work.
- If you are using DB2®:
- If you use the DB2 Universal JDBC driver type 4 and get DB2 internal errors
such as "com.ibm.db2.jcc.a.re: XAER_RMERR : The DDM parameter value
is not supported. DDM parameter code point having unsupported value : 0x113f
DB2ConnectionCorrelator: NF000001.PA0C.051117223022" when you test
the connection on the Business Process Choreographer data source or when the
server starts up, perform the following actions:
- Check the class path settings for the data source. In a default setup
the WebSphere variable ${DB2UNIVERSAL_JDBC_DRIVER_PATH} can
point to the WebSphere Process Server embedded DB2 Universal JDBC driver which
is found in the universalDriver_wbi directory.
- The version of the driver might not be compatible with your DB2 server
version. Make sure that you use the original db2jcc.jar files from your database
installation, and not the WebSphere Process Server embedded DB2 Universal
JDBC driver. If required, changed the value of the WebSphere variable ${DB2UNIVERSAL_JDBC_DRIVER_PATH} to
point to your original db2jcc.jar file.
- Restart the server.
- If the db2diag.log file of your DB2 instance contains messages like ADM5503E as
illustrated below:
2004-06-25-15.53.42.078000 Instance:DB2 Node:000
PID:2352(db2syscs.exe) TID:4360 Appid:*LOCAL.DB2.027785142343
data management sqldEscalateLocks Probe:4 Database:BPEDB
ADM5503E The escalation of "10" locks on table "GRAALFS .ACTIVITY_INSTANCE_T"
to lock intent "X" has failed. The SQLCODE is "-911"
Increase
the LOCKLIST value. For example to set the value to 500,
enter the following DB2 command: db2 UPDATE DB CFG FOR BPEDB USING LOCKLIST 500
This
can improve performance significantly.
- To avoid deadlocks, make sure your database system is configured to use
sufficient memory, especially for the bufferpool. For DB2, use the DB2 Configuration
Advisor to determine reasonable values for your configuration.
- If you get errors mentioning the data source implementation class COM.ibm.db2.jdbc.DB2XADataSource:
- Check that all WebSphere environment variables that are used in the server.policy
file, have been set correctly. For example, DB2_INSTALL_ROOT and DB2_JDBC_DRIVER_PATH.
- Check that the class path definition for your JDBC provider is correct,
and that it does not have two entries.
- Check that the component-managed authentication alias is set to cellName/BPEAuthDataAliasdbType_Scope. Where, cellName is the name
of the cell, dbType is the database type, and Scope is
the scope of the definition.
- If you are using a remote DB2 for z/OS® database, and you get SQL code 30090N
in the SystemOut.log file when the application server attempts
to start the first XA transaction with the remote database, perform the following:
- Make sure that the instance configuration variable SPM_NAME points
to the local machine with a host name not longer than eight characters. If
the host name is longer than eight characters, define a short alias in the etc/hosts file.
- Otherwise, you might have invalid syncpoint manager log entries in the sqllib/spmlog directory.
Try clearing the entries in the sqllib/spmlog directory and
restart.
- Consider increasing the value of SPM_LOG_FILE_SZ.
- If you are using Cloudscape™:
- If you get a "Too many open files" error on Linux or UNIX systems,
increase the number of file handles available, for example, to 4000 or more.
For more information about how to increase the number of available file handles,
refer to the documentation for your operating system.
Draft comment:
This was
added as a result of Defect 294670, which needs more investigating. If the
root cause of the problem is a Cloudscape handle leak, then this hint is only
a temporary workaround. Apparently, restarting the server can also avoid this
problem. Remove this hint when the supported Cloudscape version does not have
this problem.
- If you get a "Java™ class not found" exception when trying to invoke Cloudscape tools,
make sure that you have set up the Java environment, and that your classpath environment
variable includes the following JAR files:
- db2j.jar
- db2jtools.jar
- db2jcc.jar
- db2jcview.jar
- If you cannot connect to your Cloudscape database using the Cloudscape tools
(like ij or cview) and you get the following exception:
ERROR XJ040: Failed to start database 'c:\WebSphere\AppServer\profiles\profile_name\databases\BPEDB',
see the next exception for details.
ERROR XSDB6: Another instance of Cloudscape may have already booted the database
c:\WebSphere\AppServer\profiles\profile_name\databases\BPEDB.
you
must stop your WebSphere® Application
Server before using these tools because only one application can access the Cloudscape database
at a time.
- If you installed a process application on a cluster,
but get errors relating to the data source. Check that the data
source JNDI name includes the cluster name. If it is like the default data
source JNDI name jdbc/BPEDB, change the JNDI name for the
data source for the application to jdbc/BPEDB_cluster_name,
where cluster_name is the name of the cluster where the application
is installed.
- If you get a database error when installing an enterprise application
that contains a business process or human task. When an enterprise
application is installed, any process templates and task templates are written
into the Business Process Choreographer database. Make sure that the database
system used by the business process container is running and accessible.
- If you have problems using national characters. Make
sure that your database was created with support for Unicode character sets.
- If tables or views cannot be found in the database. When
configuring the authentication alias for the data source, you must specify
the same user ID that was used to create the database tables (or to run the
scripts to create them).