ユーザーズ・ガイド

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

Oracle Tuxedo Mainframe Adapter for OSI TPの構成

Oracle Tuxedo Mainframe Adapter for OSI TPのインストール後は、ソフトウェアを構成する必要があります。適切なTMA OSI TPの構成により、ゲートウェイ構成が設定されます。

この項では、以下の内容について説明します。

 


構成の前提条件

 TMA OSI TP製品ソフトウェアをインストールし、テキスト・エディタにアクセス可能にする必要があります。installディレクトリにアクセスし、サンプルDMCONFIGファイルを変更するためのファイル権限が必要です。

また、構成手順を完了するため、次の前提条件を満たしている必要があります。

 


環境変数を設定する

システム・コマンドを起動するには、複数のシステム環境変数を設定する必要があります。次の表は、設定する必要のある4つの変数を示します。Oracle Tuxedo Mainframe Adapter for OSI TPで必須の環境変数の大部分は、Tuxedoの設定時に設定されます。Tuxedo環境変数の設定の詳細は、ご使用のTuxedoドキュメントを参照してください。

表4-1 システム環境変数
変数
省略可能/
必須
デフォルト値
説明
OSIRUNDIR
必須
なし
TMA OSI TPランタイム・ファイルの場所を示します。
GW_DFLT_TRANTIME
省略可能
300秒
サーバーのデフォルトのトランザクション時間です。値は秒単位です。
GW_POLLING_INTERVAL
省略可能
300秒
リクエストに対するサービスの内部ポーリング時間です。値は秒単位であり、有効範囲は10から10,000秒です。
GW_TIMER_INTERVAL
省略可能
300
(3秒)
グローバル・トランザクション・リクエストの内部タイマーです。値は1/100秒単位であり、有効な値は100から1000(1から10秒)です。

ゲートウェイを起動またはosiadminユーティリティを実行するには、OSIRUNDIRを設定する必要があります。ゲートウェイの起動前にOSIRUNDIR環境変数を設定していない場合、OSIRUNDIRを設定するようメッセージが表示されます。この環境変数により、TMAゲートウェイがランタイム・ファイルに使用するパスが指定されます。OSIRUNDIR環境変数は、スクリプト、コマンド・ライン入力、またはコントロール・ パネルのWindowsシステム・プロパティから設定できます。 変数の値には使用しているオペレーティング・システムに適したパスとディレクトリが含まれます。ディレクトリがない場合は、システムによって作成されます。

サーバーのデフォルトのトランザクション時間は、GW_DFLT_TRANTIMEと呼ばれるオプションの環境変数によって起動時に決定されます。この変数を設定していない場合、デフォルト値は5分(300秒)です。この環境変数は、起動時に別の値に設定できますが、値がLONGの許容最大値を超過すると300にリセットされ、LIBGWO_CAT msg 2204ULOGに送信され、最大値を超えたことが通知されます。

注意: LONGの最大値は2147483647です。

 


ゲートウェイ構成の定義

新規ゲートウェイ構成の定義、および既存構成の変更のプロセスは類似しています。ゲートウェイ構成の定義では、次のステップを実行する必要があります。

  1. TuxedoのTMA OSI TPサーバーを定義し、Oracle TMAシステムでゲートウェイ・サーバーが認識されるようにします。詳細は、「Oracle TuxedoのTMA OSI TPサーバーの定義」を参照してください。
  2. eLink OSI TP 1.3からアップグレードする場合はosiadminプロセッサを実行します。詳細は、「OSI TP管理ユーティリティの使用」を参照してください。
  3. ゲートウェイを定義するため、どのパラメータ情報を追加または変更する必要があるかを決定します。詳細は、「DMCONFIGファイルの理解」を参照してください。
  4. OSI TP固有表を調整する必要がある場合は、OSI TP TAILORファイルを編集します。詳細は、「OSI TP固有表のTAILORファイルとの調整」を参照してください。
  5. DMCONFIGファイルを作成するか、新規ゲートウェイ情報で編集します。詳細は、「Native-Aエンコーディングの実装」および「DMCONFIGファイルの理解」を参照してください。
  6. dmloadcfユーティリティを実行し、dmconfigファイルのバイナリ・バージョンを生成します。詳細は、「dmloadcfユーティリティによる構成ファイルの処理」を参照してください。

これらのステップの実行を完了すると、Tuxedo tmbootコマンドによってゲートウェイを開始することができます。Tuxedoコマンドの詳細は、Oracle Tuxedoオンライン・ドキュメントを参照してください。

 


Oracle Tuxedo用のTMA OSI TPサーバーの定義

ゲートウェイ構成を設定するには、Oracle Tuxedoシステムでゲートウェイ・サーバー、DMADMGWADMおよびGWOSITPが認識されている必要があります。UBBCONFIGファイルを編集し、Oracle Tuxedoシステムに対するTMA OSI TP管理サーバーおよびゲートウェイ・サーバーを定義します。

次のステップを実行し、Oracle Tuxedo用のTMA OSI TPサーバーを定義します。

  1. UBBCONFIGファイルのGROUPSセクションで、以下の形式を使用してサーバー・グループを追加します。
  2. OSIGRP  GRPNO=1  LMID=SITE1
    注意: OSIGRPは例として使用されます。グループには任意の名前を付けられます。
  3. UBBCONFIGファイルのSERVERSセクションで、DMADM、GWADMおよびGWOSITPの3つのサーバー名を追加します。
  4. 注意: DMADMおよびGWADMのエントリは、UBBCONFIGファイルでGWOSITPにこの順で配置し、管理サーバーがGWOSITPゲートウェイ・サーバーより前にロードされるようにします。
    注意: 失敗した際にゲートウェイが自動的に再起動するように、SERVERSセクションのRESTARTパラメータをYに設定することをお薦めします。

UBBCONFIGファイルの例

次のファイルは、Oracle Tuxedoシステムへのゲートウェイ・サーバーを定義するサンプルUBBCONFIGを示します。

リスト4-1 UBBCONFIGファイルの例
#-----------------------------------
# TMA OSI TP Test; Client ubbconfig
#-----------------------------------

*RESOURCES
#---------------
# Replace IPCKEY
#---------------
IPCKEY 52029
MASTER SITE1
DOMAINID FRONTEND
PERM 0660
MAXACCESSERS 40
MAXSERVERS 80
MAXSERVICES 80
MAXCONV 120
MODEL SHM
LDBAL Y
MAXGTT 120
MAXBUFTYPE 16
MAXBUFSTYPE 32
SCANUNIT 5
SANITYSCAN 10
DBBLWAIT 5
BBLQUERY 50
BLOCKTIME 15

*MACHINES
#---------------------
# Replace machine name
#---------------------
DALNT45 LMID=SITE1
#------------------------------
# Replace directories as needed
#------------------------------
TUXDIR="c:\tuxedo"
APPDIR="D:\dwh\base\ositp\test\client"
TUXCONFIG="D:\dwh\base\ositp\test\client\tuxconfig"
TLOGDEVICE="D:\dwh\base\ositp\test\client\TLOG"
TLOGNAME="TLOG"

*GROUPS
OSIGRP2 GRPNO=2 LMID=SITE1
OSIGRP3 GRPNO=3 LMID=SITE1 TMSNAME="TMS" TMSCOUNT=2

*SERVERS
DEFAULT: RESTART=Y
DMADM SRVID=101 SRVGRP=OSIGRP2 CLOPT="-A" REPLYQ=N
GWADM SRVID=103 SRVGRP=OSIGRP2 CLOPT="-A"" REPLYQ=N
GWOSITP SRVID=104 SRVGRP=OSIGRP2 CLOPT="-A" GRACE=0" REPLYQ=N
CRPCSERV SRVID=8 SRVGRP=OSIGRP3 CLOPT="-A" RQADDR="rpcq"
CCONVSRV SRVID=9 SRVGRP=OSIGRP3 CLOPT="-A" RQADDR="convq "CONV=Y
MIN=3 MAX=5

*SERVICES
DEFAULT: LOAD=50 AUTOTRAN=N
CTOUPPER PRIO=50
CCONVRTN PRIO=50
CCONVRTN2 PRIO=50
CCONVRTN3 PRIO=50
CTOUPPER2 PRIO=50

UBBCONFIGファイルの詳細は、Oracle Tuxedoリファレンス・マニュアルを参照してください。

複数のゲートウェイ構成の例

以下は、同一物理システム上にある複数ゲートウェイ・システムのサンプルUBBCONFIGファイルおよび対応するDMCONFIGファイルです。複数ゲートウェイでは、UBBCONFIGファイルでのLDBAL=Yの使用は必須ではありません。複数ゲートウェイについては、自動的にロード・バランシングされます。

リスト4-2 複数ゲートウェイ用UBBCONFIG
*RESOURCES
IPCKEY 65952
MASTER “SITE1”
MODEL SHM
PERM 0660
LDBAL N # not needed for gateway load balancing
MAXACCESSERS 40
MAXSERVERS 80
MAXSERVICES 80
MAXGTT 120
SCANUNIT 5
SANITYSCAN 10
BLOCKTIME 15
MAXCONV 120

*MACHINES
“SITE1” LMID=”SITE1”

