3. Recovery Coordination Server(RCS)運用の準備

  この章では、実際にRCSを起動してトランザクション管理を行える段階までを説明していきます。

 
3.1 インストール直後に注目するファイル

 
3.1.1 rcd.conf

  前述したRCSプロセスは、1台のマシンで複数動作させることが可能です。そしてそれら のプロセスを取りまとめて管理しているプロセスがいます。そのプロセスを「RCD」と呼んでいます。

  このRCDの動作に必要なファイルです。 このファイルはHP-UX版、Solaris版、Linux版では/etc/WebOTX/TSディレクトリ配下に、 Windows版では"WebOTXがインストールされたディレクトリ"\TS\confディレクトリ配下に格納されます。

  このファイルの内容については、全く修正の必要はありません。

  定義してある項目については[ A.2.管理サービスの構成 ]で説明しています。

 
3.1.2 rcs.conf

  1台のマシンで動作するRCSプロセス群、およびProxyRCSに共通する設定情報を格納しているファイルです。 これらのファイルはHP-UX版、Solaris版、Linux版では/etc/WebOTX/TSディレクトリ配下に、 Windows版では"WebOTXがインストールされたディレクトリ"\TS\confディレクトリ配下に格納されます。

  また、定義してある項目については[ A.3.RCS共通の構成 ]で説明しています。
主にjavaコマンドのパス指定とクラスパスの設定をこのファイルで行っています。

  それらの設定をチェックしてください。 クラスパスについては、インストール時にWebOTX Transaction Serviceで提供しているもの、 Object Brokerで提供しているものについては既に記述されているので修正不要です。また、 JDBCドライバのライブラリパスは新たに追加する必要があります。

  chkrcscnfコマンドを利用すれば、クラスパスで指定したものが存在するかどうかを確認することができます。
  chkrcscnf.exeが"WebOTXがインストールされたディレクトリ"\TS\binディレクトリ配下に ありますのでこのコマンドを実施してみます。
(UNIX版ではWebOTXがインストールされたディレクトリ/TS/sbin配下にchkrcscnfという名前であります)

  コマンドプロンプトから次のように実施します。不正なものがある場合はそれが表示されますので正しいパスを設定してください。特にJavaアプリケーションを動作させる場合はjavaコマンドのパスが正しく設定されていることが必要です。

>chkrcscnf -rcs

  次のように表示されます。

target: E:\Program Files\NEC\WebOTX\TS\conf\rcs.conf
*** "[JAVA]" ***
looking for... e:\jdk1.4.0_02\bin\java.exe
looking for... e:\Program Files\WebOTX\TS\javalib\wots51.jar
looking for... e:\Program Files\WebOTX\TS\javalib\wojdbc42.jar
looking for... e:\Program Files\WebOTX\ObjectBroker\lib\ospiorb50.jar
looking for... e:\Program Files\WebOTX\ObjectBroker\lib\ospiname50.jar
looking for... e:\Program Files\WebOTX\ObjectBroker\jsocks.jar
looking for... e:\Oracle\Ora81\jdbc\lib\classes12.zip
looking for... e:\Oracle\Ora81\jdbc\lib\nls_charset12.zip
total error: 0

  ここではProxyRCSの設定は省略します。

 
3.2 パスワードの管理

  WebOTX Transaction Serviceの運用管理を行うために、WebOTX Transaction Serviceの パスワードが必要となります。その設定には次のことを行う必要があります。

  インストール時にはあらかじめ"WebOTX_S"というパスワードが設定されていますので 適宜変更する必要があります。

 
3.3 RCSの構成情報設定

  1台のマシン上で複数のRCSプロセスを動作させることが可能であることは前述したとおり ですが、各プロセスにはそれぞれ、識別子「RCSID」が割り当てられます。もちろんProxyRCSにも同様に このIDが割り当てられます。

  RCSIDごとに設定内容を記述したファイルを作成する必要があります。

  このファイルはHP-UX版、Solaris版、Linux版では/opt/WebOTX/TS/confディレクトリ配下に、 Windows版では"WebOTXがインストールされたディレクトリ"\TS\confディレクトリ配下に格納されます。

  WebOTX Transaction Serviceをインストールすると上記ディレクトリ配下に sample.rcsというファイルがインストールされます。
これは「sample」というRCSIDを割り当てたRCSプロセスが起動されることを 意味します。


●RCSIDの追加

  ここでRCSIDの追加をしてみることにします。
