Oracle を使用して、整合されたメッセージ・フローに合わせてデータベースを構成する

メッセージ・フローに Oracle データベースとの対話が含まれている場合、 メッセージ・フロー内の他のアクションとの間でデータベース更新を調整するには、 ブローカーを構成してそれらの更新を管理します。

始める前に:

このタスクを完了するには、以下のタスクを完了している必要があります。

変更の始まりこのトピックでは、32 ビット・ブローカー、64 ビット・ブローカー、 および WebSphere MQ V5 または WebSphere MQ V6 で Oracle を 使用する方法について説明します。また、以下のために必要な XAOpenString パラメーターについても 説明します。 変更の終わり

トランザクション・コーディネーターとしての WebSphere MQ V5 での Oracle の使用

整合トランザクションで Oracle を使用したい場合には、以下のようにします。

  1. データベースにアクセスするために使用され、 XAOpenString で指定されたユーザー ID が、 DBA_PENDING_TRANSACTIONS ビューにアクセスするのに必要な Oracle 特権を持つことを確認してください。 次の Oracle SQLPLUS コマンドを使用して、必要なアクセスを認可することができます。
    grant select on DBA_PENDING_TRANSACTIONS to <userid>;
  2. WebSphere Message Broker の提供する switchfile を使用します。 Oracle の XAResourceManager 構成情報を追加する場合は、次のように指定します。
    • UKor8dtc20.so (AIX、Solaris、および Linux (x86 プラットフォーム) 上の switchfile として)
    • UKor8dtc20.sl (HP-UX 上の switchfile として)
    • UKor8dtc20.dll (Windows 上の switchfile として)
  3. 以下のシンボリック・リンクを作成します。
    AIX の場合:
    ln –s install_dir/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a
    ln –s $ORACLE_HOME/lib/libclntsh.a /var/mqm/exits/libclntsh.a
    Solaris および Linux (x86 プラットフォーム) の場合:
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln –s $ORACLE_HOME/lib/libclntsh.so /var/mqm/exits/libclntsh.so
    HP-UX の場合:
    ln –s install_dir/merant/lib/libUKicu20.sl /var/mqm/exits/libUKicu20.sl
    ln –s $ORACLE_HOME/lib/libclntsh.sl /var/mqm/exits/libclntsh.sl

インストールした WebSphere MQ のバージョンに応じて、 提供されている以下の情報を参照してください。

  • 次の例は、Linux および UNIX システム上の qm.ini ファイル内の XAResourceManager スタンザに何を組み込まなければならないか、および Windows の場合の同等情報を示しています。
    • AIX の場合: 変更の始まり
      XAResourceManager:
      Name=OracleXA
      SwitchFile=install_dir/merant/lib/UKor8dtc20.so
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      XACloseString=
      ThreadOfControl=THREAD
      変更の終わり
    • HP-UX の場合: 変更の始まり
      XAResourceManager:
      Name=OracleXA
      SwitchFile=install_dir/merant/lib/UKor8dtc20.sl
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      XACloseString=
      ThreadOfControl=THREAD
      変更の終わり
    • Linux (x86 プラットフォーム) の場合: 変更の始まり
      XAResourceManager:
      Name=OracleXA
      SwitchFile=install_dir/merant/lib/UKor8dtc20.so
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      XACloseString=
      ThreadOfControl=THREAD
      変更の終わり
    • Solaris の場合: 変更の始まり
      XAResourceManager:
      Name=OracleXA
      SwitchFile=install_dir/merant/lib/UKor8dtc20.so
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      XACloseString=
      ThreadOfControl=THREAD
      変更の終わり
    • Windows 上では、ご使用の WebSphere MQ キュー・マネージャーのプロパティー・ダイアログの「リソース」ページ (WebSphere MQ サービスから利用できる) に、次の値を設定します。この例では、WebSphere Message Broker をディレクトリー C:¥WMQI にインストールしたと想定しています。変更の始まり
      SwitchFile: C:¥WMQI¥BIN¥UKor8dtc20.dll
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      ThreadOfControl: THREAD
      変更の終わり

トランザクション・コーディネーターとしての WebSphere MQ V6 での Oracle の使用