TUXCONFIG=”D:\tuxedo\configs\TUXCONFIG”
TUXDIR=”D:\tuxedo”
APPDIR=”D:\tuxedo\apps”
TLOGDEVICE="D:\tuxedo\log\TLOG"
ULOGPFX="D:\tuxedo\log\ULOG"
TLOGNAME=TLOG
TLOGSIZE=20
TYPE="SITE1"
*GROUPS

GROUP1 LMID="SITE1"
GRPNO=1
GROUP2 LMID="SITE1"
GRPNO=2

DMGRP LMID="SITE1"
GRPNO=3

*SERVERS

DEFAULT: RQPERM=0666
RPPERM=0666
MIN=1
MAX=1
CONV=N
MAXGEN=1
GRACE=86400
RESTART=Y
SYSTEM_ACCESS=FASTPATH


DMADM SRVGRP=DMGRP
SRVID=20
CLOPT="-A"
RESTART=Y
MAXGEN=2
REPLYQ=N

GWADM SRVGRP=GROUP1
SRVID=21
CLOPT="-A"
RESTART=Y
MAXGEN=2
REPLYQ=N

GWOSITP SRVGRP=GROUP1
SRVID=22
CLOPT="-A"
RESTART=Y
MAXGEN=2
REPLYQ=N

GWADM SRVGRP=GROUP2
SRVID=23
CLOPT="-A"
RESTART=Y
MAXGEN=2
REPLYQ=N

GWOSITP SRVGRP=GROUP2
SRVID=24
CLOPT="-A"
RESTART=Y
MAXGEN=2
REPLYQ=N

*SERVICES

DEFAULT: LOAD=50 AUTOTRAN=N
リスト4-3 複数ゲートウェイ用DMCONFIGファイル
*DM_RESOURCES
VERSION="SITE1"
#
*DM_LOCAL_DOMAINS

"GW-1"
GWGRP = GROUP1
TYPE = OSITPX
DOMAINID = "GW-1"
BLOCKTIME = 30
DMTLOGDEV = "D:\tuxedo\log\DMLOG"

"GW-2"
GWGRP = GROUP2
TYPE = OSITPX
DOMAINID = "GW-2"
BLOCKTIME = 30
DMTLOGDEV = "D:\tuxedo\log\DMLOG2"

###############################################################
*DM_REMOTE_DOMAINS

DEFAULT:

"OPENTI" TYPE="OSITPX" DOMAINID="OPENTI"

###############################################################
*DM_OSITPX

"GW-1"
AET="{1.3.145.62.103},{2}"
TAILOR_PATH="d:\tuxedo\configs\tailor.txt"
# Inserted from OSITP's config file:
NWADDR="//SITE1:102"

"GW-2"
AET="{1.3.145.62.103},{3}"
TAILOR_PATH="d:\tuxedo\configs\tailor2.txt"
# Inserted from OSITP's config file:
NWADDR="//SITE1:2000" #second gateway must use another
#IP or different port number

"OPENTI"
AET="{1.3.122.61.203},{20}"
NWADDR="122.61.203.20"


*DM_LOCAL_SERVICES


*DM_REMOTE_SERVICES
DEFAULT: TRANTIME=300
# Tuxedo will alternate outgoing calls between the two LDOMs.

callSvc2 RDOM="OPENTI" LDOM="GW-1" PRIO=66
callSvc2 RDOM="OPENTI" LDOM="GW-2" PRIO=66

次の例では、リスト4-2と同一のUBBCONFIGファイルを使用し、多重化されていないパスをサポートするLDOM、および多重化パスをサポートするLDOMを構成する方法を示しています。

リスト4-4 多重化接続および非多重化接続用のDMCONFIGファイル
*DM_RESOURCES
VERSION="SITE1"
#
*DM_LOCAL_DOMAINS

"GW-1"
GWGRP = GROUP1
TYPE = OSITPX
DOMAINID = "GW-1"
BLOCKTIME = 30
DMTLOGDEV = "D:\tuxedo\log\DMLOG"

"GW-2"
GWGRP = GROUP2
TYPE = OSITPX
DOMAINID = "GW-2"
BLOCKTIME = 30
DMTLOGDEV = "D:\tuxedo\log\DMLOG2"

###############################################################
*DM_REMOTE_DOMAINS

DEFAULT:

"OPENTI" TYPE="OSITPX" DOMAINID="OPENTI"
"dal2200" TYPE="OSITPX" DOMAINID="dal2200"

###############################################################
*DM_OSITPX

"GW-1"
AET="{1.3.145.62.103},{2}"
TAILOR_PATH="d:\tuxedo\configs\tailor.txt"
# Inserted from OSITP's config file:
NWADDR="//SITE1:102"

"GW-2"
AET="{1.3.145.62.103},{3}"
TAILOR_PATH="d:\tuxedo\configs\tailor2.txt"
# Inserted from OSITP's config file:
NWADDR="//SITE1:2000" #second gateway must use another
#IP or different port number
EXTENSIONS="MULTIPLEX_POLICY=DEMAND"

"OPENTI"
AET="{1.3.122.61.203},{20}"
NWADDR="122.61.203.20:2003"
EXTENSIONS="MULTIPLEX=Y"

"dal2200"
AET="{1.3.132.61.46},{3}"
XATMI_ENCODING="OLTP_TM2200"
NWADDR="132.61.46.3;132.61.147.1" #redundant IP addresses
T_SEL="OSITP"



*DM_LOCAL_SERVICES


*DM_REMOTE_SERVICES
DEFAULT: TRANTIME=300
# Tuxedo will alternate outgoing calls between the two LDOMs.

CallSvc1 RDOM="dal2200" LDOM="GW-1" PRIO=66
callSvc2 RDOM="OPENTI" LDOM="GW-2" PRIO=66

TMA OSI TPゲートウェイでのTuxedo MPモデルの使用

Tuxedo MPモデルは、2つのTMA OSI TPシステムを同一ドメインに配置する必要がある場合に、グローバル・メモリーのないマルチプロセッサ、またはネットワーク・アプリケーション用に使用すると便利です。(MODELパラメータの詳細は、Oracle Tuxedoドキュメントを参照してください。)この設定の実際の例としては、Windows NTクラスタの設定があります。TMA OSI TPゲートウェイでは、NTクラスタ上のactive-activeフェイルオーバーをサポートします。MPモデルのケースでは、クラスタリングの場合に2つの一意のノードがあり、1つはマスターとして、もう1つはスレーブ、またはバックアップ・システムとして定義されます。マスター・ノードには、1つのUBBCONFIGおよび1つのDMCONFIGが物理的に存在します。TMBOOTの際には、TUXCONFIGのコピーがスレーブまたはバックアップ・システムに伝播されます。

リスト4-5 MPモデル用のUBBCONFIGファイル
UBBCONFIG

*RESOURCES
IPCKEY 65952
MASTER SITE1,SITE2
MODEL MP
OPTIONS LAN
PERM 0660
LDBAL N # not needed for gateway load balancing
MAXACCESSERS 40
MAXSERVERS 80
MAXSERVICES 80
MAXGTT 120
SCANUNIT 5
SANITYSCAN 10
BLOCKTIME 15
MAXCONV 120


*MACHINES
"SITE1" LMID="SITE1"
TUXCONFIG="D:\tuxedo\configs\TUXCONFIG"
TUXDIR="D:\tuxedo"
APPDIR="D:\tuxedo\apps"
TLOGDEVICE="D:\tuxedo\log\TLOG"
ULOGPFX="D:\tuxedo\log\ULOG"
TLOGNAME=TLOG
TLOGSIZE=20
TYPE="INTEL"

"SITE2" LMID="SITE2"
TUXCONFIG="D:\tuxedo\configs\TUXCONFIG"
TUXDIR="D:\tuxedo"
APPDIR="D:\tuxedo\apps"
TLOGDEVICE="D:\tuxedo\log\TLOG"
ULOGPFX="D:\tuxedo\log\ULOG"
TLOGNAME=TLOG
TLOGSIZE=20
TYPE="INTEL"


*GROUPS
GROUP1 LMID="SITE1"
GRPNO=1
GROUP2 LMID="SITE2"
GRPNO=2
DMGRP LMID="SITE1"
GRPNO=3


*NETWORK
SITE1 NADDR="/SITE1:5020"
NLSADDR="//SITE1:5021"
SITE2 NADDR="//SITE2:5020"
NLSADDR="//SITE2:5021"


*SERVERS
DEFAULT: RQPERM=0666
REPLYQ=Y
RPPERM=0666
MIN=1
MAX=1
CONV=N
MAXGEN=1
GRACE=86400
RESTART=N
SYSTEM_ACCESS=FASTPATH


DMADM SRVGRP=DMGRP
SRVID=20
CLOPT="-A"
RESTART=Y
MAXGEN=2
REPLYQ=N

GWADM SRVGRP=GROUP1
SRVID=22
CLOPT="-A"
RESTART=Y
MAXGEN=2
REPLYQ=N

GWOSITP SRVGRP=GROUP1
SRVID=23
CLOPT="-A"
RESTART=Y
MAXGEN=2
REPLYQ=N

GWADM SRVGRP=GROUP2
SRVID=24
CLOPT="-A"
RESTART=Y
MAXGEN=2
REPLYQ=N

GWOSITP SRVGRP=GROUP2
SRVID=25
CLOPT="-A"
RESTART=Y
MAXGEN=2
REPLYQ=N