実施することは [RCSID].rcsというファイルを上記ディレクトリ配下に作成して置くだけです。ただしRCSIDは16文字以内の英数字にする必要があります。

  WebOTX Transaction Serviceでは、テンプレートファイルを自動的に 作成するためのコマンド(chkrcscnf)を提供しています。

  Windows版を例にとって「rcsid1」という名前のRCSID設定を行ってみましょう。

  まず設定のファイルを作成します。

  再びchkrcscnfコマンドを使用します。コマンドプロンプトから次のように実行します。

>chkrcscnf -c rcsid1

  「success」が表示されればrcsid1.rcsという名前のファイルが正常に作成されます。

  ファイルは、"WebOTXがインストールされたディレクトリ"\TS\binディレクトリ配下 にまず作られます。中身を少し編集してそれが完了した時点で "WebOTXがインストールされたディレクトリ"\TS\confディレクトリ配下に移動 するようにします。

  ファイルの中身は次のようになっているのを確認してください。

------------------------------
[RCS]
Module = "Java"
RCSPort = 0x0000174c
RetryNum = 0x00000005
RetryInterval = 0x00000e10
PoolThread = 0x0000000a
MaxPoolThread = 0x0000000a
MethodTimeout = 0x0000001e
TxTimeout = 0x00000258
CheckedTxMode = 0x00000001
StartUp = 0x00000001
RecoverStartTime = 0x00000e10
OTSPolicyMode = 0x00000001
[RCM]
RecoveryTime = 0x00000e10
RecoveryInterval = 0x00000002
RollbackTimer = 0x00000e10
------------------------------

  詳細については[ A.3.RCS共通の構成 ]で説明します。

  必ず確認する必要があるのは「RCSPort」です。

  これはRCSプロセスが動作する時に割り当てられるポート番号ですが、これが 他のプロセスと重複しないようにしなければなりません。
他のRCSと重なっていることがないことも確認してください。
そのために、confディレクトリ配下にある*.rcsファイルの中身と比較してください。

  また、Moduleという項目が「Java」になっています。これはアプリケーションがJavaで作られて いる場合はJavaを指定します。またC++で作られている場合は「C++」を指定します。さらにここを 「Proxy」とするとProxyRCSになります。
  ここでは「Java」のままで結構です。

  さてここまできたら、rcsid1.rcsファイルをconfディレクトリ配下に移動して下さい。

  chkrcscnfコマンドを用いて設定内容のチェックを行います。

  コマンドプロンプトから次のように実行してみてください。

>chkrcscnf rcsid1
target: e:\Program Files\NEC\WebOTX\TS\conf\rcsid1.rcs
*** "[RCS]" ***
*** "[RCM]" ***
total error: 0

  のように表示されば設定項目に誤りがないことを示します。

  仮にファイル内のRetryIntervalの値を0x00000000にしてみてから コマンドを実行してみます。
すると次のように表示され、誤りがあることがわかります。

>chkrcscnf rcsid1
target: e:\Program Files\NEC\WebOTX\TS\conf\rcsid1.rcs
*** "[RCS]" ***
RetryInterval: out of range
*** "[RCM]" ***
total error: 1

  この状態でRCSプロセスを起動しても動作はしますが、設定される 値はWebOTX Transaction Serviceであらかじめ設定してある既定値 で動作する事になります。

  既定値の詳細については[ A.4.各RCSの構成 ]を参照してください。

 
3.4 データベース情報の登録

  次に実際にデータベースへアクセスするための設定を行います。

  ご使用される言語により、データベース情報の登録方法が異なりますのでご注意ください。ここではJavaアプリケーションのサンプルを動かすための流れを紹介しているためJavaでの設定をすればいいことになります。C++アプリケーションを動かすためには別途3.4.2で示すようなC++用の設定も必要になります。

  ここで登録するデータベースの情報は、database1.datファイルに格納されます。rcs.confのConfDirパラメータで設定したディレクトリ、または、"WebOTXがインストールされたディレクトリ"\TS\logディレクトリ配下にdatabase1.datファイルが作成されていることを確認してください。「Done.」が表示されればファイルが正常に作成されています。

 
