64 ビット・キュー・マネージャーを使用した DB2 とのグローバル整合の構成

ブローカー環境を構成して、64 ビット・キュー・マネージャーの制御の下に、メッセージ・フロー・トランザクションを DB2® データベースの更新情報とグローバルに整合させます。

始める前に:

64 ビット・プラットフォーム上のすべての WebSphere® MQ バージョン 6 キュー・マネージャーは、64 ビット・モードで稼働します。64 ビットのキュー・マネージャーは、64 ビット・モードでのみトランザクションを調整できます。 ブローカーが 64 ビットのキュー・マネージャーを使用している場合、 64 ビットまたは 32 ビットのいずれの実行グループにデプロイされたメッセージ・フローもグローバルに調整できますが、 32 ビットの実行グループを使用している場合は、ユーザー・データベースのデータ・ソース名を odbc.iniodbc64.ini の両方に定義する必要があります。 ブローカーが 64 ビットのキュー・マネージャーを使用しているか、または 64 ビットの実行グループを持っている場合、ブローカーの接続先のデータベースも 64 ビット・モードでなければなりません。

トランザクション・マネージャーとして 64 ビット・キュー・マネージャーを使用するグローバル整合のためにブローカー環境を構成するには、以下のようにします。

  1. ブローカーが、TCP/IP と共用メモリーのどちらを使用してデータベースに接続するかを決定します。

    TCP/IP 接続についての詳細は、データベース使用時の問題の解決で、メッセージ SQL1224N に関するセクションにある例を参照してください。

    共用メモリーを使用可能にするには、次のようにします。

    1. 以下のコマンドを実行してブローカーを停止します。ここで、broker はご使用のブローカーの名前です。
      mqsistart broker
    2. 以下のコマンドを実行して、ブローカーが、拡張メモリー変数がエクスポートされた環境で実行されるようにします。
      export EXTSHM=ON
    3. 以下のコマンドを実行してブローカーを再始動します。ここで、broker はご使用のブローカーの名前です。
      mqsistart broker
    4. DB2 サーバーで、共用メモリー・サポートがオンになっていることを確認します。 詳しくは、トランザクションのグローバル整合のためのデータベースの構成を参照してください。
  2. 変更の始まり2. ご使用のプラットフォーム、キュー・マネージャー、および DB2 バージョンの組み合わせに必要なシンボリック・リンクを作成します。 root としてログインしていなければなりません。
    • AIX platform AIX® の場合:
      • DB2 バージョン 8 で WebSphere MQ バージョン 5.3 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib/libdb2.a /var/mqm/exits/libdb2.a
      • DB2 バージョン 8 で WebSphere MQ バージョン 6.0 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib/libdb2.a /var/mqm/exits/libdb2.a
        ln -s <DB2_installation_directory>/lib64/libdb2.a /var/mqm/exits64/libdb2.a
      • DB2 バージョン 9 で WebSphere MQ バージョン 5.3 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib32/libdb2.a /var/mqm/exits/libdb2.a
      • DB2 バージョン 9 で WebSphere MQ バージョン 6.0 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib32/libdb2.a /var/mqm/exits/libdb2.a
        ln -s <DB2_installation_directory>/lib64/libdb2.a /var/mqm/exits64/libdb2.a
    • HP-UX platform HP-UX の場合:
      • DB2 バージョン 8 で WebSphere MQ バージョン 5.3 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib/libdb2.sl /var/mqm/exits/libdb2.sl
      • DB2 バージョン 8 で WebSphere MQ バージョン 6.0 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib/libdb2.sl /var/mqm/exits/libdb2.sl
        ln -s <DB2_installation_directory>/lib64/libdb2.sl /var/mqm/exits64/libdb2.sl
      • DB2 バージョン 9 で WebSphere MQ バージョン 5.3 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib32/libdb2.sl /var/mqm/exits/libdb2.sl
      • DB2 バージョン 9 で WebSphere MQ バージョン 6.0 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib32/libdb2.sl /var/mqm/exits/libdb2.sl
        ln -s <DB2_installation_directory>/lib64/libdb2.sl /var/mqm/exits64/libdb2.sl
    • Solaris platform Solaris の場合:
      • DB2 バージョン 8 で WebSphere MQ バージョン 5.3 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib/libdb2.so /var/mqm/exits/libdb2.so
      • DB2 バージョン 8 で WebSphere MQ バージョン 6.0 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib/libdb2.so /var/mqm/exits/libdb2.so
        ln -s <DB2_installation_directory>/lib64/libdb2.so /var/mqm/exits64/libdb2.so
      • DB2 バージョン 9 で WebSphere MQ バージョン 5.3 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib32/libdb2.so /var/mqm/exits/libdb2.so
      • DB2 バージョン 9 で WebSphere MQ バージョン 6.0 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib32/libdb2.so /var/mqm/exits/libdb2.so
        ln -s <DB2_installation_directory>/lib64/libdb2.so /var/mqm/exits64/libdb2.so
    変更の終わり
  3. ご使用の実行グループに適した指示に従います。