*SERVICES
DEFAULT: LOAD=50 AUTOTRAN=N
リスト4-6 MPモデル用のDMCONFIGファイル
DMCONFIG

*DM_RESOURCES
VERSION="SITE1"
#
*DM_LOCAL_DOMAINS

"GW-1"
GWGRP = GROUP1
TYPE = OSITPX
DOMAINID = "GW-1"
BLOCKTIME = 30
DMTLOGDEV = "D:\tuxedo\log\DMLOG1"
DMTLOGNAME = "DMLOG"

"GW-2"
GWGRP = GROUP2
TYPE = OSITPX
DOMAINID = "GW-2"
BLOCKTIME = 30
DMTLOGDEV = "D:\tuxedo\log\DMLOG2"
DMTLOGNAME = "DMLOG"

###############################################################
*DM_REMOTE_DOMAINS

DEFAULT:

"OPENTI" TYPE="OSITPX" DOMAINID="OPENTI"

###############################################################
*DM_OSITPX

"GW-1"
AET="{1.3.145.62.103},{2}"
TAILOR_PATH="d:\tuxedo\configs\tailor1.txt"
# Inserted from OSITPX's config file:
NWADDR="//SITE1:102"

"GW-2"
AET="{1.3.145.62.103},{3}"
TAILOR_PATH="d:\tuxedo\configs\tailor2.txt"
# Inserted from OSITPX's config file:
NWADDR="//SITE2:102" # second gateway must use
# another IP or different
# port number

"OPENTI"
AET="{1.3.122.61.203},{20}"
NWADDR="122.61.203.20"


########################################################################*DM_LOCAL_SERVICES


###############################################################
*DM_REMOTE_SERVICES
DEFAULT: TRANTIME=300
# Each system will service different applications.

callSvc2 RDOM="OPENTI" LDOM="GW-1" PRIO=66
callSvc3 RDOM="OPENTI" LDOM="GW-2" PRIO=66

他のTuxedoシステムへのパススルーとしてのTMA OSI TPの使用

この例では、TMA OSI TPゲートウェイはパススルーとして動作し、別のTuxedoシステム上のサービスへのアクセスを可能にします。TMA OSI TPゲートウェイはリモートOLTPシステムからのサービス・リクエストを受け取り、/TDOMAINSゲートウェイを介してリモートTuxedoシステムへ転送します。システムは次のとおりです。

図4-1 別のTuxedoシステムへのパススルーとして動作するTMA OSI TPの例

別のTuxedoシステムへのパススルーとして動作するTMA OSI TPの例

リスト4-7はパススルー構成のサンプルのUBBCONFIGファイルを示し、リスト4-8は対応するDMCONFIGファイルを示します。

リスト4-7 パススルー構成用のサンプルUBBCONFIGファイル
*RESOURCES
IPCKEY 65952
MASTER "SITE1"
MODEL SHM
PERM 0777

*MACHINES
"SITE1" LMID="SITE1"

TUXCONFIG="D:\tuxedo\appdir\TUXCONFIG"
TUXDIR="D:\tuxedo"
APPDIR="D:\tuxedo\appdir"
TLOGDEVICE="D:\tuxedo\log\TLOG"
ULOGPFX="D:\tuxedo\log\ULOG"
TLOGNAME=TLOG
TLOGSIZE=20
TYPE="SITE1"
*GROUPS

ADMGRP LMID="SITE1"
GRPNO=1

OSIGRP LMID="SITE1"
GRPNO=2

TDOMGRP LMID="SITE1"
GRPNO=3
OPENINFO=NONE

*SERVERS

DEFAULT: RQPERM=0666
RPPERM=0666
MIN=1
MAX=1
CONV=N
MAXGEN=1
GRACE=86400
RESTART=N
SYSTEM_ACCESS=FASTPATH

DMADM SRVGRP=ADMGRP
SRVID=20
CLOPT="-A"
RESTART=N
REPLYQ=N

GWADM SRVGRP=OSIGRP
SRVID=21
CLOPT="-A"
RESTART=N
REPLYQ=N

GWOSITP SRVGRP=OSIGRP
SRVID=22
CLOPT="-A"
RESTART=Y
REPLYQ=N

GWADM SRVGRP=TDOMGRP
SRVID=51
CONV=N
CLOPT="-A"
REPLYQ=N
RESTART=N

GWTDOMAIN SRVGRP=TDOMGRP
SRVID=52
CLOPT="-A"
REPLYQ=N
RESTART=Y
*SERVICES

DEFAULT: LOAD=50 AUTOTRAN=N
リスト4-8 パススルー構成用のサンプルDMCONFIGファイル
*DM_RESOURCES
VERSION="SITE1"
#
*DM_LOCAL_DOMAINS

# SECURITY=NONE

"osi-local"
GWGRP = OSIGRP
TYPE = OSITPX
DOMAINID = "local"
BLOCKTIME = 2000
AUDITLOG = "D:\tuxedo\log\AUDIT"
DMTLOGDEV = "D:\tuxedo\log\DMLOG"
DMTLOGSIZE = 2048
DMTLOGNAME = "DMLOG"

"td-local" GWGRP=TDOMGRP
TYPE=TDOMAIN
DOMAINID="td-local"
DMTLOGDEV="D:\tuxedo\log\TDMLOG"


###############################################################
*DM_REMOTE_DOMAINS

DEFAULT:

"osi-client" TYPE=OSITPX DOMAINID="osi-client"
"td-backend" TYPE=TDOMAIN DOMAINID="td-tpaix1"

###############################################################
*DM_TDOMAIN

"td-local" NWADDR="192.63.22.2:5000"
"td-backend" NWADDR="192.63.24.74:5000"
###############################################################
*DM_OSITPX

"osi-local"
AET="{1.3.192.63.22},{2}"
TAILOR_PATH="d:\tuxedo\configs\tailor.txt"

# the NWADDR for OSI TP may have the same IP as /TDOMAINS, but
# requires a different port number
NWADDR="192.63.22.2:102"

"osi-client"
AET="{1.3.192.23.2},{3}"
NWADDR="192.23.2.3"
T_SEL="OSITP"

###############################################################
*DM_LOCAL_SERVICES
# define the incoming services here, even though they reside on
# some remote /TDOMAIN machine. Include views also on this machine
# for TMA OSI TP to process incoming messages

callSvc1

###############################################################
*DM_REMOTE_SERVICES
DEFAULT:

# define the actual remote service request here. It will be
# routed by /TDOMAINS

callSvc1 RDOM="td-backend" LDOM="td-local" RNAME="callSvc1"

バックエンド/TDOMAINシステム上のサービスは、TMA OSI TPシステム上のローカル・サービスとして定義し、TMA OSI TPで着信リクエストを処理できるようにする必要があります。また、リモート・サービスとして定義し、/TDOMAIN ゲートウェイでそのサービス・リクエストがバックエンド/TDOMAINシステムに渡されるようにする必要があります。ゲートウェイ・システムには、サービスがバックエンド・システムにある場合でも、そのサービスで必要なVIEWファイル、および対応する環境変数が使用可能である必要があります。

 


セキュリティの設定

Oracle TMA OSI TPでは、次のタイプのセキュリティをサポートしています。

Oracle Tuxedo UBBCONFIGおよびTMA OSI TP DMCONFIGファイルには、実装するセキュリティ・タイプに対してセキュリティ・パラメータを指定するための5つのセクションがあります。

次の図に、TMA OSI TPのセキュリティ要素間の関係を示します。

図4-2 TMA OSI TPセキュリティ要素

TMA OSI TPセキュリティ要素

リンク・レイヤー・セキュリティの有効化

セキュリティを有効にするには、ローカルおよびリモート・ドメインでセキュリティをサポートする必要があります。リンク・レイヤー・セキュリティ(LLS)については、管理者は*LOCAL_DOMAINSセクションのSECURITYDM_PWとして定義し、DM_OSITPXセクションのOPTIONSパラメータをSECURITY_SUPPORTEDに設定する必要があります。ローカルおよびリモートのドメイン・パスワードは、管理者がdmadminコマンドpasswdを使用して設定します。

リンク・レイヤー・セキュリティをローカル・ドメインおよびリモート・ドメインに定義する場合は、常にdmadminで入力したpasswdが秘密鍵でハッシュされます。ハッシュ値および秘密鍵はリモート・ドメインに送信され、リモート・システムのハッシュpasswdと比較されます。これはリモート・ドメインとの接続を保護するためのチャレンジ・レスポンスのメカニズムです。

DMCONFIGファイルの3つのセクションには、TMA OSI TPによるローカルTuxedoドメインへのアクセス制御に影響するパラメータが含まれます。

警告: Tuxedo BDMCONFIGファイルは削除しないでください。ファイルを削除するとDM_PW情報が失われます。新規パスワードを入力する場合、パスワードを有効にするにはGWOSITPサービスを停止し、再起動する必要があります。

Tuxedoセキュリティの詳細は、「Tuxedo認証の有効化」を参照してください。

次のサンプルでは、リンク・レイヤー・セキュリティを確立するための必須パラメータを定義するDMCONFIGファイルを示します。