3.4.1 Java

  トランザクション実行時に使用するデータベース情報は、WebOTX JDBC DataSourceのプロパティに設定された値が使用されます。例としてWindows版でOracleを使用してみます。RCSIDには、前述したrcsid1を指定することにします。

  まず"WebOTXがインストールされたディレクトリ"\TS\confディレクトリ配下にあるjdbc.conf.templateファイルをもとにsample.confという名前のファイルを作成します。

  この中の[ORACLE]セクション内の値を適当なものに設定してください。その後wotsdbconfjコマンドを使用して情報の設定を実施します。

  次のようにコマンドプロンプトから実行してください。

Windows
>wotsdbconfj -f ..\conf\sample.conf
UNIX
>wotsdbconfj.sh -f ..\conf\sample.conf

  この結果、rcs.confのConfDirで指定したディレクトリ配下、または、"WebOTXがインストールされたディレクトリ"\TS\logディレクトリ配下にdatabase1.datファイルが作成されていることを確認してください。

  動作中のRCSにデータベース情報を追加する場合、または、使用しているデータベースの情報を更新するには、wotsdbadmコマンドを使用して、登録・更新するデータベース識別名をRCSに通知してください。

  また、データベースを使用するための準備がいくつか必要です。これについては[ 3.10. データベースを利用するための準備(Java) ] を参照してください。

 

3.4.2 C++

  トランザクション実行時に使用するデータベース情報と、WebOTX Transaction Serviceがリカバリを行う際に使用するデータベース情報の2種類を登録します。例としてWindows版でOracleを使用してみます。RCSIDには、前述したrcsid1を指定することにします。

  まず、WebOTX Transaction Serviceのリカバリ時に使用するデータベース情報を登録します。"WebOTXがインストールされたディレクトリ"\TS\confディレクトリ配下にあるcppxa.conf.templateファイルをもとにsample_rcm.confという名前のファイルを作成します。

  この中の[ORACLE]セクション内の値を適当なものに設定してください。その後wotsdbconfcコマンドを使用して情報の設定を実施します。

  Oracle以外のデータベースを利用しない場合は、[ORACLE]セクション以外のものは全て削除するようにしてください。該当するクラスが見つからないとRCSの起動に失敗しますので注意が必要です。

  次のようにコマンドプロンプトから実行してください。

Windows
>wotsdbconfc -f ..\conf\sample_rcm.conf
UNIX
>wotsdbconfc.sh -f ..\conf\sample_rcm.conf

  この結果、rcs.confのConfDirで指定したディレクトリ配下、または、"WebOTXがインストールされたディレクトリ"\TS\logディレクトリ配下にdatabase1.datファイルが作成されていることを確認してください。「Done.」が表示されればファイルが正常に作成されています。

  動作中のRCSにデータベース情報を追加する場合、または、使用しているデータベースの情報を更新するには、wotsdbadmコマンドを使用して、登録・更新するデータベース識別名をRCSに通知してください。

  次に、通常のトランザクション実行時に使用するデータベース情報を登録します。"WebOTXがインストールされたディレクトリ"\TS\confディレクトリ配下にあるcppxa_ap.conf.templateファイルをもとにsample_ap.confという名前のファイルを作成します。

  この中の[ORACLE_AP1]セクション内の値を適当なものに設定してください。その後wotsdbconfapコマンドを使用して情報の設定を実施します。

  次のようにコマンドプロンプトから実行してください。

Windows
>wotsdbconfap -f ..\conf\sample_ap.conf
UNIX
>wotsdbconfap.sh -f ..\conf\sample_ap.conf

  また、XAインタフェースを使用するための準備がいくつか必要です。これについては [ 3.9. データベースを利用するための準備(C++) ] を参照してください。

  以上で設定ファイルの編集は完了です。

 
3.5 名前サービスへの登録作業

  次に名前サービスへの登録作業を実施します。これは運用管理コマンドの内部で使用するものです。 コマンドプロンプトから次のように実行してください。

>wotssetref -a rcsid1

  コマンドの詳細については、wotssetrefを参照してください。

 
3.6 RCDの起動

  それでは次にRCDの起動です。

  RCDプロセスはサービス(Windows版の場合)/デーモン(UNIX版の場合)です。

  Windows版の場合は、サービスコントロールマネージャを用いてサービスの起動や停止を実施します。 「WebOTX Transaction Service」という名前で登録されているRCDサービスをまずは起動してください。

  UNIX版についての起動・停止は、WebOTX Transaction Serviceのリリースメモなどを参照してください。また、[ サービスの動作制御 ]にも説明があります。

 