32 ビットの実行グループ

ブローカーのキュー・マネージャーを、32 ビットの実行グループにデプロイされたメッセージ・フローを整合させるように構成するには、以下のようにします。
  1. UNIX platform UNIX® の場合のみ、以下のシンボリック・リンクを作成し、WebSphere Message Broker で提供される ODBC データベース・ドライバーおよびスイッチ・ファイルの場所を指定します。
    ln –s install_dir/sample/xatm/db2swit /var/mqm/exits/db2swit
    ln –s install_dir/sample/xatm/db2swit64 /var/mqm/exits64/db2swit
    ここで、
    • install_dir は、WebSphere Message Broker がインストールされている場所です。
  2. XA リソース・マネージャーの情報を使って、 キュー・マネージャーがグローバルに調整するトランザクションに参加するデータベースごとに、ブローカーのキュー・マネージャーを構成します。 メッセージ・フローがメッセージ・ディクショナリーを参照するか、Publication ノードを組み込んでいる場合には、 同じ方法を使用して、ブローカー・データベースとユーザー・データベースに対して XA リソース・マネージャー情報を定義する必要があります。

    UNIX platform UNIX の場合:

    1. テキスト・エディターでキュー・マネージャーの qm.ini ファイルを開きます。 qm.ini ファイルは、/var/mqm/qmgrs/queue_manager_name/qm.ini にあります。 queue_manager_name は、キュー・マネージャーに関連付けられているブローカーの名前です。
    2. qm.ini ファイルの末尾に、次のスタンザを貼り付けます。
      XAResourceManager:
      Name=DB2
      SwitchFile=db2swit
      XAOpenString=db=MyDataSource,uid=MyUserId,pwd=MyPassword,toc=t
      XACloseString=
      ThreadOfControl=THREAD

      スイッチ・ファイルは、WebSphere Message Broker によって提供されます。

    3. XAOpenString 行で、以下の値を、ご使用の構成に適した値に置き換えます。
      • MyDataSource は、接続先データ・ソースの名前です。
      • MyUserId は、ブローカーがデータベースに接続する際に使用するユーザー名でなければなりません。 ブローカーが使用するユーザー名は、いくつかの方法で定義できます。 ブローカーを作成するときに -u パラメーターを mqsicreatebroker コマンドで使用する場合、mqsisetdbparms コマンドを使用して特定のユーザー名とパスワードを特定のデータ・ソース名 (DSN) に関連付けていなければ、このユーザー名がデータベースに接続するために使用されます。 mqsicreatebroker コマンドの -u パラメーターも mqsisetdbparms コマンドも使用していない場合、 使用される名前は mqsicreatebroker コマンドの -i パラメーターで定義するブローカーのサービス・ユーザー名です。
      • MyPassword は、ユーザー名に関連したパスワードです。
    4. スタンザ内の他のすべての行においてデフォルト値を受け入れます。 以下に例を示します。
      XAResourceManager:
      Name=DB2
      SwitchFile=db2swit
      XAOpenString=db=MYDB,uid=wbrkuid,pwd=wbrkpw,toc=t
      XACloseString=
      ThreadOfControl=THREAD
  3. キュー・マネージャーの実行中には qm.ini は読み取り専用であるため、変更を適用するには、キュー・マネージャーを停止してから再始動します。
    キュー・マネージャーを停止して再始動するには、次のコマンドを入力します。ここで、queue_manager_name はキュー・マネージャーの名前です。
    endmqm queue_manager_name
    strmqm queue_manager_name

    キュー・マネージャーが再始動したら、キュー・マネージャーのログで再始動に関連する警告がないかどうかを確認します。 このログ・ファイルは /var/mqm/qmgrs/queue_manager_name/errors にあります。 ここで、queue_manager_name は再始動したキュー・マネージャーの名前です。

    キュー・マネージャーが正しく再始動すると、qm.ini に加えた変更が適用されます。