リスト4-9 リンク・レイヤー・セキュリティ確立用のサンプルDMCONFIGファイル
#------------------------------------
# TMA OSI TP test; Client dmconfig
#-------------------------------------
#
*DM_LOCAL_DOMAINS
dalnt8
GWGRP=G3
TYPE=OSITPX
DOMAINID="dalnt8"
BLOCKTIME=30
MAXDATALEN=56
DMTLOGDEV="D:\tuxedo\log\DMLOG"
SECURITY=DM_PW # turns link layer security on
DMTLOGNAME="DMLOG"
###############################################################
*DM_REMOTE_DOMAINS
dal2200 TYPE=OSITPX DOMAINID=dal2200 ACL_POLICY=GLOBAL
openti TYPE=OSITPX DOMAINID=openti ACL_POLICY=GLOBAL
icl2 TYPE=OSITPX DOMAINID=icl2
aseries TYPE=OSITPX DOMAINID="aseries1" ACL_POLICY=LOCAL
LOCAL_PRINCIPAL_NAME="MYNAME’

*DM_OSITPX

dalnt8
AET="{1.3.132.61.146},{3}"
TAILOR_PATH="D:\tuxedo\configs\tailor.txt"
NWADDR="//dalnt8:102"
DNS_RESOLUTION=STARTUP # This is the default

# Remote domain dal2200 supports security
dal2200
AET="{1.3.132.61.46},{3}"
XATMI_ENCODING="OLTP_TM2200"
NWADDR="132.61.146.3"
T_SEL="OSITP"
OPTIONS=SECURITY_SUPPORTED

# Remote domain openti supports security
openti
AET="{1.3.122.62.103},{209}"
NWADDR="122.62.103.209:2001"
OPTIONS=SECURITY_SUPPORTED

# Remote domain icl12 does not support security
icl2
AET="{1.3.142.60.203},{4}"
NWADDR="142.60.203.4"
T_SEL="ICLTP"
S_SEL="SSEL"
P_SEL="PSEL"

# Remote domain aseries1 does not support security
# DOMAINID "aseries1" shall be used as LOCALPRINCIPAL NAME
aseries1
AET="{1.3.123.55.222},{51}"
NWADDR="123.55.222.51"
XATMI_ENCODING="PRELIMINARY"
T_SEL="0x5453"
S_SEL="0x3F5C3F"

*DM_LOCAL_SERVICES
TOUPPERF
INRECTYPE="VIEW:V10"
OUTBUFTYPE="FML:"
COUPLING=LOOSE

TOUPPERF32
INRECTYPE="VIEW:V10"
OUTBUFTYPE="FML32:"
COUPLING=TIGHT
TOUPPERV
INBUFTYPE="X_C_TYPE:V10"
INRECTYPE="VIEW:upper"
COUPLING=LOOSE

TOUPPERC
INCRECTYPE="X_OCTET"
COUPLING-TIGHT

TOUPPERS
OUTRECTYPE="X_OCTET"
OUTBUFTYPE="STRING"
INRECTYPE="X_OCTET"

TOUPPERX
OUTRECTYPE="STRING"
OUTBUFTYPE="STRING"
INRECTYPE="X_OCTET"
*DM_REMOTE_SERVICES
DEFAULT: TRANTIME=300

ECHOXOCT RNAME="ECHOSRVR"
OUTBUFTYPE="X_COMMON:ECHOVIEW"
RDOM=dal2200
LDOM=dalnt8

ECHOXCOM RNAME="ECHOSRVR"
RDOM=openti
LDOM=dalnt8
AUTOPREPARE=Y

ECHOTYPE
RNAME="ECHOSRVR"
INBUFTYPE="X_C_TYPE:ECHOVIEW"
INRECTYPE="X_C_TYPE:ECHOVIEW"
OUTBUFTYPE="X_C_TYPE:ECHOVIEW"
OUTRECTYPE="X_C_TYPE:ECHOVIEW"

ECHOVIEW
RNAME="ECHOSRVR"
INBUFTYPE="VIEW:ECHOVIEW"
INRECTYPE="X_COMMON:ECHOVIEW"
OUTBUFTYPE="VIEW:ECHOVIEW"
OUTRECTYPE="X_COMMON:ECHOVIEW"
RDOM=icl2
LDOM=dalnt8
TPSUT_TYPE= "PRINTABLESTRING"
REM_TPSUT="tpmvs"

Tuxedo認証の有効化

Oracle TMA OSI TPゲートウェイでは、クライアント側(Tuxedoクライアント用)とサーバー側の両方でのTuxedo認証および認可がサポートされています。クライアント側の認証と認可は、/Tドメインと同様に機能します。サーバー側の認証と認可では、前述のリンク・レイヤー・セキュリティが必要であり、サービス・コールに関連するLOCAL DOMAINおよびREMOTE DOMAINの両方に対して設定されます。

サーバー側ドメインでユーザー認証を実行するには、サーバーのローカル・ドメイン*RESOURCEセクションに定義されているSECURITYパラメータを「APP_PW」、「USER_AUTH」、「ACL」または「MANDATORY_ACL」のいずれかに設定する必要があります。

SECURITYが「APP_PW」または「USER_AUTH」に設定されている場合、ユーザー認証が実行されます。コールが発行されるリモート・ドメインのACL_POLICYLOCALと定義されている場合、認証用のユーザーIDは、定義済であればリモート・ドメインのLOCAL_PRINCIPAL_NAMEになります。LOCAL_PRINCIPAL_NAMEが定義されていない場合、ユーザーIDはリモート・ドメインのDOMAINIDになります。コールが発行されるリモート・ドメインのACL_POLICYGLOBALと定義されている場合、コールで渡されるユーザーIDがユーザー認証に使用されます。このユーザーIDはtpusrファイルで定義されているユーザーIDに対して認証されます。

SECURITYが「ACL」に設定されている場合、「APP_PW」および「USER_AUTH」の定義と同様に、ユーザー認証が実行されます。コールでリクエストされているサービスのユーザー認可も実行されます。ACL認可では、ACLサービス・リストにサービスが定義されており、ユーザーがこのサービスにアクセス可能なグループのメンバーである必要があります。サービスはtpacladdコマンドによってACLサービス・リストに追加されます。リクエストされたサービスがACLサービス・リストに追加されていない場合、このサービスにはすべてのユーザーがアクセスできます。

SECURITYが「MANDATORY_ACL」認証に設定されており、SECURITYが「ACL」の場合と同様に認可が実行される場合でも、リクエスト・サービスはACLサービスに定義されており、ユーザー・グループがこのサービスにアクセス可能である必要があります。

