Planning your database configuration

To plan your database configuration, you must know which databases must be established and configured to use the software, which components of IBM® Business Automation Workflow you will use and their associated databases, the tasks required to administer the databases, and the security privileges of the database system that you are using.

For information about database tuning, see Chapter 5: Database configuration, tuning, and best practices in IBM Business Process Manager V8.5 Performance Tuning and Best Practices.

For IBM Business Automation Workflow, separate databases are required for Process, Performance Data Warehouse, and Common database components.

In IBM Business Automation Workflow V21.0.3, the Common database consists of two parts: one part is cell-scoped and used for the entire cell; the other part is scoped to the deployment environment and must be configured for each deployment environment.

The Process and Performance Data Warehouse components do not support case-sensitive databases. These databases must not be case sensitive.

For Microsoft SQL Server and Oracle databases, the following restrictions apply:
  • For Microsoft SQL Server databases, components other than Process or Performance Data Warehouse require that their databases be case sensitive.
  • For Oracle databases, the Process, Performance Data Warehouse, and Common database components must use a separate schema or user. They can use the same instance.
For Oracle 12c, you can install and configure one of the following database types:
  • A traditional architecture database
  • A multitenant architecture with pluggable databases

For access to the database schemas, plan to create technical users (systems users) because these users may not be changed after the deployment environment has been created.

When you configure databases, the system default table spaces are used. However, if you want to use scripts that create custom table spaces for Business Process Choreographer, the Business Space components with Db2® and Oracle, and for the Messaging component with Db2 for z/OS®, see the usetablespaces property as described in the Database and cell properties section of Configuration properties for the BPMConfig command.

You can run one of the following commands:
  • run BPMConfig -create -sqlfiles properties_file_name -outputDir output_directory
  • run BPMConfig -create -de properties_file_name when bpm.de.deferSchemaCreation is set to true.
The generated SQL files can be found in the output directory that you specified or in profile_root/dbscripts. The files include additional createTablespace*.sql files that you must run before the createSchema*.sql files to create the table spaces for Business Process Choreographer or Business Space. The generated createSchema*.sql files include the appropriate references to the table spaces that you specified.

Specifying the maximum number of concurrently active databases on a Db2 database server

The maximum number of databases that can be concurrently active on a Db2 database server is specified by the Db2 numdb parameter. If your IBM Business Automation Workflow installation has four Advanced deployment environments, the default numdb value of 8 is not sufficient and must be increased to at least 13 (4*3 +1).

To increase the value of the numdb parameter to 13, open a Db2 command window and run the following commands:
db2 get database manager configuration
db2 update dbm cfg using numdb 13
db2stop
db2start

Recommendation for LOCKLIST and MAXLOCKS Db2 database configuration parameters

If the Db2 self-tuning memory feature is enabled, which is the default setting for Db2, set the LOCKLIST and MAXLOCKS database configuration parameters to AUTOMATIC. These parameters apply to Linux®, Unix, and Windows systems.

Requirements for Db2 pureScale

If you use Db2 pureScale®, you must also configure automatic client rerouting (see Configuring client reroute for applications that use DB2® databases). Then, configure workload balancing (see Configuration of DB2 for Linux, UNIX, and Windows workload balancing support for Java™ clients) or client affinities (see DB2 pureScale enablement ).
Important: If you are using Db2 pureScale, make sure that the time is synchronized across all Db2 servers.
Tip: Ensure that you add the host names of Db2 pureScale nodes to either the IBM Business Automation Workflow server hosts file or the DNS server when workload balancing is configured.

Supported database types and JDBC providers

Your choice of a database depends on your operating system and on the features that you will use with IBM Business Automation Workflow.

The following database types and providers are supported with IBM Business Automation Workflow :
Table 1. Supported database types and JDBC providers
Database type JDBC provider
Db2

Db2 Data Server JDBC Provider (XA)

Db2 for z/OS

DB2 Universal JDBC Provider (XA)

DB2 Universal JDBC Provider, to use the connection pool for Db2 for z/OS

Oracle

Oracle JDBC Provider

SQL Server

Microsoft SQL Server JDBC Provider

Supported JDBC providers

For the product data sources, IBM Business Automation Workflow requires type 4 JDBC drivers provided by your database vendor for your particular database version.

For Db2, the driver is included with the product installation files. It is located in install_root/jdbcdrivers/DB2, where install_root is the installation location of IBM Business Automation Workflow. The JDBC driver provided by IBM Business Automation Workflow might not be the latest JDBC driver level delivered with your database product. If a later version is available, update to that driver.

For instructions for adding or updating JDBC drivers for your database product, see Configuring JDBC drivers.

Db2 for z/OS considerations

The following ZPARMS might need to be modified based on the implementation of your applications:
  • RRULOCK=YES
  • SKIPUNCI=YES
  • NUMLKUS
  • NUMLKTS
  • LOBVALS
  • LOBVALA
The Release BIND option for the Db2 JCC Collection must be set to Commit. The default has changed in Db2 V10 to Deallocate. You can create a separate collection if the NULLID collection cannot be changed.
  • RELEASE(COMMIT)