IBM Integration Bus, Version 9.0.0.8 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

Configuring databases for global coordination of transactions

If your message flow interacts with a database, and you want to globally coordinate the updates made to the database with other actions within the message flow, configure your databases for global coordination.

Before you start: Create your database and authorize access to it.

If you restart a database while the broker is still running, you must also restart the broker. The broker cannot detect that the database has stopped, and WebSphere® MQ therefore retains its old connections to the database. When the database starts again, the broker tries, and fails, to use these connections.

To configure databases for coordinated message flows, follow the instructions relevant to your database manager:

Configuring DB2 for global coordination of transactions

You must complete these steps for databases that you connect to with an ODBC or a JDBC connection.

You must have database administrator (DBA) privileges to perform the following tasks.

To configure DB2 database instances for global coordination of transactions:
  1. Windows platformLinux platformWindows and Linux on x86 systems only: for each DB2 instance that is involved in the global coordination, run the following commands to set the Transaction Process Monitor name (TP_MON_NAME) to MQ:
    db2 update dbm cfg using TP_MON_NAME MQ
    db2stop
    db2start

    UNIX platformLinux platformOn Linux and UNIX systems (except for Linux on x86), do not set this variable for 32-bit or 64-bit instances.

  2. Linux platformOn Linux on x86 32-bit systems only, ensure that you have adequate connection resources and find out from the broker administrator whether the broker uses TCP/IP or shared memory to connect to databases.

    To use TCP/IP connections, see the example in the section about message SQL1224N in Resolving problems when using databases.

    To enable extended shared memory:

    1. On the DB2 server, run the following commands:
      export EXTSHM=ON
      db2set DB2ENVLIST=EXTSHM
      db2stop
      db2start
    2. Ensure that shared memory support is enabled in the broker environment. For more information, see Configuring global coordination with DB2.
  3. If you are connecting a broker on a distributed platform to a DB2 instance on z/OS®, you must configure DB2 Connect™ to enable support for global coordination. Ensure that you have already configured a DB2 alias to represent the database by using DB2 Connect.

    Perform the following tasks on the system that hosts the broker:

    1. Turn on the Connection Concentrator by configuring the DB2 database manager configuration parameters so that the value of the MAX_CONNECTIONS parameter is greater than the value of the MAX_COORDAGENTS parameter:
      db2 update dbm cfg using MAX_CONNECTIONS max_connections_value
      where max_connections_value is greater than the existing value of the MAX_COORDAGENTS parameter.
    2. Define the SPM name as the name of the system that hosts the broker:
      db2 update dbm cfg using SPM_NAME host_name
      where host_name is the TCP/IP name of the system that hosts the broker.
    3. Stop, then restart DB2 on the system that hosts the broker to apply the changes:
      db2stop
      db2start
      DB2 Connect is now configured to enable global coordination of message flows that are deployed to the broker (on a distributed platform) and that access DB2 on z/OS.
The DB2 database instances are now configured for global coordination.

Configuring Oracle for global coordination of transactions

You must complete these steps for databases that you connect to with an ODBC connection only.

You must have database administrator (DBA) privileges to perform the following tasks.

To configure Oracle databases for global coordination of transactions:
  1. Ensure that the JAVA_XA package is present on the Oracle database by using, for example, the following Oracle SQLPLUS command:
    	describe JAVA_XA;
    For more information, see the Oracle product documentation.
  2. Ensure that the user ID that the broker uses to access the database has the necessary Oracle privileges to access the DBA_PENDING_TRANSACTIONS view. You can grant the required access by using, for example, the following Oracle SQLPLUS command:
    	grant select on DBA_PENDING_TRANSACTIONS to userid;

    If more than one user ID is involved (for example, if IBM® Integration Bus and WebSphere MQ run under different user IDs), you also need the privilege FORCE ANY TRANSACTION.

The Oracle databases are now configured for global coordination.

Configuring Sybase for global coordination of transactions

You must complete these steps for databases that you connect to with an ODBC connection only.

You must have database administrator (DBA) privileges to perform the following tasks.

To configure Sybase databases for global coordination of transactions, ensure that the user ID that the broker uses to access the database has been granted the Sybase role of dtm_tm_role.
The Sybase databases are now configured for global coordination.

ac00396_.htm | Last updated Friday, 21 July 2017