Tuxedoコマンドtpgrpaddtpusraddtpacladd、tpgrpmod、tpusrmod、tpaclmod、tpgrpdel、tpasrdeltpacldelの詳細は、Oracle Tuxedoオンライン・ドキュメント( http://www.oracle.com/bea/support.html)を参照してください。

次のサンプルでは、UBBCONFIGファイルを示します。この例では、リンク・レイヤー・セキュリティを確立するための必須パラメータを定義します。

リスト4-10 セキュリティがMANDATORY_ACLに設定されているサンプルUBBCONFIGファイル
#--------------------------------------------------
# TMA OSI TP test ubbconfig for servers
#--------------------------------------------------
*RESOURCES
#-------------
Chnage IPCKEY
#-------------
IPCKEY 52029
MASTER SITE1
DOMAINID FRONTEND
PERM 0660
MAXACCESSSERS 40
MAXSERVERS 80
MAXSERVICES 80
MAXCONV 120
MODEL SHM
LDBAL Y
MAXGTT 120
MAXBUFTYPE 16
MAXBUFSTYPE 32
SCANUNIT 5
SANITYSCAN 10
DBBLWAIT 5
BBLQUERY 50
BLOCKTIME 15
SECURITY MANDATORY_ACL
#
*MACHINES
#-------------
#Replace machine name
#-------------
DALNT45       LMID=SITE1
#-------------
# Replace directories as needed
#-------------
TUXDIR="c:\tuxedo"
APPDIR="c:\ositp/test
TUXCONFIG="c:\tuxedo/udataobj\tuxconfig"
TLOGDEVICE="c:\ositp\test\TLOG
TLOGNAME=TLOG

*GROUPS
OSIGRP2 GRPNO=2 LMID-SITE1 TMSNAME="TMS" TMSCOUNT=2
OSIGRP2 GRPNO=3 LMID=SITE1

*SERVERS
DEFAULT:RESTART=N REPLYQ=Y
DMADM SRVID=101 SRVGRP=OSIGRP3 CLOPT="-A" REPLYQ=N
GWADM SRVID=102 SRVGRP=OSIGRP3 CLOPT="-A" REPLYQ=N
GWOSITP SRVID=103 SRVGRP=OSIGRP3 CLOPT="-A" GRACE=0 REPLYQ=N
CRPCSERV SRVID=8 SRVGRP=OSIGRP3 CLOPT="-A" RQADDR="rpcq"
CCONSRV SRVID=9 SRVGRP=OSIGRP3 CLOPT="-A" RQADDR="convq"
CONV=Y

*SERVICES
DEFAULT LOAD=50 AUTOTRAN=n
CTOUPPER PRIO=50
CCONVRTN PRIO=50
CCONVRTN2 PRIO=50
CCONVRTN3 PRIO=50
CTOUPPER2 PRIO=50

次のサンプルでは、DMCONFIGファイルを示します。この例では、ユーザー認証と認可に必要なパラメータを定義します。

リスト4-11 LLS設定およびLOCALACL_POLICYを示すサンプルDMCONFIGファイル
#----------------------------------
TMA OSI TP Test; Client dmconfig
#----------------------------------
#
*DM_LOCAL DOMAINS
dalnt8
GWGRP=G3
TYPE=OSITPX
DOMAINID="dalnt8"
BLOCKTIME=30
MAXDATALEN=56
DMTLOGDEV="D:\tuxedo\log\DMLOG"
DMTLOGNAME="DMLOG"
SECURITY=DM_PW # turns link layer security on
################################################################
*DM_REMOTE_DOMAINS
DAL2200 TYPE=OSITPX DOMAINID=DAL2200 ACL_POLICY=LOCAL

openti TYPE=OSITPX DOMAINID=openti ACL_POLICY=GLOBAL

icl2 TYPE=OSITPX DOMAINID=icl2
aseries TYPE=OSITPX DOMAINID="aseries1"

*DM_OSITPX
dalnt8
AET="{1.3.132.61.146},{3}"
TAILOR_PATH="d:\tuxedo\configs\tailor.txt"
NWADDR="//dalnt8:102"
DNS_RESOLUTION=STARTUP # This is the default

# Remote domain dal2200 supports security
dal2200
AET="{1.3.132.61.47},{3}"
XATMI_ENCODING="OLTP_TM2200"
NWADDR="132.61.47.3"
T_SEL="OSITP"
OPTIONS=SECURITY_SUPPORTED
# Remote domain openti supports security
openti
AET="{1.3.122.62.103},{209}"
NWADDR="122.62.103.209:2001"
OPTIONS=SECURITY_SUPPORTED

# Remote domain icl2 does not support security
icl2
AET="{1.3.142.60.203},{4}"
NWADDR="142.60.203.4"
T_SEL="ICLTP"
S_SEL="SSEL"
P_SEL="PSEL"

# Remote domain aseries1 does not support security
aseries1
AET="{1.3.123.55.222},{51}"
NWADDR="123.55.222.51"
XATMI_ENCODING="PRELIMINARY"
T_SEL="0X5453"
S_SEL="0X3F5C3F"

*DM_LOCAL_SERVICES
TOUPPERF
INRECTYPE="VIEW:view10"
OUTBUFTYPE="FML:"
COUPLING=LOOSE

TOUPPERF32
INRECTYPE="VIEW:view10"
OUTBUFTYPE="fml32"
COUPLING=TIGHT

TOUPPERV
INBUFTYPE="X_C_TYPE:v10"
INRECTYPE="VIEW:upper"
COUPLING=LOOSE

TOUPPERC
INCRECTYPE="X_OCTET"
COUPLING=TIGHT

TOUPPERS
OUTRECTYPE="X_OCTET"
OUTBUFTYPE="STRING"
INRECTYPE="X_OCTET"

TOUPPERX
OUTRECTYPE="STRING"
OUTBUFTYPE="STRING"
INRECTYPE="X_OCTET"

*DM_REMOTE_SERVICES
DEFAULT: TRANTIME=300

ECHOXOCT
RNAME="ECHOSRVR"
OUTBUFTYPE="X_COMMON:ECHOVIOEW"
RDOM=dal2200
LDOM=dalnt8

ECHOXCOM
RNAME="ECHOSRVR"
RDOM=openti
LDOM=dalnt8
AUTOPREPARE=Y

ECHOTYPE
RNAME="ECHOSRVR"
INBUFTYPE="X_C_TYPE:ECHOVIEW"
INRECTYPE="X_C_TYPE:ECHOVIEW"
OUTBUFTYPE="X_C_TYPE:ECHOVIEW"
OUTRECTYPE="X_C_TYPE:ECHOVIEW"

ECHOVIEW
RNAME="ECHOSRVR"
INBUFTYPE="VIEW:ECHOVIEW"
INRECTYPE="X_COMMON:ECHOVIEW"
OUTBUFTYPE="VIEW:ECHOVIEW"
OUTRECTYPE="X_COMMON:ECHOVIEW"
RDOM=icl2
LDOM=dalnt8
TPSUT_TYPE="PRINTABLESTRING"
REM_TPSUT="tpmvs"

 


Native-Aエンコーディングの実装

TMA OSI TPのNative-Aエンコーディング機能により、TuxedoビューがUnisys MCPメインフレーム・システムにネイティブの形式に変換されます。この機能により、Unisys MCPメインフレーム・システムのエンコード/デコード処理の大部分がTuxedoシステムに移行されます。

XATMI_ENCODINGタイプの使用

現時点では、XATMIエンコーディングのタイプは、DMCONFIGファイルのDM_OSITPXセクションでXATMI_ENCODINGパラメータを使用して各RDOMに対して設定する必要があります。NATIVE_A_SERIESXATMI_ENCODINGキーワード値は、Tuxedoシステムで、Unisys MCPマシンではなく、Native MCP形式でのデータのエンコード/デコードを処理することを示します。

次の例は、DMCOMFIGファイルの*DM_OSITPXセクションを示します。

*DM_OSITPX
aseries1
AET="{1.3.123.55.22},{51}"
NWADDR="123.55.22.51"
XATMI_ENCODING="NATIVE_A_SERIES"
T_SEL="0x5453"
S_SEL="0x3F5C3F"

CODEPAGEパラメータの使用

DMCONFIGファイルのDM_REMOTE_DOMAINSセクションでは、RDOM文にオプションのCODEPAGEパラメータがあります。CODEPAGEパラメータを設定すると、TuxedoシステムおよびMCP(A-Series)システムの間の文字列翻訳に関連するコード・セットのペアが指定されます。XATMI_ENCODINGNATIVE_A_SERIESに設定されていない場合、CODEPAGEパラメータは無視されます。

構文は次のとおりです。

*DM_REMOTE_DOMAINS
...
rdom TYPE=OSITPX DOMAINID="domainid" CODEPAGE="cpname"

cpnameは次の表の大文字/小文字を区別するキーワードです。

表4-2 cpnameキーワード
cpnameキーワード
ISO文字セット
MCP文字セット
Tuxedo
ASCII
ASERIESEBCDIC
88591xL1EBC
ISO 8859-1(Latin-1)
Latin1EBCDIC
88592xL2EBC
ISO 8859-2(Latin-2)
Latin2EBCDIC
88599xL5EBC
ISO 8859-9(Latin-5)
Latin5EBCDIC
885915xL9EBC
ISO 8859-15(Latin-9)
Latin9EBCDIC
88595xLCYEBC
ISO 8859-5(ラテン語/キリル語)
LatinCyrillicEBC
88597xLGREBC
ISO 8859-7(ラテン語/ギリシャ語)
LatinGreekEBCDIC
88591xIBMSEBC
ISO 8859-1(Latin1)
IBMSwedenEBCDIC
AR20xAR20EBC
Arabic20ISO
Arabic20EBCDIC

VIEWファイル文字タイプのルール

XATMI_ENCODINGNATIVE_A_SERIESに設定されていない場合、文字列の変換は実行されません。XATMI_ENCODINGNATIVE_A_SERIESに設定されている場合、次のサブセクションに示すルールに従って変換が実行されます。

string型のルール

string型のすべてのビュー・フィールドは、TuxedoとNATIVE_A_SERIESエンコーディング機能の両方でNULLで終わっている必要があり、stringフィールドにはゼロ以外のバイト数、その後にNULL終了文字としてのゼロ・バイトが含まれます。

string型のすべてのビュー・フィールドは、TuxedoシステムからMCPシステムへ渡される際に、CODEPAGEパラメータで指定されているとおり、常にISO文字セットからMCP文字セットに変換されます。入力文字列はNULLで終わる必要があり、NULL終了文字の後のバイト文字は無視されます。Unisys MCPシステムに表示される文字列はNULLで終わり、フィールドの残りのスペースはゼロのバイト文字で埋められます。

逆に、string型のすべてのビュー・フィールドは、Unisys MCPシステムからTuxedoシステムへ渡される際に、CODEPAGEで指定されているとおり、常にMCP文字セットからISO文字セットに変換されます。入力文字列はNULLで終わる必要があり、NULL終了文字の後のバイト文字は無視されます。Tuxedoシステムに表示される文字列はNULLで終わり、フィールドの残りのスペースはゼロのバイト文字で埋められます。

carray型のルール

carray型のビュー・フィールドはNULLで終わる必要はありません。carrayフィールドにはゼロ以外のバイト数を含むことができ、ゼロ・バイトが検出された場合はNULL終了文字として扱われ、スキャンが停止します。

carray型のすべてのビュー・フィールドは、TuxedoシステムからUnisys MCPシステムへ渡される際に、CODEPAGEパラメータで指定されているとおり、常にISO文字セットからMCP文字セットに変換されます。入力文字列はNULLで終わっても終わらなくてもよく、NULL終了文字の後のバイト文字は無視されます。MCPシステムに表示される文字列はNULLで終わらず、フィールドの残りのスペースはEBCDIC空白文字(0x40バイト)で埋められます。

逆に、carray型のすべてのビュー・フィールドは、Unisys MCPシステムからTuxedoシステムへ渡される際に、CODEPAGEパラメータで指定されているとおり、常にMCP文字セットからISO文字セットに変換されます。入力文字列はNULLで終わっても終わらなくてもよく、NULL終了文字の後のバイト文字は無視されます。入力文字列がNULLで終わらない場合は、最後のEBCDIC空白文字(0x40バイト)は変換開始前に破棄されます。Tuxedoシステムに表示される文字列は、スペースがあればNULLで終わり、フィールドの残りのスペースはゼロのバイト文字で埋められます。

Native-A機能の使用を計画している既存ユーザーについては、carray型のフィールドが常に変換される点に注意する必要があります。変換しないバイナリ・データを転送する場合は、ビュー・フィールドの型をcarray型からchar型の配列に変更する必要があります。

char型のルール

char型のビュー・フィールドには、任意のバイナリ・データが含まれる場合があります。char型のビュー・フィールドは変換されません。

Native-A機能の使用を計画している既存ユーザーについては、char型のフィールドは変換されない点に注意する必要があります。char型のフィールドを変換する必要がある場合は、ビュー・フィールドの型をcharからcarrayに変更する必要があります。次の例を参照してください。

リスト4-12 charフィールドのcarrayへの変更の例
VIEW viewx
#
#type cname fbname count flag size null
#
int accountNum - 1 - - -
string firstName - 1 - 20 -
# Change middleInit from char to carray so it is translated
# char middleInit - 1 - - -
carray middleInit - 1 - 1 -
string laststName - 1 - 20 -
END

逆に、他のデータ型(carray)からchar型)に変更して変換を回避する場合もあります。次の例を参照してください。

