![]() ![]() ![]() ![]() |
注意 : | 分散型の Oracle Tuxedo CORBA アプリケーション用のコンフィグレーション ファイルを作成する方法については、『Oracle Tuxedo CORBA アプリケーションのスケーリング、分散、およびチューニング』を参照してください。 |
分散型の Oracle Tuxedo ATMI アプリケーションは、1 つ以上のローカル クライアントまたはリモート クライアントで構成され、ネットワーク接続された複数のマシン上にある 1 つ以上のサーバと通信します。すべての構成要素は、Oracle Tuxedo コンフィグレーション ファイルで 1 つのエンティティとして管理されます。分散型のコンフィグレーションを設定するには、コンフィグレーション ファイルを作成し、次のセクションを設定する必要があります。
コンフィグレーションに複数のドメインが含まれており、データ依存型ルーティングを使用する場合は、ルーティング機能をサポートするためのドメイン ゲートウェイ コンフィグレーション ファイル (DMCONFIG
) を変更する必要もあります。
RESOURCES
セクションでは、アプリケーションの最大サーバ数など、システム全体に関するリソースの制御パラメータを定義します。このセクションのパラメータ設定は、すべて、アプリケーション全体に適用されます。
注意 : | このトピックの表で説明するパラメータは、分散アプリケーション用です。どの OracleTuxedo アプリケーションにも適用できる基本的なパラメータの説明については、『Oracle Tuxedo のファイル形式とデータ記述方法』の「UBBCONFIG(5)」を参照してください。 |
MACHINES
セクションでは、コンフィグレーション内のすべての物理マシン (マルチプロセッサ マシンのすべての処理要素も含む) に論理名を割り当て、各マシンに対して個別にパラメータを定義します。次の表では、分散アプリケーションに参加する各マシンに対し、マシン名やマシン固有の情報を定義するためのパラメータを説明します。
GROUPS
セクションでは、アプリケーション内の各サーバ グループを識別し、特定のサーバ グループ内のサーバに要求がルーティングされるようにします。
GROUPS
セクションでは、アプリケーションに必要なサーバ グループの数を設定します。サーバ グループは、すべて同じサイトに設定することも (SHM
モード)、分散アプリケーションで複数のサイトに分散することも (MP
モード) できます。
GROUPS
セクションのパラメータは、分散トランザクション処理に関する次の 2 つの側面を実現します。
SERVICES
セクションのパラメータは、アプリケーション サービスの処理方法を決定します。このセクションのエントリの各行は、識別子名によってサービスと関連付けられます。
SERVICES
セクションでは、各サーバ グループで提供されるサービスを識別する必要があります。SRVGRP
パラメータは、1 つのサービスを複数のサーバにリンクするために用意されています。このパラメータは、サービスのインスタンスを示すパラメータを特定のサーバ グループに関連付けます。
次の表では、分散アプリケーションの定義用の SERVICES
セクションのパラメータを説明します。
アプリケーションにトランザクション処理が含まれる場合は、SERVICES
セクションでさらに 3 つのパラメータ、AUTOTRAN
、ROUTING
、および TRANTIME
を設定します。これらのパラメータについては、「トランザクション対応の ATMI アプリケーションのコンフィグレーション」で説明します。
*SERVICES
WITHDRAW ROUTING=ACCOUNT_ID
DEPOSIT ROUTING=ACCOUNT_ID
OPEN_ACCT ROUTING=BRANCH_ID
ROUTING
セクションでは、データ依存型ルーティングの実行時に使用される基準を指定します。サービスが複数のエントリに属しており、それぞれに対して異なる SRVGRP
パラメータの値が設定されている場合、各エントリの ROUTING
パラメータには同じ値を指定する必要があります。ROUTING パラメータに同じ値が指定されないと、サービスに対して一貫したルーティングが行われません。サービスがルーティングされるのは、1 つのフィールド上でのみです。したがって、そのフィールドのサービスに対する値は、すべてのエントリで同じでなければなりません。
コンフィグレーション ファイルに ROUTING
セクションを追加し、データ範囲とグループのマッピングを示すことができます。このセクションの情報により、システムは指定されたグループ内のサーバに要求を送ることができます。ROUTING
セクションの各項目には、SERVICES
セクションで使用される識別子が含まれています。
CRITERION_NAME
required_parameters
CRITERION_NAME
は、データ依存型ルーティングの SERVICES
セクションで指定したルーティング エントリ名です。CRITERION_NAME
の値は、15 文字以内の文字列でなければなりません。
次の表は、ROUTING
セクションのパラメータの説明です。
以下は、データ依存型ルーティングを使用する Oracle Tuxedo アプリケーションの UBBCONFIG
サンプル ファイルからの抜粋です。GROUPS
、SERVICES
、ROUTING
の 3 つのセクションを示しています。
*GROUPS
BANKB1 GRPNO=1
BANKB2 GRPNO=2
BANKB3 GRPNO=3
#
*SERVICES
WITHDRAW ROUTING=BY_ACCOUNT_ID
DEPOSIT ROUTING=BY_ACCOUNT_ID
INQUIRY ROUTING=BY_ACCOUNT_ID
OPEN_ACCT ROUTING=BY_BRANCH_ID
CLOSE_ACCT ROUTING=BY_BRANCH_ID
#
*ROUTING
BY_ACCOUNT_ID FIELD=ACCOUNT_ID BUFTYPE=”FML”
RANGES=”MIN - 9999:*,
10000-49999:BANKB1,
50000-79999:BANKB2,
80000-109999:BANKB3,
*:*”
BY_BRANCH_ID FIELD=BRANCH_ID BUFTYPE=”FML”
RANGES=”MIN - 0:*,
1-4:BANKB1,
5-7:BANKB2,
8-10:BANKB3,
*:*”
ドメイン ゲートウェイ コンフィグレーションに関するすべての情報は、バイナリ形式の BDMCONFIG
ファイルに格納されています。このファイルは、まず DMCONFIG
というテキスト形式のコンフィグレーション ファイルを作成し、次にバイナリ形式の BDMCONFIG
にコンパイルして作成します。コンパイル済みの BDMCONFIG
ファイルは、実行中のシステムで dmadmin(1)
コマンドを使用して更新できます。Oracle Tuxedo のマニュアルでは、これらのコンフィグレーション ファイルを DMCONFIG
および BDMCONFIG
と呼んでいますが、任意の名前を付けることもできます。
Domains 機能を追加する各 Oracle Tuxedo アプリケーションには、BDMCONFIG
ファイルを 1 つ作成する必要があります。BDMCONFIG
ファイルへのアクセスは、Domains 管理サーバである DMADM
(5) から行います。ゲートウェイ グループが起動されると、ゲートウェイ管理サーバである GWADM
(5) は、そのグループに必要なコンフィグレーションのコピーを DMADM
サーバに要求します。また、GWADM
サーバと DMADM
サーバは、コンフィグレーションにおける実行時の変更が、対応するドメイン ゲートウェイ グループに反映されるようにします。
注意 : | DMCONFIG ファイルの詳細については、『Oracle Tuxedo のファイル形式とデータ記述方法』の「DMCONFIG(5)」を参照してください。 |
DM_ROUTING
セクションでは、型付きバッファである FML
、XML
、VIEW
、X_C_TYPE
、および X_COMMON
を使用したサービス要求のデータ依存型ルーティングに関する情報を提供します。DM_ROUTING
セクション内にある各行の形式は次のとおりです。
CRITERION_NAME
required_parameters
CRITERION_NAME
は、SERVICES
セクションで指定されたルーティング エントリの名前です。CRITERION_NAME
の値は、15 文字以内の文字列でなければなりません。
次の表は、DM_ROUTING
セクションのパラメータの説明です。
ルーティング フィールドの値には、FML
または VIEW
でサポートされているデータ型を使用できます。数値の範囲または文字列の範囲も使用できます。文字列、CARRAY、および文字フィールド型の文字列の範囲値には、以下の規則が適用されます。
atof()
で受け付けられる形式で指定します。つまり、正符号または負符号、数字の文字列 (必要に応じて小数点を追加)、e
または E
(省略可能)、符号またはスペース (省略可能)、整数という形式で指定します。RACCESSPOINT
値には、要求がルーティングされるリモート ドメインを指定します。RACCESSPOINT
値に *
を指定すると、ゲートウェイ グループが認識する任意のリモート ドメインに要求が送られることを示します。範囲/RACCESSPOINT
のペアでは、範囲 (range) と RACCESSPOINT
はコロン (:) で区切られます。
以下は、2 つのドメインが 5 サイトに分散されているアプリケーションのコンフィグレーション ファイルの例です。5 つのサイトは、Central Bank Office と 4 つの支店を示します。4 つの支店のうち、3 つは Oracle Tuxedo ドメインに属しています。残りの支店は、別の TP ドメインに属し、そのドメインとの通信には OSI-TP が使用されています。
この例では、Central Bank から見た Oracle Tuxedo システムのドメイン ゲートウェイ コンフィグレーション ファイルを示しています。DM_TDOMAIN
セクションは、b01
をミラーリングしたゲートウェイを示しています。
# Central Bank 用の Tuxedo ドメイン コンフィグレーション ファイル
#
#
*DM_LOCAL
#local_domain_name
Gateway_Group_name
domain_type
domain_ID
log_device
# [
audit log
] [
blocktime
]
# [log name
] [
log offset
] [
log size
]
maxaccesspoint
# [] [
maxraptran
] [
maxtran
]
# [maxdatalen
] [
security
]
# [tuxconfig
] [
tuxoffset
]
#
#
DEFAULT: SECURITY = NONE
c01 GWGRP = bankg1
TYPE = TDOMAIN
ACCESSPOINTID = "BA.CENTRAL01"
DMTLOGDEV = "/usr/apps/bank/DMTLOG"
DMTLOGNAME = "DMTLG_C01"
c02 GWGRP = bankg2
TYPE = OSITP
ACCESSPOINTID = "BA.CENTRAL01"
DMTLOGDEV = "/usr/apps/bank/DMTLOG"
DMTLOGNAME = "DMTLG_C02"
NWDEVICE = "OSITP"
URCH = "ABCD"
#
*DM_REMOTE
#remote_domain_name domain_type domain_ID
#
b01 TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK01"
b02 TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK02"
b03 TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK03"
b04 TYPE = OSITP
ACCESSPOINTID = "BA.BANK04"
URCH = "ABCD"
#
*DM_TDOMAIN
#
#local_or_remote_domain_name
network_address
[
nwdevice
]
#
# ローカル ネットワーク アドレス
c01 NWADDR = "//newyork.acme.com:65432" NWDEVICE ="/dev/tcp"
c02 NWADDR = "//192.76.7.47:65433" NWDEVICE ="/dev/tcp"
# リモート ネットワーク アドレス。2 つ目の b01 はミラーリングしたゲートウェイを示す
b01 NWADDR = "//192.11.109.5:1025" NWDEVICE = "/dev/tcp"
b01 NWADDR = "//194.12.110.5:1025" NWDEVICE = "/dev/tcp"
b02 NWADDR = "//dallas.acme.com:65432" NWDEVICE = "/dev/tcp"
b03 NWADDR = "//192.11.109.156:4244" NWDEVICE = "/dev/tcp"
#
*DM_OSITP
#
#local_or_remote_domain_name
apt
aeq
# [
aet
] [
acn
] [
apid
] [
aeid
]
# [profile
]
#
c02 APT = "BA.CENTRAL01"
AEQ = "TUXEDO.R.4.2.1"
AET = "{1.3.15.0.3},{1}"
ACN = "XATMI"
b04 APT = "BA.BANK04"
AEQ = "TUXEDO.R.4.2.1"
AET = "{1.3.15.0.4},{1}"
ACN = "XATMI"
*DM_EXPORT
#service_name
[
Local_Domain_name
] [
access_control
] [
exported_svcname
]
# [inbuftype
] [
outbuftype
]
#
open_act ACL = branch
close_act ACL = branch
credit
debit
balance
loan LACCESSPOINT = c02 ACL = loans
*DM_IMPORT
#service_name
[
Remote_domain_name
] [
local_domain_name
]
# [remote_svcname
] [
routing
] [
conv
]
# [trantime
] [
inbuftype
] [
outbuftype
]
#
tlr_add LACCESSPOINT = c01 ROUTING = ACCOUNT
tlr_bal LACCESSPOINT = c01 ROUTING = ACCOUNT
tlr_add RACCESSPOINT = b04 LACCESSPOINT = c02 RNAME ="TPSU002"
tlr_bal RACCESSPOINT = b04 LACCESSPOINT = c02 RNAME ="TPSU003"
*DM_ROUTING
#routing_criteria
field
typed_buffer
ranges
#
acl_name
ACCOUNT FIELD = branchid BUFTYPE ="VIEW:account"
RANGES ="MIN - 1000:b01, 1001-3000:b02, *:b03"
*DM_ACCESS_CONTROL
#
Remote_domain_list
#
branch ACLIST = b01, b02, b03
loans ACLIST = b04
![]() ![]() ![]() |