3.7 RCSプロセスの起動確認

  実はこの時点でRCSは起動されています。それはrcsid1.rcs内のStartUpの値が1になっていたからです。すなわちRCD起動と同時にこのRCSも自動的に起動されるように設定されていました。詳細については[ A.4.各RCSの構成 ]を参照してください。
  wotsrcsコマンドを使用して、rcsid1で識別される RCSプロセスの起動状況を確認してみてください。コマンドプロンプトから次のコマンドを実行します。

>wotsrcs rcsid1

  正常に開始していれば次のように表示されます。

rcs[rcsid1] is Running.

  停止しているRCSを起動する場合は、コマンドプロンプトから次のように実行します。

>wotsrcs rcsid1 start

  正常に起動するとイベントログ(UNIX版ではsyslog)に「RCS Start. RCSID=[rcsid1]」と表示されます。

  それが表示されていない場合は、トレースファイルやイベントログにエラーメッセージ が出ているので、それを参照して原因を特定してください。

  トレースファイルの見方については[ 4.13.2 トレース情報の利用 ]を参照してください。

  また、イベントログの内容については、[ メッセージ一覧 > 2. Transactionサービス ]を参照してください。

 
3.9. データベースを利用するための準備(C++)

WebOTX Transaction Serviceでは、OracleデータベースとSQLServer、MQSeriesをサポートしています。これらのデータベースとの間では、X/Open XAインタフェースを使用してグローバルトランザクションの制御を行っています。本節では、各データベースが提供するXAインタフェースを利用する上で必要となる作業について説明します。WebOTX Transaction Serviceでデータベースを利用する前にこれらの作業を行ってください。

データベース固有の情報については、各データベースのマニュアルで内容を確認してください。


 
3.9.1. データベース情報の登録

WebOTX Transaction Serviceの運用管理コマンドを使用して、データベース情報を登録します。

データベース情報の登録は、WebOTX Transaction Serviceの運用管理コマンドを使用して行います。


 
3.9.2. オープン文字列の構文

Oracleデータベースのオープン文字列に記述する内容について説明します。
オープン文字列は"ORACLE_XA"で始まる最大256文字の文字列です。XAインタフェースでは、この文字列を使用してデータベースとの接続を行います。パラメータの記述順序に制限はありませんが、続けて複数のパラメータを記述する場合には、パラメータの間に "+" を記述してください。

記述例: "ORACLE_XA+DB=ORCL+SqlNet=ORCL+ACC=P/scott/tiger+Threads=true+SesTm=60+DbgFl=0x1"

必須のパラメータ

Oracleデータベースのオープン文字列には、次のパラメータを必ず記述してください。
パラメータ名 指定内容 備考
ACC 次のようにOracleユーザ名とパスワードを指定します。
P/Oracleユーザ名/パスワード
 
SesTm グローバルトランザクション内で、トランザクションブランチを実行中でない状態でいられる時間(単位は秒)を指定します。アプリケーションのメソッドとメソッドの間やメソッド終了からトランザクションのコミットまたはロールバックの間が、ここで指定した時間を超過すると、Oracleシステムによって自動的にトランザクションがロールバックされます。 0(時間制限なし)の指定は避けてください。
WebOTX Transaction Serviceで使用するトランザクションのタイムアウト値よりも長い時間を指定してください。
Threads マルチスレッド動作を行うかどうかを指定します。
必ずtrue(マルチスレッド動作を行う)を設定してください。
 
SqlNet システムにログオンするために使用する文字列(ORACLE_SID)を指定します。 ORACLE_SIDとは、tnsnames.oraファイルで定義されているデータベースの別名です。
WindowsでWebOTX Transaction Serviceを使用する場合には、このパラメータを省略できます。

オプションのパラメータ

オープン文字列には、必須パラメータのほかに、次のオプションパラメータを記述することができます。
パラメータ名 指定内容 備考
DB アプリケーションが使用するデータベース名を指定します。
Pro*C/C++では、SQL命令のAT句にこの名前を指定します。
OCIでは、サービスコンテキストやLDAの取得時に、この名前を指定します。
デフォルトデータベースを使用する場合、このパラメータは不要です。
Loose_Coupling ブランチ間でロックを共有するかどうかを指定します。
    true:共有しない
    false:共有する