リスト4-13 carrayフィールドのcharへの変更の例
VIEW viewy
#
#type cname fbname count flag size null
#
int accountNum - 1 - - -
string name - 1 - 50 -
#Change encryptKey from carray to char so it is not
#translated:
#carray encryptKey - 1 - 15 -
char encryptKey - 15 - - -
END

 


データ圧縮の有効化

TMA OSI TPでは、ピアがOSI TPデータ圧縮もサポートしている場合に、ピアDTPシステムにメッセージを圧縮して送信することができます。圧縮する場合、メッセージは次の要件を満たしている必要があります。

データ圧縮を有効にするには、圧縮データの送信先であるリモート・ドメインに対して、オプション「MULTIPLEXCOMPRESS=Y」をEXTENSIONSパラメータに追加します。データ圧縮を行うDMCONFIGファイルのサンプル・エントリは次のとおりです。

“MY-CLEARPATH”
AET=”{1.3.192.33.322.12},{2476}
NWADDR=”192.33.322.12:2476”
EXTENSIONS=”MULTIPLEXCOMPRESS=Y”

 


DMCONFIGファイルの編集

eLink OSI TP 1.3からアップグレードする場合は、osiadminユーティリティを使用してDMCONFIGファイルを更新することをお薦めします。ただし、手動でDMCONFIGファイルを編集することもできます。eLink OSI TP 4.0からアップグレードする場合は、udmconfig入力ファイルを変更する必要はありません。これはTMA OSI TP 10g R3 dmloadcfユーティリティへの入力として使用できます。同様に、eLink OSI TP 4.1または4.2からアップグレードする場合、dmconfig入力ファイルを変更する必要はありません。これはTMA OSI TP 10g R3 dmloadcfユーティリティへの入力として使用できます。osiadminユーティリティの詳細は、「OSI TP管理ユーティリティの使用」を参照してください。

DMCONFIGファイルを手動で編集するには、次のステップを実行します。

  1. インストール・ディレクトリでDMCONFIGファイルを検索し、任意のテキスト・エディタで開きます。
  2. 必要に応じてDMCONFIGファイルを編集します。TMA OSI TP構成の定義に関する詳細は、このセクションのパラメータの説明を参照してください。
  3. 編集が完了したら、DMCONFIGファイルを保存します。
  4. 注意: オリジナルのDMCONFIGファイルを別の名前で、または別のディレクトリに保存します。
  5. DMCONFIGファイルをdmloadcfユーティリティで処理します。これにより、入力が解析され、バイナリ・ファイル(GWOSITPで使用されるBDMCONFIGファイル)が作成されます。DMCONFIGファイル内のパラメータの詳細は、「DMCONFIGファイルの理解」を参照してください。

DMCONFIGファイル・パラメータ変更のステップ

次のステップを実行し、DMCONFIGファイル・パラメータを変更します。

ステップ1 - ローカル・ドメインの定義

Tuxedo UBBCONFIGファイルに定義したOSI TPサーバー・グループを使用するローカル・ドメインを定義する必要があります。UBBCONFIGファイルの詳細は、「Oracle Tuxedo用のTMA OSI TPサーバーの定義」を参照してください。

次のステップを実行し、DMCONFIGファイルのDM_LOCAL_DOMAINSセクションにローカル・ドメインを定義します。

  1. ローカル・ドメインIDをDOMAINIDパラメータで指定します。
  2. UBBCONFIGファイルで定義したゲートウェイ・グループをGWGRPパラメータで指定します。
  3. OSITPXのドメイン・タイプをTYPEパラメータで指定します。
  4. ドメイン・トランザクション・ログのサイズをDMTLOGSIZEパラメータで指定します。
  5. 必要なオプションのDM_LOCAL_DOMAINSパラメータ(AUDITLOGBLOCKTIMEDMTLOGDEVDMTLOGNAMEMAXRDTRANMAXTRANSECURITY)を指定します。
  6. リスト4-14 DM_LOCAL_DOMAINSセクションの例
    *DM_LOCAL_DOMAINS

    dalnt8
    GWGRP = OSIGRP
    TYPE = OSITPX
    DOMAINID = “dalnt8”
    BLOCKTIME = 30
    DMTLOGDEV = “D:\tuxedo\log\DMLOG”
    DMTLOGNAME = "DMLOG"
    SECURITY = DM_PW # turns link layer security on

詳細は「サンプル構成ファイル」を参照してください。

ステップ2 - リモート・ドメインの定義

eLink OSI TP 1.3からアップグレードする場合、リモート・ドメインのアップグレードにはosiadminユーティリティでimportcfgコマンドを使用することをお薦めしますが、手動でリモート・ドメインを定義することができます。osiadminユーティリティの詳細は、「OSI TP管理ユーティリティの使用」を参照してください。

次のステップを実行し、DMCONFIGファイルのDM_REMOTE_DOMAINSセクションにリモート・ドメインを定義します。

  1. リモート・ドメインIDをDOMAINIDパラメータで指定します。
  2. OSITPXのドメイン・タイプをTYPEパラメータで指定します。

DM_REMOTE_DOMAINSセクションのオプション・パラメータはありません。

リスト4-15 DM_REMOTE_DOMAINSセクションの例
*DM_REMOTE_DOMAINS

dal2200 TYPE=OSITPX DOMAINID="dal2200"
openti TYPE=OSITPX DOMAINID="openti"
icl2 TYPE=OSITPX DOMAINID="icl2"
aseries1 TYPE=OSITPX DOMAINID="aseries1"

詳細は「DM_REMOTE_DOMAINSセクション」を参照してください。

ステップ3 - OSI TPドメインのアドレス指定情報の指定

次のステップを実行し、DMCONFIGファイルのDM_OSITPXセクションにOSI TPドメインのアドレス指定情報を定義します。

  1. ローカルおよびリモートOSI TPドメインそれぞれに、AETパラメータでアプリケーション・エンティティ・タイトルを指定します。
  2. ローカルおよびリモートOSI TPドメインのそれぞれに、NWADDRパラメータでIPアドレスまたはDNS名とポート番号を指定します。複数のIPアドレスを使用している場合は、すべてのアドレスをセミコロン(;)で区切って1行に入力します。アドレス全体は二重引用符で囲みます。
  3. 必要なオプションのDM_OSITPXパラメータ、DNS_RESOLUTION、P_SEL、S_SEL、T_SEL、OPTIONS、TAILOR_PATHおよび XATMI_ENCODINGを指定します。
  4. リスト4-16 DM_OSITPXセクション
    *DM_OSITPX

    dalnt8
    AET="{1.3.144.23.103},{208}"
    TAILOR_PATH="d:\tuxedo\configs\tailor.txt"
    NWADDR="//dalnt8:102"
    DNS_RESOLUTION=STARTUP # this is the default

    dal2200
    AET="{1.3.132.61.146},{3}"
    XATMI_ENCODING="OLTP_TM2200"
    NWADDR="132.61.146.3;132.61.147.1"
    T_SEL="OSITP"

    openti
    AET="{1.3.122.62.103},{209}"
    NWADDR="122.62.103.209"

    icl2
    AET="{1.3.142.60.203},{4}"
    NWADDR="142.60.203.4"
    T_SEL="ICLTP"
    S_SEL="SSEL"
    P_SEL="PSEL"


    aseries1
    AET="{1.3.123.55.222},{51}"
    NWADDR="123.55.222.51"
    XATMI_ENCODING="PRELIMINARY"
    T_SEL="0x5453"
    S_SEL="0x3F5C3F"
    OPTIONS=SECURITY_SUPPORTED

詳細は「DM_OSITPXセクション」を参照してください。

ステップ4 - OSI TPドメインのアクセス制御の指定

DMCONFIGファイルのDM_ACCESS_CONTROLセクションで、ACLISTパラメータにより、ローカル・ドメインにアクセスするためのリモートOSI TPドメインIDすべてのリストを指定します。このパラメータはオプションです。

リスト4-17 DM_ACCESS_CONTROLセクションの例
*DM_ACCESS_CONTROL
mylist ACLIST = dalnt8, dal2200