これで DB2 が、64 ビット・キュー・マネージャーがトランザクションを整合させるグローバル整合のために構成されました。
次に、グローバルに整合されたメッセージ・フローをブローカーにデプロイできます。

64 ビットの実行グループ

ブローカーのキュー・マネージャーを、64 ビットの実行グループにデプロイされたメッセージ・フローを整合させるように構成するには、以下のようにします。
  1. UNIX platform UNIX の場合のみ、以下のシンボリック・リンクを作成し、WebSphere Message Broker で提供される ODBC データベース・ドライバーおよびスイッチ・ファイルの場所を指定します。
    ln –s install_dir/sample/xatm/db2swit64 /var/mqm/exits64/db2switln -s install_dir/sample/xatm/db2swit /var/mqm/exits/db2swit

    install_dir は、WebSphere Message Broker がインストールされている場所です。

  2. XA リソース・マネージャーの情報を使って、 キュー・マネージャーがグローバルに調整するトランザクションに参加するデータベースごとに、ブローカーのキュー・マネージャーを構成します。 メッセージ・フローがメッセージ・ディクショナリーを参照するか、Publication ノードを組み込んでいる場合には、 同じ方法を使用して、ブローカー・データベースとユーザー・データベースに対して XA リソース・マネージャー情報を定義する必要があります。

    UNIX platform UNIX の場合:

    1. テキスト・エディターでキュー・マネージャーの qm.ini ファイルを開きます。 qm.ini ファイルは、/var/mqm/qmgrs/queue_manager_name/qm.ini にあります。 queue_manager_name は、キュー・マネージャーに関連付けられているブローカーの名前です。
    2. qm.ini ファイルの末尾に、次のスタンザを貼り付けます。
      XAResourceManager:
      Name=DB2
      SwitchFile=db2swit
      XAOpenString=db=MyDataSource,uid=MyUserId,pwd=MyPassword,toc=t
      XACloseString=
      ThreadOfControl=THREAD

      スイッチ・ファイルは、WebSphere Message Broker によって提供されます。

    3. XAOpenString 行で、以下の値を、ご使用の構成に適した値に置き換えます。
      • MyDataSource は、接続先データ・ソースの名前です。
      • MyUserId は、ブローカーがデータベースに接続する際に使用するユーザー名でなければなりません。 ブローカーが使用するユーザー名は、いくつかの方法で定義できます。 ブローカーを作成するときに -u パラメーターを mqsicreatebroker コマンドで使用する場合、mqsisetdbparms コマンドを使用して特定のユーザー名とパスワードを特定のデータ・ソース名 (DSN) に関連付けていなければ、このユーザー名がデータベースに接続するために使用されます。 mqsicreatebroker コマンドの -u パラメーターも mqsisetdbparms コマンドも使用していない場合、 使用される名前は mqsicreatebroker コマンドの -i パラメーターで定義するブローカーのサービス・ユーザー名です。
      • MyPassword は、ユーザー名に関連したパスワードです。
    4. スタンザ内の他のすべての行においてデフォルト値を受け入れます。 以下に例を示します。
      XAResourceManager:
      Name=DB2
      SwitchFile=db2swit
      XAOpenString=db=MYDB,uid=wbrkuid,pwd=wbrkpw,toc=t
      XACloseString=
      ThreadOfControl=THREAD
  3. キュー・マネージャーの実行中には qm.ini は読み取り専用であるため、変更を適用するには、キュー・マネージャーを停止してから再始動します。
    キュー・マネージャーを停止して再始動するには、次のコマンドを入力します。ここで、queue_manager_name はキュー・マネージャーの名前です。
    endmqm queue_manager_name
    strmqm queue_manager_name

    キュー・マネージャーが再始動したら、キュー・マネージャーのログで再始動に関連する警告がないかどうかを確認します。 このログ・ファイルは /var/mqm/qmgrs/queue_manager_name/errors にあります。 ここで、queue_manager_name は再始動したキュー・マネージャーの名前です。

    キュー・マネージャーが正しく再始動すると、qm.ini に加えた変更が適用されます。
これで DB2 が、64 ビット・キュー・マネージャーがトランザクションを整合させるグローバル整合のために構成されました。
次に、グローバルに整合されたメッセージ・フローをブローカーにデプロイできます。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:42:38

ac00905_