Configuring global coordination with Sybase using a 64-bit queue manager

Configure your broker environment to globally coordinate message flow transactions with updates in Sybase databases under the control of a 64-bit queue manager.

Before you start:
Complete the following steps to configure the broker environment for global coordination when the broker uses a 64-bit queue manager as the transaction manager.

All WebSphere® MQ Version 6 queue managers on 64-bit platforms run in 64-bit mode. 64-bit queue managers can coordinate transactions only in 64-bit mode. If the broker uses a 64-bit queue manager, you can globally coordinate message flows that are deployed to either 64-bit or 32-bit execution groups, but if you are using 32-bit execution groups, you must define the data source name of the user database in both odbc.ini and odbc64.ini. If the broker uses a 64-bit queue manager, or has a 64-bit execution group, the databases to which the broker connects must also be 64-bit mode.

  1. On Linux® on x86 and UNIX® only, create the following symbolic links to specify the location of the ODBC database drivers and switch file that are supplied with WebSphere Message Broker:
    On AIX®:
    ln –s install_dir/DD64/lib/libUKicu20.a /var/mqm/exits64/libUKicu20.a
    ln –s install_dir/DD64/lib/UKase20.so /var/mqm/exits64/UKase20.so
    ln –s install_dir/DD64/lib/UKasedtc20.so /var/mqm/exits64/UKasedtc20.so
    ln –s install_dir/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a 
    ln –s install_dir/merant/lib/UKase20.so /var/mqm/exits/UKase20.so
    ln –s install_dir/merant/lib/UKasedtc20.so /var/mqm/exits/UKasedtc20.so
    On HP-UX:
    ln –s install_dir/DD64/lib/libUKicu20.sl /var/mqm/exits64/libUKicu20.sl
    ln –s install_dir/DD64/lib/UKase20.sl /var/mqm/exits64/UKase20.sl
    ln –s install_dir/DD64/lib/UKasedtc20.sl /var/mqm/exits64/UKasedtc20.sl
    ln –s install_dir/merant/lib/libUKicu20.sl  /var/mqm/exits/libUKicu20.sl 
    ln –s install_dir/merant/lib/UKase20.sl /var/mqm/exits/UKase20.sl
    ln –s install_dir/merant/lib/UKasedtc20.sl /var/mqm/exits/UKasedtc20.sl
    On Linux on x86:
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so 
    ln –s install_dir/merant/lib/UKase20.so /var/mqm/exits/UKase20.so
    ln –s install_dir/merant/lib/UKasedtc20.so /var/mqm/exits/UKasedtc20.so
    On Solaris on SPARC:
    ln –s install_dir/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    ln –s install_dir/DD64/lib/UKase20.so /var/mqm/exits64/UKase20.so	
    ln –s install_dir/DD64/lib/UKasedtc20.so /var/mqm/exits64/UKasedtc20.so
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so 
    ln –s install_dir/merant/lib/UKase20.so /var/mqm/exits/UKase20.so
    ln –s install_dir/merant/lib/UKasedtc20.so /var/mqm/exits/UKasedtc20.so
    On Solaris on x86-64:
    ln –s install_dir/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    ln –s install_dir/DD64/lib/UKase20.so /var/mqm/exits64/UKase20.so	
    ln –s install_dir/DD64/lib/UKasedtc20.so /var/mqm/exits64/UKasedtc20.so
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln –s install_dir/merant/lib/UKase20.so /var/mqm/exits/UKase20.so
    ln –s install_dir/merant/lib/UKasedtc20.so /var/mqm/exits/UKasedtc20.so
  2. Configure the broker's queue manager with XA resource manager information for each database that is involved in the transaction that the queue manager will globally coordinate. If the message flows reference message dictionaries, or contain Publication nodes, you must use the same method to define XA resource manager information for the broker database and for the user databases.

    On Linux on x86 and UNIX:

    1. Open the queue manager's 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. At the end of the qm.ini file, paste the following stanza:
      XAResourceManager:
          Name=SYBASEXA
          SwitchFile=SwitchFileName
          XAOpenString=-NSYBASEDB -AMyServerName,MyPortNumber -Uuid -Ppwd -K2
          XACloseString=
          ThreadOfControl=THREAD
    3. On the SwitchFile line of the stanza, replace SwitchFileName with the name of the switch file for your operating system. The following table shows the name of the switch file for each operating system.
      Operating system Switch file path
      AIX UKasedtc20.so
      HP-UX UKasedtc20.sl
      Linux on x86 UKasedtc20.so
      Solaris on SPARC UKasedtc20.so
      Solaris on x86-64 UKasedtc20.so

      The switch file is supplied by WebSphere Message Broker.

    4. On the XAOpenString line, replace the following values with values that are appropriate for your configuration:
      • MyServerName is the name of the TCP/IP host that hosts the Sybase ASE server.
      • MyPortNumber is the TCP/IP port on which the Sybase ASE server is listening.
      • uid must be the user name that the broker uses to connect to the database. The user name that the broker uses can be defined in a number of ways. If you use the -u parameter on the mqsicreatebroker command when you create the broker, this user name is used to connect to the database, unless the mqsisetdbparms command has been used to associate a specific user name and password with a specific data source name (DSN). If you use neither the -u parameter on the mqsicreatebroker command, nor the mqsisetdbparms command, the name used is the broker's service user name, which you define with the -i parameter on the mqsicreatebroker command.
      • pwd is the password that is associated with the user name.
    5. Accept the default values for all the other lines in the stanza. For example, on AIX:
      XAResourceManager:
          Name=SYBASEXA
          SwitchFile=UKasedtc20.so
          XAOpenString=-NSYBASEDB -Adiaz,1521 -Uwbrkuid -Pwbrkpw -K2
          XACloseString=
          ThreadOfControl=THREAD
  3. Stop then restart the queue manager to apply the changes, because qm.ini is read only while the queue manager is running.
    To stop then 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's log for any 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.
Sybase is now configured for global coordination with a 64-bit queue manager coordinating transactions.
Next: you can deploy globally coordinated message flows to the broker.
Related tasks
Configuring globally coordinated message flows
Configuring global coordination of transactions (two-phase commit)
Related reference
Supported databases
Related information
WebSphere MQ Version 6 information center online
WebSphere MQ library Web page
Notices | Trademarks | Downloads | Library | Support | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Last updated : 2009-01-07 15:19:59

ac00925_