WebSphere Message Broker, Version 8.0.0.7 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

Configuring global coordination with Oracle

Configure your broker environment to globally coordinate message flow transactions with updates in Oracle databases under the control of a WebSphere® MQ queue manager.

Configure your broker environment for global coordination by using a 64-bit queue manager as the transaction manager with the DataDirect drivers:
  1. Linux platformUNIX platformOn Linux and UNIX, run the mqsimanagexalinks command.
  2. Windows platformOn Windows 64-bit, for the 64-bit version of WebSphere Message Broker, run the mqsimanagexalinks command and add the directory specified as the queue manager’s ExitsDefaultPath to the system PATH.
  3. Configure the broker queue manager with XA resource manager information for each database that is involved in the transaction that the queue manager will globally coordinate.

    Linux platformUNIX platformOn Linux and UNIX:

    1. Open the queue managers qm.ini file in a text editor. The qm.ini file is located at /var/mqm/qmgrs/queue_manager_name/qm.ini. Where queue_manager_name is the name of the broker that is associated with the queue manager.
    2. Add the following stanza to the end of the qm.ini file:
      XAResourceManager:
      Name=OracleXA
      SwitchFile=UKoradtc24.so
      XAOpenString=ORACLE_XA
         +HostName=MyHostName
         +PortNumber=MyPortNumber
         +ServiceName=MyServiceName
         +ACC=P/MyUserId/MyPassword
         +sestm=100+threads=TRUE
         +DataSource=MyDataSourceName
         +K=2
      XACloseString=
      ThreadOfControl=THREAD
    3. On the XAOpenString line, replace the following values with values that are appropriate for your configuration:
      • MyHostName is the name of the TCP/IP host that hosts the Oracle database listener. When you are using Oracle Real Application Clusters with multiple listeners for the given Service Name, if the Oracle listener identified by the values for MyHostName and MyPortNumber in the XAOpenString is unavailable, the alternative Oracle listeners that you might have defined in the AlternateServers list in your odbc.ini file are also tried.
      • MyPortNumber is the TCP/IP port on which the Oracle database listener is listening.
      • MyUserId must be the user name that the broker uses to connect to the database.
        You can define the user name that the broker uses in a number of ways; make sure that you specify the correct name in this file. The broker determines the user name by checking the following conditions in the order listed:
        1. A specific user name and password for this data source name (DSN), that you have defined by running the mqsisetdbparms command.
        2. A default user name and password for all DSNs, that you have defined by running the mqsisetdbparms command.
        3. A default user name and password for all DSNs, that you have defined by specifying the -u parameter on the mqsicreatebroker command.

          This parameter is valid only for brokers that you have migrated from previous releases.

        4. The broker service user name, which you define with the -i parameter on the mqsicreatebroker command
      • MyPassword is the password that is associated with the user name.
      • MyDataSourceName is the ODBC data source name for the database, as defined in your odbc.ini file.
      • MyServiceName is the value set for the Service Name in the stanza for MyDataSourceName in your odbc.ini file.
    4. Accept the default values for all the other lines in the stanza. For example:
      • On AIX®:
        XAResourceManager:
        Name=OracleXA
        SwitchFile=UKoradtc24.so
        XAOpenString=ORACLE_XA
           +HostName=diaz.hursley.ibm.com
           +PortNumber=1521
           +ServiceName=accounts_service
           +ACC=P/wbrkuid/wbrkpw
           +sestm=100+threads=TRUE
           +DataSource=MYDB+K=2
        XACloseString=
        ThreadOfControl=THREAD
    5. If you are using Global coordination to Oracle:
      • Set the ODBCINI environment variable to be visible in the environment from which you start your queue manager. The ODBCINI variable must reference the same file as the one being used by your broker.
      • An optional additional property, CTO=Value, is available for the XAOpenString. CTO is the value set for a Connection TimeOut, indicating the number of seconds that the Oracle XA switch file will wait for a response from the Oracle database to an XA request. For example, the timeout can be used to prevent long delays in the broker failing over to an alternative Oracle Real Application Clusters node, when the active Oracle instance fails abruptly leaving socket connections hanging. The Value should be set to a value larger than the Oracle session timeout sestm value set in the XAOpenString. If this property is not used, or is set to zero, there will be no timeout (this is the default behaviour).

    Windows platformOn Windows 32-bit and Windows 64-bit

    1. From the Start menu, open WebSphere MQ Explorer.
    2. Open the queue manager Properties dialog box, then open XA resource managers.
    3. In the SwitchFile field, enter the name of the switch file, as shown in the following example where install_dir is the location in which the broker is installed:
      • If you are using the 32-bit version of WebSphere Message Broker:
        install_dir\bin\UKora24.dll
      • If you are using the 64-bit version of WebSphere Message Broker:
        UKora24.dll
    4. In the XAOpenString field, paste the following string:
      ORACLE_XA+
         +HostName=MyHostName
         +PortNumber=MyPortNumber
         +ServiceName=MyServiceName
         +ACC=P/MyUserId/MyPassword
         +sestm=100+threads=TRUE
         +DataSource=MyDataSourceName
         +K=2
    5. In the XAOpenString field, replace the values with values that are appropriate for your configuration:
      • MyHostName is the name of the TCP/IP host that hosts the Oracle database listener. When you are using Oracle Real Application Clusters with multiple listeners for the given Service Name, if the Oracle listener identified by the values for MyHostName and MyPortNumber in the XAOpenString is unavailable, the alternative Oracle listeners that you might have defined in the AlternateServers list in your odbc.ini file arealso tried.
      • MyPortNumber is the TCP/IP port on which the Oracle database listener is listening.
      • MyUserId must be the user name that the broker uses to connect to the database.
        You can define the user name that the broker uses in a number of ways; make sure that you specify the correct name in this file. The broker determines the user name by checking the following conditions in the order listed:
        1. A specific user name and password for this data source name (DSN), that you have defined by running the mqsisetdbparms command.
        2. A default user name and password for all DSNs, that you have defined by running the mqsisetdbparms command.
        3. A default user name and password for all DSNs, that you have defined by specifying the -u parameter on the mqsicreatebroker command.

          This parameter is valid only for brokers that you have migrated from previous releases.

        4. The broker service user name, which you define with the -i parameter on the mqsicreatebroker command
      • MyPassword is the password that is associated with the user name.
      • MyDataSourceName is the ODBC data source name for the database, as defined in your odbc.ini file.
      • MyServiceName is the value set for the Service Name in the ODBC definition for the data source MyDataSourceName.
      For example:
      ORACLE_XA+
         +HostName=diaz.hursley.ibm.com
         +PortNumber=1521
         +ServiceName=accounts_service
         +ACC=P/wbrkuid/wbrkpw
         +sestm=100+threads=TRUE
         +DataSource=MYDB+K=2
    6. Accept the default values for all the other fields on the page.
  4. AIX platformOn AIX, if you want to enable Oracle data sources for use in global coordination from a queue manager and broker to perform dynamic XA registration, set the following environment variable: DDTEK_XA_DYNAMIC_REGISTRATION=1
  5. Linux platformUNIX platformStop then restart the queue manager to apply the changes, because qm.ini is read only while the queue manager is running.
    To stop and restart the queue manager, enter the following commands, where queue_manager_name is the name of the queue manager:
    endmqm queue_manager_name
    strmqm queue_manager_name

    When the queue manager restarts, check the queue manager log for all warnings that are associated with the restart. The log files are located in /var/mqm/qmgrs/queue_manager_name/errors, where queue_manager_name is the name of the queue manager that you restarted.

    When the queue manager restarts successfully, the changes that you made to qm.ini are applied.
  6. Windows platformStop then restart the queue manager to apply the changes.
    To stop and restart the queue manager, enter the following commands, where queue_manager_name is the name of the queue manager:
    endmqm queue_manager_name
    strmqm -si queue_manager_name

    When the queue manager restarts, check the queue manager log for all warnings that are associated with the restart. The log files are located in /var/mqm/qmgrs/queue_manager_name/errors, where queue_manager_name is the name of the queue manager that you restarted.

    When the queue manager restarts successfully, the changes that you made are applied.
Oracle is now configured for global coordination with the broker queue manager coordinating transactions.
Next: You can deploy globally coordinated message flows to the broker.
Notices | Trademarks | Downloads | Library | Support | Feedback

Copyright IBM Corporation 1999, 2016Copyright IBM Corporation 1999, 2016.

        
        Last updated:
        
        Last updated: 2016-05-23 14:48:12


Task topicTask topic | Version 8.0.0.7 | bh26085_