バージョン8.0以降のOracleで指定できます。
デフォルトはfalseです。
SesWt 同一のデータベースリソースが別のコネクションで使用されている場合に、トランザクションを待機する時間(単位は秒)を指定します。待機時間がここで指定した時間を超過すると、実行中のSQL命令は失敗しますが、Oracleシステムによって自動的にトランザクションがロールバックされることはありません。 バージョン8.0以降のOracleで指定できます。
デフォルト値は60秒です。
WebOTX Transaction Serviceで使用するトランザクションのタイムアウト値よりも短い時間を指定してください。
MaxCur データベースをオープンしているときにキャッシュされるカーソルの数を指定します。 プリコンパイラオプションのmaxopencursorsと同等の機能です。このパラメータを指定するとオプションの指定内容は上書きされます。
GPwd セキュリティグループのパスワードを指定します。
1つのグローバルトランザクション内では、複数のパスワードを使用することはできません。
Oracle7.3固有のパラメータです。
LogDir XAのトレース情報が格納されるディレクトリのパス名を示します。 デフォルトは$ORACLE_HOME/rdbms/logディレクトリか、カレントディレクトリです。
DbgFl XAのトレース出力内容を指定します。
0x1:
XA関数の呼び出しとトランザクション識別子を出力します。
0x2 と 0x4:
その他の非公開ライブラリなどの呼び出しを出力します。
デフォルト値は0です。通常、XAのトレースファイルは、エラーが検出された場合にだけオープンされます。

 


 
3.9.3. Oracleデータベースでの作業

XAインタフェースを使用するための準備として、次の5つの作業を行ってください。

● Oracleユーザへの権限付与

XAインタフェースを使用するためには、特定のビューに対して、ユーザに権限を付与するなどの作業が必要となります。
作業内容は、Oracleデータベースのバージョンによって異なります。

Oracle7.3を使用する場合
V$XATRANS$ビューが存在するかどうかを確認し、存在しなければ、XAVIEW.SQLスクリプトを実行して生成します。このスクリプトは、OracleユーザSYSで実行します。次に、V$XATRANS$ビューのSELECT権限を、オープン文字列中のACC句で指定する全てのOracleユーザに付与します。

XAVIEW.SQLスクリプトは、次の手順で実行します。
スクリプト実行手順

1.SQLスクリプトが格納されているディレクトリ(※1)に移動します。

prompt > cd  $ORACLE_HOME/rdbms/admin

2.ユーザ名SYSとパスワード、ORACLE_SIDを指定して、OracleのSQLPLUSを起動します。

prompt > sqlplus  SYS/XXXX@ORCL

3.SQLスクリプトを実行します。

SQL > @XAVIEW

※1:SQLスクリプトが格納されているディレクトリは、次のようにOSやOracleのバージョンによって異なります。

OS名 Oracle ディレクトリ
UNIX Oracle8.x
Oracle9i
Oracleホームディレクトリ/rdbms/admin
Windows Oracle7.3 Oracleホームディレクトリ\rdbms73\admin
Windows Oracle8.0 Oracleホームディレクトリ\rdbms80\admin
Windows Oracle8.1 Oracleホームディレクトリ\rdbms\admin
Windows Oracle9i Oracleホームディレクトリ\ora90\rdbms\admin

バージョン8.0以降のOracleを使用する場合
DBA_PENDING_TRANSACTIONビューのSELECT権限を、オープン文字列中のACC句で指定する全てのOracleユーザに付与します。
なお、Oracle7.3のアプリケーションからバージョン8.0以降のOracleを使用する場合には、Oracle7.3を使用する場合と同様にXAVIEW.SQLスクリプトを実行してからSELECT権限の付与を行ってください。

● 同時実行トランザクション数の変更

初期化パラメータinit.oraのDISTRIBUTED_TRANSACTIONSパラメータで、同時に動作するグローバルトランザクション数を設定することができます。デフォルト値は5です。このパラメータの値を変更する場合は、TRANSACTIONSパラメータの値を超えないように注意してください。
なお、TRANSACTIONSパラメータの値は、init.oraのPROCESSESパラメータやSESSIONSパラメータの値によって変わります。

また、初期化パラメータinit.oraのMAX_TRANSACTION_BRANCHESパラメータで、1つのグローバルトランザクション内で動作するトランザクションブランチの数を設定することができます。デフォルト値は8です。
WebOTX Transaction ServiceでOracleデータベースを利用する場合には、このパラメータの値を、次の3つの合計値以上となるように変更してください。



● ダイナミックリンクライブラリの登録