整合トランザクションで Oracle を使用したい場合には、以下のようにします。

  1. データベースにアクセスするために使用され、 XAOpenString で指定されたユーザー ID が、 DBA_PENDING_TRANSACTIONS ビューにアクセスするのに必要な Oracle 特権を持つことを確認してください。 次の Oracle SQLPLUS コマンドを使用して、必要なアクセスを認可することができます。
    grant select on DBA_PENDING_TRANSACTIONS to <userid>;
  2. WebSphere Message Broker の提供する switchfile を使用します。 Oracle の XAResourceManager 構成情報を追加する場合は、次のように指定します。
    • UKor8dtc20.so (AIX および Solaris 上の switchfile として)。
    • UKor8dtc20.sl (HP-UX 上の switchfile として)。
  3. Oracle サーバーのマシンのホスト名、それが listen するポート番号、Oracle Service ID (SID)、データベースにアクセスするために使用されるユーザー名とパスワード、および整合されるデータベースの名前を指定します。
  4. 以下のシンボリック・リンクを作成します。
    AIX の場合:
    ln –s install_dir/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a
    ln –s $ORACLE_HOME/lib/libclntsh.a /var/mqm/exits/libclntsh.a
    ln –s install_dir/DD64/lib/libUKicu20.a /var/mqm/exits64/libUKicu20.a
    変更の始まりln –s install_dir/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.so変更の終わり
    HP-UX の場合:
    ln –s install_dir/merant/lib/libUKicu20.sl /var/mqm/exits/libUKicu20.sl
    ln –s $ORACLE_HOME/lib/libclntsh.sl /var/mqm/exits/libclntsh.sl
    ln –s <Your install directory>/DD64/lib/libUKicu20.sl /var/mqm/exits64/libUKicu20.sl
    変更の始まりln –s install_dir/DD64/lib/UKoradtc20.sl /var/mqm/exits64/UKor8dtc20.sl変更の終わり
    変更の始まりLinux (x86 プラットフォーム) の場合:
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln –s $ORACLE_HOME/lib/libclntsh.so /var/mqm/exits/libclntsh.so
    変更の終わり
    Solaris の場合:
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln –s $ORACLE_HOME/lib/libclntsh.so /var/mqm/exits/libclntsh.so
    ln –s install_dir/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    変更の始まりln –s install_dir/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.so変更の終わり

次の例は、UNIX システム上の qm.ini ファイル内の XAResourceManager スタンザに何を組み込まなければならないか、および Windows の場合の同等情報を示しています。

  • AIX の場合: 変更の始まり
    XAResourceManager:
    Name=OracleXA
    SwitchFile=UKor8dtc20.so
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    XACloseString=
    ThreadOfControl=THREAD
    変更の終わり
  • HP-UX の場合: 変更の始まり
    XAResourceManager:
    Name=OracleXA
    SwitchFile=UKor8dtc20.sl
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    XACloseString=
    ThreadOfControl=THREAD
    変更の終わり
  • Linux (x86 プラットフォーム) の場合: 変更の始まり
    XAResourceManager:
    Name=OracleXA
    SwitchFile=UKor8dtc20.so
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    XACloseString=
    ThreadOfControl=THREAD
    変更の終わり
  • Solaris の場合: 変更の始まり
    XAResourceManager:
    Name=OracleXA
    SwitchFile=UKor8dtc20.so
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    XACloseString=
    ThreadOfControl=THREAD
    変更の終わり
  • Windows 上では、ご使用の WebSphere MQ キュー・マネージャーのプロパティー・ダイアログの「リソース」ページ (WebSphere MQ サービスから利用できる) に、次の値を設定します。この例では、WebSphere Message Broker をディレクトリー C:¥WMQI にインストールしたと想定しています。変更の始まり
    SwitchFile: UKor8dtc20.dll
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    ThreadOfControl: THREAD
    変更の終わり
変更の始まり

XAOpenString パラメーター

qm.ini ファイルの XAResourceManager スタンザに含める 必要がある XAOpenString パラメーターのリストを以下に示します。
DataSource
データベースの ODBC データ・ソース名。
DB
データベースの ODBC データ・ソース名。
HostName
Oracle データベースがある TCPIP ホストの名前。
PortNumber
Oracle データベースが listen する TCPIP ポート。
Sid
データベースの Oracle システム ID (SID)。
SQLNET
TSNAMES.ORA ファイルのマッピングなどを介して "Connect Descriptor" に 解決される Oracle "Service name"。
変更の終わり
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 Last updated: 5 01, 2006
ac00910_