詳細は「DM_ACCESS CONTROLセクション」を参照してください。

ステップ5 - 使用可能なローカルTuxedoサービスの指定

DMCONFIGファイルのDM_LOCAL_SERVICESセクションで、ACLCOUPLINGINBUFTYPEINRECTYPELDOMOUTBUFTYPEOUTRECTYPEおよびRNAMEパラメータを使用して、OSI TPアプリケーションで使用可能になるTuxedoサービスを指定し、そのオプションを定義します。ローカル・サービスでトランザクションをサポートしている場合は、そのトランザクションが属するグループにTMS名があることを確認します。

これらのDM_LOCAL_SERVICESパラメータはオプションです。

リスト4-18 DM_LOCAL_SERVICESセクションの例
*DM_LOCAL_SERVICES
TOUPPERF
INRECTYPE="VIEW:view10"
OUTBUFTYPE="FML:"
COUPLING=LOOSE

TOUPPERF32
INRECTYPE="VIEW:view10a"
OUTBUFTYPE="FML32:"
COUPLING=TIGHT


TOUPPERV
INBUFTYPE="X_C_TYPE:v10"
INRECTYPE="VIEW:upper"
COUPLING=LOOSE

TOUPPERC OUTRECTYPE="X_OCTET" OUTBUFTYPE="CARRAY"
INRECTYPE="X_OCTET"
COUPLING=TIGHT

TOUPPERS OUTRECTYPE="X_OCTET" OUTBUFTYPE="STRING"
INRECTYPE="X_OCTET"

TOUPPERX OUTRECTYPE="STRING" OUTBUFTYPE="STRING"
INRECTYPE="X_OCTET"

詳細は「DM_LOCAL_SERVICESセクション」を参照してください。

ステップ6 - 使用可能なリモートTuxedoサービスの指定

DMCONFIGファイルのDM_REMOTE_SERVICESセクションで、AUTOPREPARECODEPAGECONVINBUFTYPEINRECTYPELDOMOUTBUFTYPE、OUTRECTYPERDOMRNAMEROUTINGおよびTRANTIMEパラメータを使用して、Tuxedoアプリケーションでリクエスト可能なリモート・サービスを指定し、そのオプションを定義します。これらのパラメータはオプションです。

リスト4-19 DM_REMOTE_SERVICESセクションの例
*DM_REMOTE_SERVICES
DEFAULT: TRANTIME=300

ECHOXOCT RNAME="ECHOSRVR" OUTBUFTYPE="X_COMMON:ECHOVIEW" RDOM=dal2200 LDOM=dalnt8
ECHOXCOM RNAME="ECHOSRVR" RDOM=openti LDOM=dalnt8 AUTOPREPARE=Y

ECHOXCTYPE RNAME="ECHOSRVR"
INBUFTYPE="X_C_TYPE:ECHOVIEW"
INRECTYPE="X_COMMON:ECHOVIEW"
OUTBUFTYPE="X_C_TYPE:ECHOVIEW"
OUTRECTYPE="X_COMMON:ECHOVIEW"
RDOM=aseries1
LDOM=dalnt8
CONV=Y
ECHOVIEW RNAME="ECHOSRVR"
INBUFTYPE="VIEW:ECHOVIEW"
INRECTYPE="X_COMMON:ECHOVIEW"
OUTBUFTYPE="VIEW:ECHOVIEW"
OUTRECTYPE="X_COMMON:ECHOVIEW"
RDOM=icl2
LDOM=dalnt8
TPSUT_TYPE="PRINTABLESTRING"
REM_TPSUT="tpmvs"

詳細は「DM_REMOTE_SERVICESセクション」を参照してください。

ステップ7 - ルーティング情報の指定

次のステップを実行し、DMCONFIGファイルのDM_ROUTINGセクションにサービス・リクエストのルーティング情報を定義します。

  1. ルーティング・フィールドの名前をFIELDパラメータで指定します。
  2. ルーティング・エントリが有効になるデータ・バッファ・タイプとサブタイプをBUFTYPEパラメータで指定します。
  3. ルーティング・フィールドの範囲と関連リモート・ドメイン名をRANGESパラメータで指定します。
  4. リスト4-20 DM_ROUTINGセクションの例
    *DM_ROUTING
    ACCOUNT FIELD = branchid BUFTYPE = "View:account"
    RANGE = "MIN - 1000:aseries1, 1001-3000:openti, *:dal2200"

詳細は「DM_ROUTINGセクション」を参照してください。

 


dmloadcfユーティリティによる構成ファイルの処理

dmloadcfユーティリティにより、DMCONFIGファイルが解析され、DMADMサーバーで実行時環境の制御に使用するバイナリ構成ファイル、BDMCONFIGが作成されます。

図4-3に、dmloadcfユーティリティの構成ファイルの処理方法を示します。図の後にプロセスの説明が続きます。

図4-3 dmloadcfプロセス

dmloadcfプロセス

dmloadcfユーティリティの起動

dmloadcfユーティリティは次の構文でコマンド・ラインから起動されます。

dmloadcf [-c] [-n] [-y] [-b blocks] [-k] DMCONFIG_file

使用可能なオプションは次のとおりです。

-c

この構成では、各ローカル・ドメイン(ゲートウェイ・グループ)が必要とする最低IPCリソースを出力します。BDMCONFIGファイルは更新されません。

-n

ASCII DMCONFIGファイルの構文のみをチェックし、BDMCONFIGファイルは実際に更新されません。

-y

BDMCONFIGファイルを作成および初期化するプロンプトは出されません。このパラメータはDMCONFIGファイル名の前に入力する必要があります

-b blocks

Tuxedoファイル・システムの作成に使用するデバイスのブロック数を示します。-bオプションの値が新規BDMCONFIG表を収容できる大きさの場合は、dmloadcfが指定の値を使用し、新規ファイル・システムを作成します。収容できる大きさでない場合は、dmloadcfはエラー・メッセージを出力し、終了します。-bオプションを指定しないと、dmloadcfBDMCONFIG表を収容できる大きさのファイル・システムを新たに作成します。ファイル・システムがすでに存在している場合、-bオプションは無視されます。BDMCONFIGがrawデバイス(初期化されていない)場合には、-bオプションを使用することを強くお薦めします。この場合、rawデバイスのブロック数を設定する必要があります。

dmconfig_file

入力構成ファイル名をdmloadcfに指定します。

dmloadcfユーティリティの動作の仕組み

dmloadcfユーティリティは、DMCONFIGファイルの必要なセクションがないことを検出すると、エラー・メッセージを出力します。入力ファイルを解析中に構文エラーを検出すると、dmloadcfBDMCONFIGファイルを更新せずに終了します。

Tuxedo DMTYPEファイルは有効なドメイン・タイプの定義に必要です。このファイルがない場合、dmloadcfBDMCONFIGファイルを更新せずに終了します。

dmloadcfを使用するユーザーの実効ユーザーIDは、TUXCONFIGファイルのRESOURCESセクションのUIDと一致している必要があります。

構文チェックの後、dmloadcfは、BDMCONFIG が参照するファイルが存在するかどうか、存在する場合はそのファイルが有効なOracle Tuxedoファイルであるかどうか、およびBDMCONFIG表を含んでいるかどうかを調べます。これらの条件が真ではなく、-yオプションがコマンド・ラインで入力されていなかった場合、ユーザーにはファイルを作成して初期化するよう、次のような指示が出されます。

Initialize BDMCONFIG file: path {y, q}?

pathBDMCONFIGファイルの完全なファイル名であり、Yは構成ファイルを作成する必要があることを示します。

BDMCONFIGファイルがすでに初期化されていることが分かると、dmloadcfは、BDMCONFIGファイルで記述されているローカル・ドメインが動作していないことを確認します。ローカル・ドメインが動作している場合は、dmloadcfがエラー・メッセージを出力して終了します。ローカル・ドメインが動作していない場合、dmloadcfは次のプロンプトを表示して、ファイルを上書きするかどうかを確認します。

“Really overwrite BDMCONFIG file {y, q}?”

標準入力および標準出力が端末でない場合は、プロンプトは表示されません。「y」または「Y」以外で答えると、dmloadcfは構成ファイルを作成せずに終了します。BDMCONFIGファイルが正しく初期化されておらず、ユーザーが「Y」を入力すると、dmloadcfはTuxedoファイル・システムを作成し、BDMCONFIG表を作成します。

TUXCONFIGファイルのRESOURCESセクションにSECURITYパラメータが指定されていると、dmloadcfは標準入力をフラッシュし、端末エコー機能をオフにして、ユーザーにアプリケーション・パスワードの入力を求めます。

エラーがないと仮定して、すべてのチェックの結果が正常であった場合、dmloadcfDMCONFIGファイルをBDMCONFIGファイルにロードし、BDMCONFIG表にある既存の情報をすべて上書きします。

次の例は、バイナリの構成ファイルを、bank.DMCONFIG ASCIIファイルからロードする方法を示しています。ブロック数が2000のBDMCONFIGデバイスが作成(または初期化)されます。

dmloadcf -b 2000 -y bank.dmconfig

診断

入力にエラーが検出されると、エラーの原因となった行が、問題を指摘するメッセージと共に、標準エラー・ログに出力されます。また、DMCONFIGファイルに構文エラーがあったり、システムがその時点で稼働中であると、BDMCONFIGファイル内の情報はいっさい更新されず、dmloadcfは終了します。