Windows で動的登録を行うためには、WebOTX Transaction Serviceが提供するダイナミックリンクライブラリを、あらかじめデータベースに登録し、環境変数を追加する必要があります。これらを行うために、次のプログラムを実行してください。
プログラム実行後は環境変数を有効にするため、システムを再起動してください。

    プログラム名:  WebOTX Transaction Serviceインストールディレクトリ\bin\RegAXDLL.exe

Windowsでは、Oracle8のR8.0.4.1以降のバージョン、および、Oracle8iのR8.1.5以降のバージョンで動的登録の機能を利用することができます。

● Oracleホームディレクトリパスの設定

UNIX版では、デーモンとして動作するRCSおよびリカバリサーバの環境変数としてOracleホームディレクトリを設定する必要があります。
パスの設定は、リカバリサーバを動作させる場合、WebOTX Transaction Serviceの運用管理ツールを使用して次の手順で行います。
パスの設定手順
ツリービューまたはリストビューのリソースアイコンにカーソルを合わせ、[ファイル]メニューから[プロパティ]を選択すると、リソース設定ダイアログが表示されます。ダイアログの全般タブに、データベースパスという項目がありますので、"ORACLE_HOME="で始まるディレクトリを記述してください。
なお、UNIX版のWebOTX Transaction Serviceをご利用になる場合で、RCSを動作させる場合、、あるいは運用管理ツールを利用できない場合には、WebOTX Transaction Serviceのコンフィギュレーション情報設定ファイルをエディタで修正することでパスの設定を行ってください。記述方法については、[ A. Recovery Coordinator Server(RCS)で使用する構成情報設定ファイル ]を参照してください。

● XAインタフェースアクセス用のライブラリ生成

UNIX版では、Oracleデータベースのインストール後、WebOTX Transaction Serviceで使用するXAインタフェースアクセス用ライブラリを生成するために、次のスクリプトを実行する必要があります。

    /opt/WebOTX/TS/sbin/genxalib.sh

このスクリプトで作成されたライブラリは、Oracleの共有ライブラリ(libclntsh.sl) をリンクしています。
Oracleの共有ライブラリは、インストールされたOracleの機能に合わせて、リビルドし直す必要がありますので注意してください。

XAインタフェースアクセス用ライブラリを生成するためのスクリプトは、次の手順で実行します。

スクリプトの実行手順

1.スクリプトが格納されているディレクトリに移動します。
prompt > cd  /opt/WebOTX/TS/sbin


2.運用管理コマンドを使用してRCSを停止します。
prompt > wotsrcs  RCSID stop


3.スクリプトを起動します。
prompt > genxalib.sh


4.スクリプトの表示に従って、利用するデータベースを選択します。
Please select one of the following:

        1. Use only Oracle.
        2. Use only IBM MQSeries.
        3. Use both Oracle and IBM MQSeries.

[1, 2 or 3]-> 1



5.スクリプトの表示に従って、Oracleホームディレクトリパスを入力します。
Please input ORACLE_HOME path.
[default:none]-> /opt/oracle/u01/app/product


6.スクリプトによって、ライブラリが生成されます。
Re-linking ...
done
prompt >


7.RCSを起動します。
prompt > wotsrcs  RCSID start

 
3.9.4. SQLServerでの作業

ODBCを利用する場合は、コントロールパネルのODBCアイコンをクリックして、データソースを登録してください。


 
3.9.5. MQSeriesでの作業

XAインタフェースを使用するための準備として、次の作業を行ってください。

● XAインタフェースアクセス用のライブラリ生成

UNIX版では、MQSeriesのインストール後、WebOTX Transaction Serviceで使用するXAインタフェースアクセス用ライブラリを生成するために、次のスクリプトを実行する必要があります。

    /opt/WebOTX/TS/sbin/genxalib.sh

XAインタフェースアクセス用ライブラリを生成するためのスクリプトは、次の手順で実行します。

スクリプトの実行手順

1.スクリプトが格納されているディレクトリに移動します。
prompt > cd  /opt/WebOTX/TS/sbin


2.運用管理コマンドを使用してRCSを停止します。
prompt > wotsrcs  RCSID stop


3.スクリプトを起動します。
prompt > genxalib.sh


4.スクリプトの表示に従って、利用するデータベースを選択します。
Please select one of the following:

        1. Use only Oracle.
        2. Use only IBM MQSeries.
        3. Use both Oracle and IBM MQSeries.

[1, 2 or 3]-> 2



