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

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

始める前に:

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

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

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

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

    1. 以下のコマンドを実行してブローカーを停止します。ここで、broker はご使用のブローカーの名前です。
      mqsistop broker
    2. 以下のコマンドを実行して、ブローカーが、拡張メモリー変数がエクスポートされた環境で実行されるようにします。
      export EXTSHM=ON
    3. 以下のコマンドを実行してブローカーを再始動します。ここで、broker はご使用のブローカーの名前です。
      mqsistart broker
    4. DB2 サーバーで、共用メモリー・サポートがオンになっていることを確認します。 詳しくは、トランザクションのグローバル整合のためのデータベースの構成を参照してください。
  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
    • Linux platform Linux®(x86) の場合:
      • DB2 バージョン 8 または DB2 バージョン 9 で WebSphere MQ バージョン 5.3 または WebSphere MQ バージョン 6.0 を使用して整合を実行している場合:
        ln -s <DB2_installation_directory>/lib/libdb2.so /var/mqm/exits/libdb2.so
    変更の終わり
  3. XA リソース・マネージャーの情報を使って、 キュー・マネージャーがグローバルに調整するトランザクションに参加するデータベースごとに、ブローカーのキュー・マネージャーを構成します。 メッセージ・フローがメッセージ・ディクショナリーを参照するか、Publication ノードを組み込んでいる場合には、 同じ方法を使用して、ブローカー・データベースとユーザー・データベースに対して XA リソース・マネージャー情報を定義する必要があります。

    Linux platformUNIX platform 変更の始まりLinux(x86) および UNIX® の場合:変更の終わり

    1. テキスト・エディターでキュー・マネージャーの qm.ini ファイルを開きます。 qm.ini ファイルは、/var/mqm/qmgrs/queue_manager_name/qm.ini にあります。 queue_manager_name は、キュー・マネージャーに関連付けられているブローカーの名前です。
    2. qm.ini ファイルの末尾に、次のスタンザを貼り付けます。
      XAResourceManager:
      Name=DB2
      SwitchFile=install_dir/sample/xatm/db2swit
      XAOpenString=db=MyDataSource,uid=MyUserId,pwd=MyPassword,toc=t
      XACloseString=
      ThreadOfControl=THREAD
    3. XAOpenString 行で、以下の値を、ご使用の構成に適した値に置き換えます。
      • MyDataSource は、接続先データ・ソースの名前です。
      • MyUserId は、ブローカーがデータベースに接続する際に使用するユーザー名でなければなりません。 ブローカーが使用するユーザー名は、いくつかの方法で定義できます。 ブローカーを作成するときに -u パラメーターを mqsicreatebroker コマンドで使用する場合、mqsisetdbparms コマンドを使用して特定のユーザー名とパスワードを特定のデータ・ソース名 (DSN) に関連付けていなければ、このユーザー名がデータベースに接続するために使用されます。 mqsicreatebroker コマンドの -u パラメーターも mqsisetdbparms コマンドも使用していない場合、 使用される名前は mqsicreatebroker コマンドの -i パラメーターで定義するブローカーのサービス・ユーザー名です。
      • MyPassword は、ユーザー名に関連したパスワードです。
    4. スタンザ内の他のすべての行においてデフォルト値を受け入れます。 例えばAIX では以下のようにします。
      XAResourceManager:
      Name=DB2
      SwitchFile=/opt/mqsi/sample/xatm/db2swit
      XAOpenString=db=MYDB,uid=wbrkuid,pwd=wbrkpw,toc=t
      XACloseString=
      ThreadOfControl=THREAD

    Windows platform Windows® の場合:

    1. スタート」メニューから、ご使用のバージョンの WebSphere MQ に合った WebSphere MQ グラフィカル・インターフェースを開きます。
      • WebSphere MQ バージョン 6: WebSphere MQ Explorer
      • WebSphere MQ バージョン 5.3: WebSphere MQ Services
    2. キュー・マネージャーの「プロパティー」ダイアログ・ボックスを開いてから、「XA リソース・マネージャー」を開きます。
    3. 以下の例に示されているように、「SwitchFile」フィールドで、スイッチ・ファイルの絶対パスを入力します。ここで、install_dirは、ブローカーがインストールされている場所です。
      install_dir¥sample¥xatm¥db2swit.dll
    4. XAOpenString フィールドに、以下のストリングを貼り付けます。
      db=MyDataSource,uid=MyUserId,pwd=MyPassword,toc=t
    5. XAOpenString フィールドで、値をご使用の構成に適した値に置き換えます。
      • MyDataSource は、接続先データ・ソースの名前です。
      • MyUserId は、ブローカーがデータベースに接続する際に使用するユーザー名でなければなりません。 ブローカーが使用するユーザー名は、いくつかの方法で定義できます。 ブローカーを作成するときに -u パラメーターを mqsicreatebroker コマンドで使用する場合、mqsisetdbparms コマンドを使用して特定のユーザー名とパスワードを特定のデータ・ソース名 (DSN) に関連付けていなければ、このユーザー名がデータベースに接続するために使用されます。 mqsicreatebroker コマンドの -u パラメーターも mqsisetdbparms コマンドも使用していない場合、 使用される名前は mqsicreatebroker コマンドの -i パラメーターで定義するブローカーのサービス・ユーザー名です。
      • MyPassword は、ユーザー名に関連したパスワードです。
      以下に例を示します。
      db=MYDB,uid=wbrkuid,pwd=wbrkpw,toc=t
    6. ページ内の他のすべてのフィールドにおいてデフォルト値を受け入れます。
  4. キュー・マネージャーの実行中には 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 が、32 ビット・キュー・マネージャーがトランザクションを整合させるグローバル整合のために構成されました。
次に、グローバルに整合されたメッセージ・フローをブローカーにデプロイできます。
関連タスク
グローバルに整合されたメッセージ・フローの構成
トランザクションのグローバル整合の構成 (2 フェーズ・コミット)
関連資料
変更の始まりmqsistart コマンド変更の終わり
変更の始まりmqsistop コマンド変更の終わり
変更の始まりmqsicreatebroker コマンド変更の終わり
サポートされるデータベース
関連情報
WebSphere MQ バージョン 6 インフォメーション・センター・オンライン
WebSphere MQ ライブラリー Web ページ
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

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

ac00900_