|
|
トランザクションの管理
ここでは、次の内容について説明します。
始める前に、トランザクションについてを読む必要があります。
注記 管理情報は、BEA Tuxedo ORB に対する初期オブジェクト・リファレンスを取得するために、Bootstrap オブジェクトまたは CORBA インターオペラブル・ネーミング・サービス (INS) のいずれを使用している場合でも適用されます。
UBBCONFIG ファイルをトランザクションに対応させて変更する
ここでは、次の内容について説明します。
手順の要約
アプリケーションの UBBCONFIG
ファイルをトランザクションに対応させるには、RESOURCES
、MACHINES
、GROUPS
、および INTERFACES
または SERVICES
セクションを変更する必要があります。
RESOURCES
セクションでは、アプリケーション全体で設定できるトランザクションの数、およびコミット制御フラグの値を指定します。MACHINES
セクションでは、各マシンの TLOG
情報を作成します。GROUPS
セクションでは、各リソース・マネージャおよびトランザクション・マネージャ・サーバに関する情報を指定します。INTERFACES
セクション (BEA Tuxedo CORBA アプリケーションのみ) または SERVICES
セクション (BEA Tuxedo ATMI アプリケーションのみ) では、自動トランザクション・オプションを有効にします。 UBBCONFIG
ファイルのこれらのセクションの変更については、『BEA Tuxedo アプリケーションの設定』の「コンフィギュレーション・ファイルの作成」を参照してください。
ステップ 1: RESOURCES セクションでアプリケーション全体のトランザクションを指定する
表 5-1 では、コンフィギュレーション・ファイルの RESOURCES
セクションで指定可能なトランザクション関連のパラメータを説明しています。
ステップ 2: トランザクション・ログ (TLOG) を作成する
ここでは、トランザクションが終了するまで、トランザクションに関する情報が保持されているトランザクション・ログ (TLOG
) の作成について説明します。
UDL を作成する
汎用デバイス・リスト (UDL) は、BEA Tuxedo ファイル・システムの地図のようなものです。UDL は、アプリケーションの起動後、共用メモリにロードされます。UDL 内に TLOG
デバイス用のエントリを作成するには、グローバル・トランザクションを使用して各マシンに UDL を作成します。TLOGDEVICE
が 2 台のマシン間でミラーリングされる場合は、一方のマシンに UDL を作成するだけで十分です。BBL は、起動時に TLOG
を初期化してオープンします。
UDL を作成するには、アプリケーションを起動する前に次の形式のコマンドを実行します。
tmadmin -c crdl -z
config
-b
blocks
この例の説明は次のとおりです。
|
UDL の作成場所となるデバイスの絶対パス名を指定します。 |
|
デバイスに割り当てられるブロック数を指定します。 |
|
これは、 |
注記 通常、blocks
で指定する値は、TLOGSIZE
より小さい値にはしません。たとえば、TLOGSIZE
に 200 ブロックが指定されている場合、-b 500
を指定すると、性能は低下しません。
TLOG
の保存方法については、『BEA Tuxedo システムのインストール』を参照してください。
MACHINES セクションでトランザクション関連のパラメータを定義する
UBBCONFIG
ファイルの MACHINES
セクションでパラメータをいくつか設定して、グロ―バル・トランザクション・ログ (TLOG
) を定義できます。TLOGDEVICE
のデバイス・リストのエントリは、TLOG
が必要な各マシンで手動で作成する必要があります。これは、TUXCONFIG
がロードされる前でも後でも作成できますが、必ずシステムを起動する前に作成してください。
注記 トランザクションを使用しない場合、TLOG
パラメータは不要です。
表 5-2 では、コンフィギュレーション・ファイルの MACHINES
セクションで指定可能なトランザクション関連のパラメータを説明しています。
Domains トランザクション・ログを作成する (BEA Tuxedo ATMI サーバのみ)
ここで説明することは、ATMI サーバにのみ適用されます。
Domains ゲートウェイ・グループを開始する前に、次のコマンドで Domains トランザクション・ログを作成できます。
dmadmin
(1)crdmlog (crdlog) -d
local_domain_name
Domains トランザクション・ログは、現在のマシン (dmadmin
を実行中のマシン) の指定されたローカル・ドメインに作成してください。このコマンドでは、DMCONFIG
ファイルで指定したパラメータが使用されます。指定したローカル・ドメインが現在のマシン上でアクティブであるか、またはログがすでに存在する場合、このコマンドは失敗します。トランザクション・ログがない場合は、Domains ゲートウェイ・グループの起動時に作成されます。
ステップ 3: GROUPS セクションでリソース・マネージャ (RM) とトランザクション・マネージャ・サーバを定義する
GROUPS
セクションへの追加は、以下の 2 つのカテゴリに分類されます。
TMSNAME
パラメータは、実行可能なサーバ名を指定します。TMSCOUNT
パラメータは、起動するトランザクション・マネージャ・サーバの数 (最小 2、最大 10、デフォルト 3) を指定します。ヌル・トランザクション・マネージャ・サーバは、リソース・マネージャと通信しません。このサーバは、回復可能な実際の環境でアプリケーションをテストする前に、トランザクションに関与するプリミティブをアプリケーションで実際に使用するために使用します。TMS
と呼ばれるこのサーバは、リソース・マネージャと会話せずに単純にトランザクションを開始、コミット、および終了します。
OPENINFO
は、リソース・マネージャのオープンに使用する情報の文字列です。CLOSEINFO
は、リソース・マネージャのクローズに使用します。GROUPS セクションの例
次の GROUPS
セクションの例は、bankapp
銀行取引アプリケーションから抜粋したものです。
BANKB1 GRPNO=1 TMSNAME=TMS_SQL TMSCOUNT=2
OPENINFO=”TUXEDO/SQL:<APPDIR>/bankdl1:bankdb:readwrite”
表 5-3 では、この GROUPS セクションの例で指定したトランザクション値について説明します。
TMSNAME、TMSCOUNT、OPENINFO、および CLOSEINFO パラメータの特性
表 5-4 では、TMSNAME、TMSCOUNT、OPENINFO、および CLOSEINFO パラメータの特性を説明します。
ステップ 4: トランザクションを開始するためのインターフェイスを有効にする
トランザクションを開始するためのインターフェイスを有効にするには、UBBCONFIG
ファイル内のセクションを変更します。変更対象のセクションは、BEA Tuxedo CORBA サーバをコンフィギュレーションするか、BEA Tuxedo ATMI サーバをコンフィギュレーションするかによって異なります。
INTERFACES セクションの変更 (BEA Tuxedo CORBA サーバ)
UBBCONFIG
ファイルの INTERFACES
セクションは、BEA Tuxedo CORBA インターフェイスをサポートします。
AUTOTRAN
を Y
に設定します。AUTOTRAN=Y
は、インターフェイスが既にトランザクション・モードにある場合は無効です。デフォルト値は N
です。AUTOTRAN
に値を指定した場合の効果は、インプリメンテーション・コンフィギュレーション・ファイル (ICF) でインターフェイスの開発者が指定したトランザクション方針によって異なります。このトランザクション方針は実行時に、関連する T_IFQUEUE
MIB
オブジェクトのトランザクション方針の属性になります。この値がアプリケーションの動作に影響するのは、開発者が optional
トランザクション方針を指定した場合だけです。注記 この機能を正しく動作させるには、設計者と管理者の間の共同作業が不可欠です。インターフェイスの ICF で開発者が定義したトランザクション方針を知らずに、管理者がこの値を Y
に設定すると、パラメータを実際に実行した場合の影響が分からなくなる可能性があります。
AUTOTRAN
が Y
に設定されている場合、TRANTIME
パラメータを設定する必要があります。これは、作成するトランザクションに対するタイムアウト値 (秒) を指定します。0 〜 2,147,483,647 (231 - 1、つまり約 70 年) の値を指定してください。0 は、トランザクションにタイムアウトが設定されていないことを示します。デフォルト値は 30 秒です。表 5-5 では、AUTOTRAN、TRANTIME、および FACTORYROUTING パラメータの特性を説明します。
パラメータ |
説明 |
---|---|
|
|
|
|
|
SERVICES セクションの変更 (BEA Tuxedo ATMI サーバ)
以下の 3 つのパラメータは、SERVICES
セクションに指定するトランザクション関連のパラメータです。
AUTOTRAN
フラグを Y
に設定する必要があります。この設定は、サービスが大規模なトランザクションの一部でない場合や、トランザクションの決定に関わるクライアント側の負担を軽減したい場合に役立ちます。既存のトランザクションがある場合にサービスが呼び出されると、この呼び出しは既存のトランザクションの一部になります。デフォルト値は N
です。注記 一般的に、サービスは大規模なトランザクションに参加する可能性があるため、トランザクションのイニシエータとしてはクライアントが最も適しています。
AUTOTRAN
が Y
に設定されている場合、TRANTIME
パラメータを設定する必要があります。これは、作成するトランザクションに対するタイムアウト値 (秒) です。0 〜 2,147,483,647 (231 - 1、つまり約 70 年) の値を指定してください。0 は、トランザクションにタイムアウトが設定されていないことを示します。デフォルト値は 30 秒です。ROUTING
パラメータを指定する必要があります。表 5-6 では、AUTOTRAN、TRANTIME、および ROUTING パラメータの特性を説明します。
トランザクションをサポートするように Domains コンフィギュレーション・ファイルを変更する (BEA Tuxedo CORBA サーバ)
ここでは、次の内容について説明します。
ドメインを介してトランザクションを有効にするには、Domains コンフィギュレーション・ファイル (DMCONFIG
) の DM_LOCAL_DOMAINS
および DM_REMOTE_SERVICES
セクション内のパラメータを設定する必要があります。DM_LOCAL_DOMAINS
セクションのエントリでは、ローカル・ドメインの特性を定義します。DM_REMOTE_SERVICES
セクションのエントリでは、インポートされたサービスや、リモート・ドメインで使用可能なサービスに関する情報を定義します。
DMTLOGDEV、DMTLOGNAME、DMTLOGSIZE、MAXRDTRAN、および MAXTRAN パラメータの特性
Domains コンフィギュレーション・ファイルの DM_LOCAL_DOMAINS
セクションでは、ローカル・ドメインおよびそれに関連するゲートウェイ・グループを指定します。このセクションは、ゲートウェイ・グループ (ローカル・ドメイン) ごとにエントリを持つ必要があります。各エントリは、そのグループで実行されている Domains ゲートウェイ・プロセスで必要なパラメータを指定します。
表 5-7 では、このセクションの 5 つのトランザクション関連パラメータ (DMTLOGDEV
、DMTLOGNAME
、DMTLOGSIZE
、MAXRDTRAN
、および MAXTRAN
) を説明します。
AUTOTRAN および TRANTIME パラメータの特性 (BEA Tuxedo CORBA および ATMI サーバ)
Domains コンフィギュレーション・ファイルの DM_REMOTE_SERVICES
セクションでは、インポートされ、リモート・ドメインで使用可能になったサービスに関する情報を示します。各リモート・サービスは、特定のリモート・ドメインに関連付けられています。
表 5-8 では、このセクションに指定するトランザクション関連のパラメータ (AUTORUN
および TRANTIME
) を説明します。
トランザクションを使用する分散アプリケーションの例
ここでは、次の内容について説明します。
ここでは、トランザクションを有効にし、アプリケーションを 3 つのサイトに分散するサンプル CORBA アプリケーションのサンプル・コンフィギュレーション・ファイルを説明します。このアプリケーションには、以下の機能があります。
ACCOUNT_ID
に対してデータ依存型ルーティングが実行されます。ATMI
インターフェイスを使用してシステムと通信する BRIDGE
プロセスが実行されます。ファイルは、7 つのセクション (RESOURCES
、MACHINES
、GROUPS
、NETWORK
、SERVERS
、SERVICES
、および ROUTING
) で構成されます。
RESOURCES セクション
リスト 5-1 に示されている RESOURCES
セクションは、以下のパラメータを指定します。
MAXSERVERS
、MAXSERVICES
、および MAXGTT
はデフォルトより少ない値です。これによって、掲示板のサイズが小さくなります。MASTER
は SITE3
で、バックアップ・マスタは SITE1
です。MODEL
が MP
に設定されており、OPTIONS
が LAN
、MIGRATE
に設定されているため、ネットワーク接続されたコンフィギュレーションを使用して移行を行うことができます。BBLQUERY
が 180 に設定されており、SCANUNIT
が 10 に設定されているため、DBBL
は、リモートの BBL
を 1800 秒おき (30 分おき) にチェックします。リスト 5-1 RESOURCES セクションの例
*RESOURCES
#
IPCKEY 99999
UID 1
GID 0
PERM 0660
MAXACCESSERS 25
MAXSERVERS 25
MAXSERVICES 40
MAXGTT 20
MASTER SITE3, SITE1
SCANUNIT 10
SANITYSCAN 12
BBLQUERY 180
BLOCKTIME 30
DBBLWAIT 6
OPTIONS LAN, MIGRATE
MODEL MP
LDBAL Y
MACHINES セクション
リスト 5-2 に示されている MACHINES
セクションは、以下のパラメータを指定します。
TLOGDEVICE
および TLOGNAME
は、トランザクションが行われることを示します。TYPE
パラメータはすべて異なりますが、これはマシン間で送られるすべてのメッセージに符号化/復号化が行われることを示します。リスト 5-2 MACHINES セクションの例
*MACHINES
Gisela LMID=SITE1
TUXDIR="/usr/tuxedo"
APPDIR="/usr/home"
ENVFILE="/usr/home/ENVFILE"
TLOGDEVICE="/usr/home/TLOG"
TLOGNAME=TLOG
TUXCONFIG="/usr/home/tuxconfig"
TYPE="3B600"
romeo LMID=SITE2
TUXDIR="/usr/tuxedo"
APPDIR="/usr/home"
ENVFILE="/usr/home/ENVFILE"
TLOGDEVICE="/usr/home/TLOG"
TLOGNAME=TLOG
TUXCONFIG="/usr/home/tuxconfig"
TYPE="SEQUENT"
juliet LMID=SITE3
TUXDIR="/usr/tuxedo"
APPDIR='/usr/home"
ENVFILE="/usr/home/ENVFILE"
TLOGDEVICE="/usr/home/TLOG"
TLOGNAME=TLOG
TUXCONFIG="/usr/home/tuxconfig"
TYPE="AMDAHL"
GROUPS セクションおよび NETWORK セクション
リスト 5-3 に示されている GROUPS
セクションと NETWORK
セクションは、以下のパラメータを指定します。
TMSCOUNT
は 2 に設定されますが、これはグループあたり 2 つの TMS_SQL
トランザクション・マネージャ・サーバだけが起動されることを示します。OPENINFO
文字列は、アプリケーションがデータベース・アクセスを行うことを示します。リスト 5-3 GROUPS セクションおよび NETWORK セクションの例
*GROUPS
DEFAULT:TMSNAME=TMS_SQL TMSCOUNT=2
BANKB1 LMID=SITE1 GRPNO=1
OPENINFO="TUXEDO/SQL:/usr/home/bankdl1:bankdb:readwrite"
BANKB2 LMID=SITE2 GRPNO=2
OPENINFO="TUXEDO/SQL:/usr/home/bankdl2:bankdb:readwrite"
BANKB3 LMID=SITE3 GRPNO=3
OPENINFO="TUXEDO/SQL:/usr/home/bankdl3:bankdb:readwrite"
*NETWORK
SITE1 NADDR="0X0002ab117B2D4359"
BRIDGE="/dev/tcp"
NLSADDR="0X0002ab127B2D4359"
SITE2 NADDR="0X0002ab117B2D4360"
BRIDGE="/dev/tcp"
NLSADDR="0X0002ab127B2D4360"
SITE3 NADDR="0X0002ab117B2D4361"
BRIDGE="/dev/tcp"
NLSADDR="0X0002ab127B2D4361"
SERVERS、SERVICES、および ROUTING セクション
リスト 5-4 に示されている SERVERS
セクション、SERVICES
セクション、および ROUTING
セクションは、以下のパラメータを指定します。
TLR
サーバには、tpsrvrinit()
関数に渡される -T number
があります。ACCOUNT_ID
フィールドでルーティングされます。AUTOTRAN
モードではサービスは行われません。リスト 5-4 SERVERS、SERVICES、および ROUTING セクションの例
*SERVERS
DEFAULT: RESTART=Y MAXGEN=5 REPLYQ=N CLOPT="-A"
TLR SRVGRP=BANKB1 SRVID=1 CLOPT="-A -- -T 100"
TLR SRVGRP=BANKB2 SRVID=3 CLOPT="-A -- -T 400"
TLR SRVGRP=BANKB3 SRVID=4 CLOPT="-A -- -T 700"
XFER SRVGRP=BANKB1 SRVID=5 REPLYQ=Y
XFER SRVGRP=BANKB2 SRVID=6 REPLYQ=Y
XFER SRVGRP=BANKB3 SRVID=7 REPLYQ=Y
*SERVICES
DEFAULT:AUTOTRAN=N
WITHDRAW ROUTING=ACCOUNT_ID
DEPOSIT ROUTING=ACCOUNT_ID
TRANSFER ROUTING=ACCOUNT_ID
INQUIRY ROUTING=ACCOUNT_ID
*ROUTING
ACCOUNT_ID FIELD=ACCOUNT_ID BUFTYPE="FML"
RANGES="MON - 9999:*,
10000 - 39999:BANKB1
40000 - 69999:BANKB2
70000 - 100000:BANKB3
""
|
Copyright © 2001, BEA Systems, Inc. All rights reserved.
|