5.スクリプトの表示に従って、MQSeriesのインストールパスを入力します。
Please input IBM MQSeries install path.
[default:none]-> /opt/mqm


6.スクリプトによって、ライブラリが生成されます。
Re-linking ...
done
prompt >


7.RCSを起動します。
prompt > wotsrcs  RCSID start

 
3.9.6. 注意・制限事項

Oracleの注意・制限事項

SQLServerの注意・制限事項

MQSeriesの注意・制限事項

WebOTX Transaction Serviceの注意・制限事項


 
3.10. データベースを利用するための準備(Java)

WebOTX Transaction Serviceでは、Oracleデータベースをサポートしています。これらのデータベースとの間では、WebOTX JDBC DataSourceを使用してグローバルトランザクションの制御を行っています。本節では、データベースを利用する上で必要となる作業について説明します。WebOTX Transaction Serviceでデータベースを利用する前にこれらの作業を行ってください。

データベース固有の情報については、各データベースのマニュアルで内容を確認してください。


 
3.10.1. データベース情報の登録

WebOTX Transaction Serviceの運用管理コマンドを使用して、データベース情報を登録します。ここで設定されたデータベース情報は、トランザクションのリカバリを行う際に使用するコネクション情報としてWebOTX JDBC DataSourceのプロパティに設定されます。 設定内容については、WebOTX JDBC DataSourceのリファレンス編を参照してください。

なお、WebOTX Transaction Serviceでは、次のデータベースをサポートしています。

OS Oracle8i Oracle9i
Windows 8.1.6、8.1.7 9.0.1、9.2.0
HP-UX 8.1.6、8.1.7 9.0.1、9.2.0
Solaris 8.1.6、8.1.7 9.0.1、9.2.0
Linux ------ 9.0.1、9.2.0

データベース情報の登録は、WebOTX Transaction Serviceの運用管理コマンドを使用して行います。


 
3.10.2. Oracleデータベースでの作業

Oracleデータベースを使用するための準備として、次の2つの作業を行ってください。

● Oracleユーザへの権限付与

Oracleデータベースを使用するためには、特定のビューに対して、ユーザに権限を付与するなどの作業が必要となります。

DBA_PENDING_TRANSACTIONビューのSELECT権限を、オープン文字列中のACC句で指定する全てのOracleユーザに付与します。次の手順でXAVIEW.SQLスクリプトを実行してからSELECT権限の付与を行ってください。

XAVIEW.SQLスクリプトは、次の手順で実行します。

スクリプト実行手順

1.SQLスクリプトが格納されているディレクトリ(※1)に移動します。

prompt > cd  $ORACLE_HOME/rdbms/admin

2.ユーザ名SYSとパスワード、ORACLE_SIDを指定して、OracleのSQLPLUSを起動します。

prompt > sqlplus  SYS/XXXX@ORCL

3.SQLスクリプトを実行します。

SQL > @XAVIEW

※1:SQLスクリプトが格納されているディレクトリは、次のようにOSやOracleのバージョンによって異なります。

OS名 Oracle ディレクトリ
UNIX Oracle8.x
Oracle9i
Oracleホームディレクトリ/rdbms/admin
Windows Oracle8.1 Oracleホームディレクトリ\rdbms\admin
Windows Oracle9i Oracleホームディレクトリ\ora90\rdbms\admin

● 同時実行トランザクション数の変更

初期化パラメータinit.oraのDISTRIBUTED_TRANSACTIONSパラメータで、同時に動作するグローバルトランザクション数を設定することができます。デフォルト値は5です。このパラメータの値を変更する場合は、TRANSACTIONSパラメータの値を超えないように注意してください。
なお、TRANSACTIONSパラメータの値は、init.oraのPROCESSESパラメータやSESSIONSパラメータの値によって変わります。

また、初期化パラメータinit.oraのMAX_TRANSACTION_BRANCHESパラメータで、1つのグローバルトランザクション内で動作するトランザクションブランチの数を設定することができます。デフォルト値は8です。
WebOTX Transaction ServiceでOracleデータベースを利用する場合には、このパラメータの値を、次の合計値以上となるように変更してください。



 
3.10.3. 注意・制限事項

注意・制限事項




***********



  以上駆け足ですがRCSによるトランザクション管理までの手順を記述してきました。さらに詳細な内容については[ 4.Recovery Coordination Server(RCS)の運用管理 ]を参照してください。