dmloadcfをアクティブなノード上で実行すると、次のエラー・メッセージが表示されます。

*** dmloadcf cannot run on an active node ***

dmloadcfを実行するユーザーの実効ユーザーIDが、TUXCONFIGファイルで指定されたUIDと一致しない場合は、次のエラー・メッセージが表示されます。

*** UID is not effective user ID ***

dmloadcfは正しく完了すると終了します。BDMCONFIGファイルが更新されると、このイベントを記録するためのuserlogメッセージが生成されます。

 


OSI TP固有表のTAILORファイルとの調整

OSI TP TAILORファイルはDMCONFIGの外部にあり、OSI TP固有表の調整に使用されます。TAILORファイルのすべてのパラメータは、プリセットのデフォルトではオプションです。

有効なTAILORパラメータのリストは、次のとおりです。

表4-3 OSI TP TAILORファイルのパラメータ
パラメータ
デフォルト値
説明
* FreeOldRetryTime
600秒
古い接続の自動切断までの時間(秒)
MaxConnections
500
各種内部表の最大サイズ
** KeepAliveCheck
60
キープアライブ・パケットが接続に送信されるまでの接続の非アクティブ状態の時間(秒)
** KeepAliveTimeout
10
キープアライブ・パケットの送信時に承認メッセージを待機する時間(秒)。このタイムアウトを超過すると、接続は再度確立されます。
MaxRemoteNodes
1000
リモート・ドメインの最大合計数
* OldAssocTimeout
3600秒
古い接続(関連付け)を示す時間(秒)
* RdomAssocRetry
60秒
使用不可能なRDOMSへの関連付けの自動再試行までの時間(秒)
* TCPSocketsKeepAlives
不可
TCPキープアライブ・パケットの切替え
** StartFlowControlThreshold
1,048,576
フロー制御開始までの特定のRDOMにバッファされるデータのバイト数
** StopFlowControlThreshold
102,400
フロー制御解除までのRDOMにバッファされるデータのバイト数上限(フロー制御が有効な場合)
TCPSocketsLinger
-1
TCP/IPソケット接続が開かれている合計時間
TCPSocketsListenQueueDepth
5
TMA OSI TPでの受入れを待機するTCP/IP接続の数
TCPSocketsNoDelay
不可
ACKがリモート・マシンに受け入れられるまでの、TCP/IPパケットの送信遅延への切替え
TraceIpcKey
32800
OSI TPログおよびトレース共有メモリー・セクションのIPCキー値

注意: 前述の表のアスタリスク(*)を含むパラメータは、非多重化接続でのみ有効です。
注意: 2つのアスタリスク(**)を含むパラメータは、多重化プロトコルを使用する場合のみ適用されます。

TAILORファイル・パラメータのそれぞれの詳細は、次のとおりです。

FreeOldRetryTimer = numeric

古い接続(関連付け)の自動切断までの時間(秒)を指定します。OSI TPでは、確立したソケット接続をリモート・ドメインに再利用します。デフォルト値は600秒です。
注意: このパラメータは非多重化接続にのみ有効です。

KeepAliveCheck = numeric

キープアライブ・パケットが接続に送信されるまでの接続の非アクティブ状態の時間(秒)を指定します。デフォルト値は60秒です。
注意: このパラメータは多重化プロトコルを使用する場合のみ有効です。

KeepAliveTimeout = numeric

キープアライブ・パケットの送信時に承認メッセージを待機する合計時間(秒)を指定します。このタイムアウトを超過すると、接続は再確立されます。デフォルトは10秒です。
注意: このパラメータは多重化プロトコルを使用する場合のみ有効です。

MaxConnections = numeric

各種内部表のサイズを指定します。この値は、動的に追加されたものを含むリモート・ドメインの最大合計数以上である必要があります。デフォルト値は1000です。

MaxRemoteNodes = numeric

動的に追加されたものを含む、リモート・ドメインの最大合計数を指定します。デフォルトは1000です。

OldAssocTimeout = numeric

古い接続(関連付け)を示す時間(秒)を指定します。接続しているリモート・ドメインがこの合計時間を超えてtpcall()で使用されていない場合、その接続は自動切断の対象となります。デフォルト値は3600秒です。
注意: このパラメータは非多重化接続にのみ有効です。

RdomAssocRetry = numeric

使用不可能なRDOMに対する関連付けの自動再試行までの時間(秒)を指定します。この値はゼロ以上にする必要があります。デフォルト値は60です。この値はRDOMごとにEXTENSIONパラメータおよびRdomAssocRetryキーワードでオーバーライドされます。
注意: このパラメータは非多重化接続にのみ有効です。

StartFlowControlThreshold = numeric

フロー制御が開始するまでに特定のRDOMにバッファされるデータのバイト数を指定します。あるRDOMにバッファされたデータがこの値を超過すると、RDOM/LDOMの組合せで公開されたサービスが中断されます。デフォルト値は1,048,576バイトです。
注意: このパラメータは多重化プロトコルを使用する場合のみ有効です。

StopFlowControlThreshold = numeric

フロー制御が解除されるまでに特定のRDOMにバッファされるデータの最大バイト数を指定します(フロー制御が有効な場合)。あるRDOMに対するバッファリングがこの値を下回る場合、RDOM/LDOMの組合せのサービスが再度公開されます。デフォルト値は102,400バイトです。
注意: このパラメータは多重化プロトコルを使用する場合のみ有効です。

TCPSocketsKeepAlives = {Y | N}

TCPキープアライブ・パケットを送信するかどうかを指定します。これは、TCP接続の整合性を保つために役立ちます。Yを指定すると、TCP/IPパケットはオペレーティング・システムで指定された時間中に送信されます。大部分のオペレーティング・システムでは、2時間が指定されています。デフォルトはNです。
注意: このパラメータは非多重化接続にのみ有効です。

TCPSocketsLinger = {-1 | 0 | numeric}

TCP/IPソケット接続が開いている合計時間を指定します。これは、ハングした接続のタイムアウトに使用できます。
指定できる値は次のとおりです。

-1(デフォルト)
TCP/IPソケット接続がTIME_WAIT状態を継続する時間は、オペレーティング・システムで決定されます。
0
TCP/IP接続は即時に切断されます。
n
TCP/IPソケット接続は、n秒間TIME_WAIT状態になってから終了します。

TCPSocketsListenQueueDepth = numeric

TMA OSI TPでの受入れを待機するTCP/IP接続の数を指定します。
指定できる値は次のとおりです。

5(デフォルト)
着信TCP/IP接続は、5つ以上保持されます。
>5
5以上の着信TCP/IP接続が保持されます。オペレーティング・システムでは、適切な値までの数のみをサポートします。

TCPSocketsNoDelay = {Y | N}

ACKがリモート・マシンで受け入れられるまで、後続のTCP/IPパケット送信が遅延されるかどうかを指定します。デフォルトはNであり、後続のTCP/IPパケット送信はACKが受け入れられるまで遅延されます。Yが指定されている場合、TCP/IPパケットは、前の送信パケットのACKを待機せずに即時送信されます。

TraceIpcKey = numeric

UNIXシステムでは、OSI TPログおよびトレース共有メモリー・セグメントのIPCキー値が指定されます。ローカル・ドメインが複数の場合は、各ドメインに一意のIPCキー値が必要です。Windows NTシステムでは、この値は無視されます。デフォルトは32800です。

 


リモート・サービスの自動一時停止の有効化

Oracle TMA OSI TPサービスの一時停止機能では、アクセスできないリモート・ドメインのサービスを自動的に一時停止することによって、リモート・サービスの信頼性を高めます。自動一時停止により、使用できないリモート・サービスへの呼出しの繰返しを回避できます。この機能は、特にリモート・ドメイン間のロード・バランシングの際に役立ちます。

TMA OSI TPのサービス一時停止機能では、すべてのリモートRDOMに対する1つ以上の関連付けを保持することによって、その可用性を決定できます。関連付けを確立できない場合は、そのRDOMに関連付けられているサービスは即時に失敗します。重複して定義されたサービスでは、使用不可能なRDOMの使用を回避します。

デフォルトでは、TMA OSI TPは、60秒ごとに失敗したRDOMへの接続を再試行します。この遅延は、「OSI TP固有表のTAILORファイルとの調整」セクションに記述されているRdomAssocRetry調整パラメータでオーバーライドされることがあります。また、特定のRDOMについて、DM_OSITPXセクションのEXTENSIONS="RdomAssocRetry=n"パラメータでオーバーライドされることもあり、この場合、nは再試行までの待機時間(秒)です。EXTENSIONSパラメータで指定される値は、対応する調整パラメータをオーバーライドします。詳細は「DM_OSITPXセクション」を参照してください。

テスト環境では、RDOMは使用不可能であると構成され、オフラインとみなされる場合があります。TMA OSI TPでは、これらのシステムへの接続が継続して試行されます。RDOMとそれに対して構成されたリモート・サービスを無効にするには、DMCONFIGファイルのDM_OSITPXセクションで、それぞれのオフラインRDOMに対してEXTENSIONS="ONLINE=N"を指定します。実行時には、これらのRDOMは「osiadminコマンドの使用」に記述されているONLINE osiadminコマンドでオンラインにできます。


  先頭に戻る       前  次