|
このセクションでは、各種のテーブルとファイルの形式ついて説明します。
compilation(5)
ページでは、アプリケーションのソース コードをコンパイルするときに必要なヘッダ ファイル、ライブラリ、および環境変数について要約しています。
このセクションには、Oracle Tuxedo システム提供のサーバの説明が含まれています。アプリケーションで Oracle Tuxedo システム提供のサーバを使用する場合は、そのアプリケーションのコンフィグレーション ファイルにそれらのサーバを指定してください。
servopts
のページでは、アプリケーション サーバの CLOPT
パラメータとしてコンフィグレーション ファイルに指定できるオプションについて説明します。
Oracle Tuxedo 管理情報ベースについては、MIB(5)
リファレンス ページと次に示すコンポーネント MIB ページで説明します。
#include <fml32.h>
#include <tpadm.h>
Oracle Tuxedo MIB は、アクセス制御リスト (ACL) を管理するためのクラスの集合を定義します。これらのクラスに対してアクセスや変更を行う前に、SECURITY
を USER_AUTH
、ACL
、または MANDATORY_ACL
に設定して Oracle Tuxedo のコンフィグレーションを作成しておく必要があります。管理要求のフォーマットと管理応答の解釈を行うには、ACL_MIB(5)
を共通 MIB リファレンス ページ MIB(5)
と一緒に使用します。このリファレンス ページで説明するクラスや属性を使用し、MIB(5)
の説明に従ってフォーマットした要求を使用すると、アクティブなアプリケーションの既存の ATMI インタフェースの 1 つを通じて管理サービスを要求できます。ACL_MIB(5)
のすべてのクラス定義の追加情報については、「ACL_MIB(5) に関する追加情報」を参照してください。
各クラスの説明セクションには、次の 4 つのサブセクションがあります。
前述のように、この MIB に含まれる各クラスは、4 つの部分に分けて以下に定義されています。その 1 つが属性表です。属性表はクラス内の属性のリファレンス ガイドであり、管理者、オペレータ、一般ユーザがそれらの属性を使用してアプリケーションと対話するための方法を説明しています。属性表の各属性の説明には、5 つの構成要素 (名前、型、パーミッション、値、デフォルト値) があります。各要素については、MIB(5)
を参照してください。
MIB(5)
は、共通 TA_FLAGS
属性を定義します。この属性は long
型で、共通 MIB フラグ値とコンポーネント MIB 固有フラグ値の両方を持ちます。現時点では、ACL_MIB
(5) 固有のフラグ値は定義されていません。
このリファレンス ページで説明する属性のフィールド テーブルは、システムにインストールした Oracle Tuxedo システム ソフトウェアのルート ディレクトリからの相対パスで指定される udataobj/tpadm
ファイルにあります。${TUXDIR}/udataobj
ディレクトリは、FLDTBLDIR
環境変数で指定されるコロン区切りのリストにアプリケーションによって追加される必要があり、フィールド テーブル名 tpadm()
は、FIELDTBLS
環境変数で指定されるカンマ区切りのリストに追加される必要があります。
この MIB のヘッダ ファイルとフィールド テーブルには、Oracle Tuxedo リリース 6.0 以降が実行されているサイト (ネイティブとワークステーションの両方) からのみアクセスできます。
T_ACLGROUP
クラスは、Oracle Tuxedo アプリケーションのユーザおよびドメインのグループを表します。
TA_GROUPNAME
: string
[1..30]
TA_GROUPID
: 0 <= num
< 16,384
TA_STATE
:
SET
操作は、選択した T_ACLGROUP
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
1 人のユーザは 1 つの ACL グループにのみ関連付けることができます。複数のロールを持つユーザまたは複数のグループに関連付けられるユーザについては、複数のユーザ エントリを定義する必要があります。
T_ACLPERM
クラスは、Oracle Tuxedo システム エントリにアクセスできるグループを表します。これらのエンティティ名は文字列です。現在この名前はサービス名、イベント名、およびアプリケーション キュー名を表しています。
TA_ACLNAME
: string
TA_ACLTYPE
: ENQ
| DEQ
| SERVICE
| POSTEVENT
TA_ACLGROUPIDS
: string
TA_STATE
:
SET
操作は、選択した T_ACLPERM
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
パーミッションは、個別のユーザ識別子ではなく、グループ レベルで定義されます。
T_ACLPRINCIPAL
クラスは、Oracle Tuxedo アプリケーションにアクセス可能なユーザまたはドメイン、およびそれらに関連付けられるグループを表します。特定ユーザとしてアプリケーションに参加するには、ユーザ固有のパスワードを提示する必要があります。
TA_PRINNAME
: string
TA_PRINCLTNAME
: string
*
) になります。クライアント名は表示可能な文字列で、コロンおよび改行文字は使用できません。
TA_PRINID
: 1 <= num
< 131,072
TA_PRINGRP
: 0 <= num
< 16,384
TA_PRINPASSWD
: string
TA_STATE
:
SET
操作は、選択した T_ACLPRINCIPAL
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
1 人のユーザまたは 1 つのドメインは 1 つの ACL グループにのみ関連付けることができます。複数のロールを持つユーザまたは複数のグループに関連付けられるユーザについては、複数のプリンシパル エントリを定義する必要があります。
ACL_MIB(5)
への接続時には、2 つの一般的なタイプのエラーがユーザに返される場合があります。1 つは、管理要求に対する応答を検索する 3 つの ATMI 関数 (tpcall()
、tpgetrply()
、および tpdequeue()
) が返すエラーです。これらのエラーは、該当するリファレンス ページの記述に従って解釈されます。
ただし、要求がその内容に対応できるシステム サービスに正常にルーティングされても、システム サービス側でその要求を処理できないと判断されると、アプリケーション レベルのサービス障害としてエラーが返されます。このような場合、tpcall()
と tpgetrply()
は、tperrno()
を TPESVCFAIL
に設定してエラーを返し、以下のようにエラーの詳細を示す TA_ERROR
、TA_STATUS
、および TA_BADFLD
フィールドと一緒に、元の要求を含む応答メッセージを返します。TMQFORWARD(5)
サーバ経由でシステムに転送された要求に対してサービス障害が発生すると、元の要求で識別される異常終了キューに障害応答メッセージが追加されます (TMQFORWARD
に対して -d
オプションが指定されたと見なされる)。
管理要求の処理中にサービス エラーが発生すると、TA_STATUS
という FML32 フィールドにエラーの内容を説明したテキストが設定され、TA_ERROR
という FML32 フィールドにはエラーの原因 (下記参照) を示す値が設定されます。以下のエラー コードは、いずれもマイナスであることが保証されています。
以下の診断コードは TA_ERROR
で戻されるもので、管理要求が正常に完了したことを示します。これらのコードはマイナスでないことが保証されています。
other
]
MIB(5)
リファレンス ページに指定されています。これらのコードは、ここに定義する ACL_MIB(5)
固有の戻りコードと相互に排他関係にあることが保証されています。
このリファレンス ページで定義されているヘッダ ファイルおよびフィールド テーブルは、Oracle Tuxedo リリース 6.0 以降で利用できます。これらのヘッダやテーブルで定義するフィールドはリリースが変わっても変更されません。ただし、以前のリリースで定義されていない新しいフィールドが追加される場合があります。AdminAPI には、要求を作成するために必要なヘッダ ファイルとフィールド テーブルがあれば、どのサイトからでもアクセスできます。T_ACLPRINCIPAL
、T_ACLGROUP
、および T_ACLPERM
クラスは、Oracle Tuxedo リリース 6.0 で追加されたものです。
Oracle Tuxedo システムの MIB を使用した管理作業をサポートするために必要な既存の FML32 および ATMI 関数、さらにこのリファレンス ページに定義するヘッダ ファイルとフィールド テーブルは、すべてのサポート対象ネイティブ プラットフォームとワークステーション プラットフォームで使用可能です。
以下に、ユーザをグループに追加し、当該グループに対するパーミッションをサービス名に追加するコードを示します。
属性フィールド識別子にアクセスするには、フィールド テーブル tpadm
が必要です。そのためには、次のようにシェルで入力します。
$ FIELDTBLS=tpadm
$ FLDTBLDIR=${TUXDIR}/udataobj
$ export FIELDTBLS FLDTBLDIR
#include <atmi.h>
#include <fml32.h>
#include <tpadm.h>
以下のコードでは、デフォルト グループ "other" にユーザを追加します。
/* 入力バッファと出力バッファを割り当てる */
ibuf = tpalloc("FML32", NULL, 1000);
obuf = tpalloc("FML32", NULL, 1000);
/* 要求タイプを定義する MIB(5) 属性を設定 *
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_ACLPRINCIPAL", 0);
/* ACL_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_PRINNAME, 0, ta_prinname, 0);
Fchg32(ibuf, TA_PRINID, 0, (char *)ta_prinid, 0);
Fchg32(ibuf, TA_STATE, 0, (char *)"NEW", 0);
Fchg32(ibuf, TA_PRINPASSWD, 0, (char *)passwd, 0);
/* 要求を作成 */
if (tpcall(".TMIB", (char *)ibuf, 0, (char **)obuf, olen, 0) 0) {
fprintf(stderr, "tpcall failed: %s\en", tpstrerror(tperrno));
if (tperrno == TPESVCFAIL) {
Fget32(obuf, TA_ERROR, 0,(char *)ta_error, NULL);
ta_status = Ffind32(obuf, TA_STATUS, 0, NULL);
fprintf(stderr, "Failure: %ld, %s\en",
ta_error, ta_status);
}
/* 追加のエラー処理 */
}
${TUXDIR}/include/tpadm.h
、${TUXDIR}/udataobj/tpadm
tpacall(3c)、tpalloc(3c)、tpcall(3c)、tpdequeue(3c)、tpenqueue(3c)、tpgetrply(3c)、tprealloc(3c)、「FML 関数の紹介」、Fadd、Fadd32(3fml)、Fchg、Fchg32(3fml)、Ffind、Ffind32(3fml)、MIB(5)
、TM_MIB(5)
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』
『FML を使用した Oracle Tuxedo アプリケーションのプログラミング』
#include <fml32.h>
#include <tpadm.h>
/Q MIB は、アプリケーション キューを管理するためのクラスを定義します。
管理要求のフォーマットと管理応答の解釈を行うには、APPQ_MIB
(5) を共通 MIB リファレンス ページ MIB(5)
と一緒に使用します。このリファレンス ページで説明するクラスや属性を使用し、MIB(5)
の説明に従ってフォーマットした要求を使用すると、アクティブなアプリケーションの既存の ATMI インタフェースの 1 つを通じて管理サービスを要求できます。非アクティブなアプリケーションのアプリケーション キューは、tpadmcall()
関数インタフェースを使用して管理できます。APPQ_MIB(5)
のすべてのクラス定義の追加情報については、「APPQ_MIB(5) に関する追加情報」を参照してください。
この MIB は、サーバ キュー (TM_MIB(5)
コンポーネントの T_QUEUE
クラス) ではなく、アプリケーションで定義される永続的 (信頼性の高いディスクベースの) キューおよび非永続的 (メモリ内の) キュー (つまり /Q キュー) を示していることに注意してください。
各クラスの説明セクションには、次の 4 つのサブセクションがあります。
この MIB に含まれる各クラスは、4 つの部分に分けて定義されています。その 1 つが属性表です。属性表はクラス内の属性のリファレンス ガイドであり、管理者、オペレータ、一般ユーザがそれらの属性を使用してアプリケーションと対話するための方法を説明しています。
属性表の各属性の説明には、5 つの構成要素 (名前、型、パーミッション、値、デフォルト値) があります。各要素については、MIB(5)
を参照してください。
MIB(5)
は、共通 TA_FLAGS
属性を定義します。この属性は long
型で、共通 MIB フラグ値とコンポーネント MIB 固有フラグ値の両方を持ちます。APPQ_MIB
(5) コンポーネントには、次に示すフラグ値が定義されます。これらのフラグ値は、共通 MIB フラグと一緒に使用する必要があります。
QMIB_FORCECLOSE
QMIB_FORCEDELETE
T_APPQSPACE
オブジェクトの TA_STATE
属性を INValid
に設定する場合、このフラグはキュー スペースの状態が ACTive
であっても、そのキュー スペースのいずれかにメッセージが存在していても状態を変更できることを示します。同様に、T_APPQ
オブジェクトの TA_STATE
属性を INValid
に設定する場合、キューにメッセージがあっても、キュー スペースにプロセスがアタッチされていても、このフラグによってキューを削除できます。
QMIB_FORCEPURGE
T_APPQ
オブジェクトの TA_STATE
属性を INValid
に設定する場合、このフラグはメッセージがキューに存在していても状態を変更できることを示します。ただし、選択した T_APPQ
オブジェクトに格納されているメッセージがトランザクションにかかわっていると、状態の変更は行われず、ユーザ ログにエラーが書き込まれます。
このリファレンス ページで説明する属性のフィールド テーブルは、システムにインストールした Oracle Tuxedo ソフトウェアのルート ディレクトリからの相対パスで指定される udataobj/tpadm
ファイルにあります。${TUXDIR}/udataobj
ディレクトリは、FLDTBLDIR
環境変数で指定されるパス リスト (Windows の場合はセミコロンで区切り、それ以外はコロンで区切る) にアプリケーションによって追加される必要があり、フィールド テーブル名 tpadm()
は、FIELDTBLS
環境変数で指定されるカンマ区切りのリストに追加される必要があります。
この MIB は、Oracle Tuxedo システム 6.0 以降が実行されているサイト (ネイティブおよび Workstation の両方) からのみアクセスできます。
Oracle Tuxedo 6.0 より前のリリースが実行されているサイトがアプリケーション内でアクティブ化された場合、この MIB による管理アクセスは次のとおり制限されます。
T_APPQ
クラスは、アプリケーション キューを表します。1 つのアプリケーション キュー スペースには、1 つまたは複数のアプリケーション キューが存在します。
すべてのキー フィールドを未設定にすると、このクラスのインスタンスをすべて検索できません。反対に、1 つのアプリケーション キュー スペースを明示的に指定するには、適切なキー フィールドを指定する必要があります。これらの必須キー フィールドは、TA_APPQSPACENAME
、TA_QMCONFIG
、および TA_LMID
です。ただし、アプリケーションの環境がコンフィグレーションされていない (TUXCONFIG
環境変数が設定されていない) 場合を除きます。この場合、TA_LMID
を省略する必要があります。たとえば、tpcall()
を使用して、要求で TA_APPQSPACENAME
、TA_QMCONFIG
、および TA_LMID
属性を設定した場合、指定したキュー スペース内のすべての T_APPQ
オブジェクトが検索されます。
b アプリケーションがコンフィグレーションされていない (TUXCONFIG
環境変数が設定されていない) 場合を除き、TA_LMID
はキー フィールドとして指定する必要があります。
c T_APPQ
オブジェクトのすべての操作 (GET
と SET
) は、関連付けられているキュー スペースを自動的に開きます。つまり、キュー スペースの状態が OPEn
または ACTive
になっていない場合、暗黙的に OPEn
に設定します。キュー スペースが大きいと、この操作は時間がかかります。
d アプリケーション キューの作成後は、TA_APPQORDER
を変更できません。
e Oracle Tuxedo 8.0 以前のリリースの場合、この属性の文字列の長さは最大 78 バイトです。
f 1 つのアプリケーション キュー スペースを明示的に指定するには、GET
操作で適切なキー フィールドを指定する必要があります。
TA_APPQNAME
: string
[1..15]
TA_APPQSPACENAME
: string
[1..15]
TA_QMCONFIG
: string
[1..78]
TA_LMID
: string
[1..30] (no comma)
TA_STATE
:
SET
操作は、選択したアプリケーション キューの特性を変更するか、または新しいキューを作成します。以下に、SET
要求によって返される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_APPQORDER
:
PRIO
、TIME
、または EXPIR です。ソート基準の組み合わせは、最初に最上位基準、次にその他の基準、最後に相互に排他的な LIFO
または FIFO
(省略可能) の順に指定します。EXPIR
を指定すると、期限切れ時間のないメッセージは、期限切れ時間のあるすべてのメッセージの後で処理されます。FIFO
と LIFO
のいずれも指定しない場合は、FIFO
が使用されます。キューの作成時に順序を指定しない場合、デフォルトの順序は FIFO
となります。たとえば、次の設定はいずれも有効です。
TA_CMD
: shell-command-string
[0..127]
TA_CMDHW
に達すると、指定したコマンドが自動的に実行されます。このコマンドは、下限値 TA_CMDLW
に達した後に再び上限値に達すると再実行されます。
TA_CMDHW
: 0 <= num
[bBm%
]
TA_CMDLW
: 0 <= num
[bBm%
]
TA_CMD
属性で指定したコマンドの自動実行を制御する上限値と下限値。どちらも 0 以上の整数です。TA_CMDHW
と TA_CMDLW
の後には以下のいずれかのキー文字が続きます。キー文字は、TA_CMDHW
および TA_CMDLW
と一致している必要があります。
TA_CMDLW
が 50m
で TA_CMDHW
が 100m
であれば、TA_CMD
に指定されたコマンドはキューに 100 メッセージ追加されたときに実行され、キュー内のメッセージが 50 に減少した後に再び 100 まで増加しない限り再実行されません。
TA_CMDNONPERSIST
: shell-command-string
[0..127]
TA_CMDNONPERSISTHW
: 0 <= num
[bB%
]
TA_CMDNONPERSISTLW
: 0 <= num[bB%
]
TA_CMDNONPERSIST
属性で指定したコマンドの自動実行を制御する上限値と下限値を指定します。どちらも 0 以上の整数で、次のいずれかのキー文字が続きます。キー文字は、TA_CMDNONPERSISTHW
および TA_CMDNONPERSISTLW
と一致する必要があります。
TA_CMDHW
および TA_CMDLW
属性 (後に m
が続く) を通して指定するメッセージしきい値タイプは、キュー内の永続的メッセージと一時的メッセージの両方に適用されます。したがって、TA_CMDNONPERSISTHW
と TA_CMDNONPERSISTLW
のしきい値タイプとしては使用されません。
TA_CURBLOCKS
: 0 <= num
TA_CURMSG
: 0 <= num
TA_DEFAULTEXPIRATIONTIME
:
NONE
のいずれかに設定できます。相対期限切れ時間は、メッセージがキュー マネージャ プロセスに到着した後、一定の時間数をメッセージと関連付けることによって決定されます。メッセージの期限切れ時間に達した時点で、メッセージがキューから取り出されるか、管理インタフェースを介して削除されない場合、そのメッセージに関連付けられているすべてのリソースはシステムによって再使用され、統計情報は更新されます。メッセージがトランザクション内にあるときに期限切れになった場合、それによってトランザクションが異常終了することはありません。トランザクション内でキューへの登録中、またはキューからの取り出し中に期限切れになったメッセージは、トランザクションが終了した時点でキューから削除されます。メッセージの有効期限が切れたことの通知は行われません。デフォルトの期限切れ時間がキューに指定されていない場合、明示的な期限切れ時間のないメッセージが期限切れになることはありません。キューの期限切れ時間を変更しても、変更前にキュー内に存在していたメッセージの期限切れ時間は変わりません。
+
seconds
です。seconds
は、キュー マネージャが操作を正常終了してからメッセージが期限切れになるまでの経過秒数です。seconds
をゼロ (0
) に設定すると、メッセージはすぐに期限切れになります。
NONE
に設定することもできます。文字列 NONE
は、明示的な期限切れ時間を設定せずにキューに登録されたメッセージは期限切れにならないことを示します。すでにキュー内にあるメッセージの期限切れ時間を変更するには、APPQ_MIB
の T_APPQMSG
クラスの TA_EXPIRETIME
属性を使用します。
TA_DEFDELIVERYPOLICY:
PERSIST
の場合、配信モードが明示的に指定されずにキューに登録されたメッセージは、永続的な (ディスクベースの) 方法で配信されます。値が NONPERSIST
の場合、配信モードが明示的に指定されずにキューに登録されたメッセージは、非永続的な (メモリ内の) 方法で配信されます。キューのデフォルトの配信ポリシーを変更しても、変更前にキュー内にあったメッセージに対する配信サービスの品質は変わりません。現在キュー スペース内にあるメッセージに対する応答キューを変更する場合、キューのデフォルトの配信ポリシーの変更によって、サービスの応答基準が変更されることはありません。
T_APPQSPACE
クラスの TA_MEMNONPERSIST
属性がゼロ (0
) の場合、一時的メッセージ用の領域は確保されません。このような場合には、一時的メッセージをキューに登録しようとしても異常終了します。たとえば、メッセージに対してサービスの配信品質が指定されずに、対象キューの TA_DEFDELIVERYPOLICY
属性が NONPERSIST
に設定された場合などです。
TA_MAXRETRIES
: 0 <= num
TA_OUTOFORDER
: {NONE
| TOP
| MSGID
}
TA_RETRYDELAY
: 0 <= num
TA_CURNONPERSISTBYTES
: 0 <= num
TA_CURNONPERSISTMSG
: 0 <= num
T_APPQMSG
クラスは、アプリケーション キューに格納されたメッセージを表します。メッセージは管理者が作成するのではなく、tpenqueue()
呼び出しによって作成されます。メッセージは、tpdequeue()
呼び出しまたは管理者によって削除されます。また、管理者はメッセージの特定の属性を変更できます。たとえば、管理者はメッセージを同一キュー スペース内の別のキューに移動したり、メッセージの優先順位を変更したりできます。
すべてのキー フィールドを未設定にすると、このクラスのインスタンスをすべて検索できません。反対に、1 つのアプリケーション キュー スペースを明示的に指定するには、適切なキー フィールドを指定する必要があります。これらの必須キー フィールドは、TA_APPQSPACENAME
、TA_QMCONFIG
、および TA_LMID
です。ただし、アプリケーションの環境がコンフィグレーションされていない (TUXCONFIG
環境変数が設定されていない) 場合を除きます。この場合、TA_LMID
を省略する必要があります。たとえば、tpcall()
を使用して、要求で TA_APPQSPACENAME
、TA_QMCONFIG
、および TA_LMID
属性を設定した場合、指定したキュー スペース内のすべての T_APPQMSG
オブジェクトが検索されます。
b アプリケーションがコンフィグレーションされていない (TUXCONFIG
環境変数が設定されていない) 場合を除き、TA_LMID
はキー フィールドとして指定する必要があります。
c T_APPQMSG
オブジェクトのすべての操作 (GET
と SET
) は、関連付けられているキュー スペースを自動的に開きます。つまり、キュー スペースの状態が OPEn
または ACTive
になっていない場合、暗黙的に OPEn
に設定します。キュー スペースが大きいと、この操作は時間がかかります。
d 1 つのアプリケーション キュー スペースを明示的に指定するには、GET
操作で適切なキー フィールドを指定する必要があります。
TA_APPQMSGID
: string
[1..32]
TA_APPQNAME
: string
[1..15]
TA_APPQSPACENAME
: string
[1..15]
TA_QMCONFIG
: string
[1..78]
TA_LMID
: string
[1..30] (no comma)
TA_STATE
:
TA_CURRETRIES
: 0 <= num
TA_CORRID
: string
[0..32]
TA_EXPIRETIME:
GET
操作によって空文字列が返されます。TA_EXPIRETIME
の形式は次のいずれかです。
TA_LOWPRIORITY
: 1 <= num
<= 100 TA_HIGHPRIORITY
: 1 <= num
<= 100
TA_MSGEXPIRESTARTTIME
:TA_MSGEXPIREENDTIME
:
T_APPQMSG
オブジェクトを検索する期限切れ開始/終了時間。範囲にはどちらの値も含まれます。開始/終了時間は絶対時間値で指定しなければなりません。形式については、TA_EXPIRETIME を参照してください。この属性は、GET
操作のキー フィールドとしてのみ使用できます。
TA_MSGSIZE
: 0 <= num
TA_MSGSTARTTIME
: TA_MSGENDTIME
:
T_APPQMSG
オブジェクトを検索する開始/終了時間。範囲にはどちらの値も含まれます。開始/終了時間は絶対時間値で指定しなければなりません。形式については、TA_TIME を参照してください。この属性は、GET
操作のキー フィールドとしてのみ使用できます。
TA_NEWAPPQNAME
: string
[1..15]
VALid
でなければなりません。この属性は GET
操作では返されません。移動するメッセージに対するサービス配信の品質は、新しいキューのデフォルトの配信ポリシーによって変更されません。期限付きのメッセージが移動された場合、移動元では相対時間による期限が指定されていたとしても、移動先のキューでの絶対時間による期限になります。
TA_PERSISTENCE
:
TA_PRIORITY
: 1 <= num
<= 100
TA_REPLYPERSISTENCE
:
NONPERSIST
に、永続的メッセージでは PERSIST
に、応答がその登録先になるキューに対して確立されているデフォルトの配信ポリシーを使用するときは DEFAULT
に設定されます。
TA_TIME
:
T_APPQSPACE
クラスは、アプリケーション キュー スペースを表します。アプリケーション キュー スペースとは、Oracle Tuxedo システム デバイス内の領域です。デバイスとその属性については、TM_MIB(5)
の T_DEVICE
クラスを参照してください。一般に、各キュー スペースには 1 つまたは複数のアプリケーション キューがあり、各キューにはメッセージが格納されます。
キュー スペースには、名前 (TA_APPQSPACENAME
属性)、キュー スペースが存在するデバイス (TA_QMCONFIG
属性)、およびデバイスが存在する論理マシン (TA_LMID
属性) によってユニークに識別されます。
キュー スペースは通常、コンフィグレーション済みのアプリケーションの中では 1 つのサーバ グループだけに関連付けられます。キュー スペース名とデバイス名は、T_GROUP
オブジェクトの TA_OPENINFO
属性のコンポーネントです。
すべてのキー フィールドを未設定にすると、このクラスのインスタンスをすべて検索できません。反対に、アプリケーション キュー スペースを 1 つでも明示的に指定するには、すべてのキー フィールドを指定する必要があります。コンフィグレーションされていない (TUXCONFIG
環境変数が未設定の) アプリケーションのコンテキストで tpadmcall()
を介してローカル キュー スペースにアクセスすると、例外が 1 つ発生します。この場合、TA_LMID
キー フィールドを省略する必要があります。
/Q MIB 内のすべてのオブジェクトに対する操作は暗黙的にキュー スペースを使用するため、上記のキュー スペースのアクセスに関する制限は、T_APPQ
、T_APPQMSG
、および T_APPQTRANS
オブジェクトにも適用されます。
a. T_APPQSPACE
クラスの属性はすべてローカルです。
b. アプリケーションがコンフィグレーションされていない (TUXCONFIG
環境変数が設定されていない) 場合を除き、TA_LMID
はキー フィールドとして指定する必要があります。
c. T_APPQ
、T_APPQMSG
、および T_APPQTRANS
オブジェクトのすべての操作 (GET
と SET
) は、関連付けられているキュー スペースを自動的に開きます。つまり、キュー スペースの状態が OPEn
または ACTive
になっていない場合、暗黙的に OPEn
に設定します。キュー スペースが大きいと、この操作は時間がかかります。
d. キュー スペースの作成後は、TA_MAXQUEUES
を変更できません。
TA_APPQSPACENAME
: string[1..15]
TA_QMCONFIG
: string[1..78]
TA_LMID
: string
[1..30] (no comma)
TA_STATE
:
TMS_QM 、TMQUEUE 、および多くの場合 TMQFORWARD )、qmadmin(1) などの管理プロセス、または別のアプリケーションに関連付けられたプロセスです。
|
SET
操作は、選択したアプリケーション キュー スペースを変更するか、または新しいキュー スペースを作成します。以下に、SET
要求によって返される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_BLOCKING
: 0 <= num
TA_CURACTIONS
: 0 <= num
OPEn
または ACTive
の場合、またはキュー スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1 が返されます。
TA_CURCURSORS
: 0 <= num
OPEn
または ACTive
の場合、またはキュー スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1 が返されます。
TA_CUREXTENT
: 0 <= num
<= 100
TA_MAXPAGES
属性の値が増加するごとに、新規にエクステントが割り当てられます。この属性を変更すると、キュー スペース内のすべての一時的メッセージは完全に失われます。
TA_CURHANDLES
: 0 <= num
OPEn
または ACTive
の場合、またはキュー スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1 が返されます。
TA_CURMEMFILTERS
: 0 <= num
OPEn
または ACTive
の場合、またはキュー スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1 が返されます。
TA_CURMEMNONPERSIST
: 0 <= num
OPEn
または ACTive
の場合、またはキュー スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1 が返されます。
TA_CURMEMOVERFLOW
: 0 <= num
OPEn
または ACTive
の場合、またはキュー スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1 が返されます。
TA_CURMSG
: 0 <= num
OPEn
または ACTive
の場合、またはキュー スペースを新規に作成する場合にのみ指定できます。どの条件にも該当しない場合は、-1 が返されます。
TA_CUROWNERS
: 0 <= num
OPEn
または ACTive
の場合、またはキュー スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1 が返されます。
TA_CURPROC
: 0 <= num
TA_CURQUEUES
: 0 <= num
OPEn
または ACTive
の場合、またはキュー スペースを新規に作成する場合にのみ指定できます。どの条件にも該当しない場合は、-1 が返されます。
TA_CURTMPQUEUES
: 0 <= num
OPEn
または ACTive
の場合、またはキュー スペースを新規に作成する場合に指定できます。どの条件にも該当しない場合は、-1 が返されます。
TA_CURTRANS
: 0 <= num
TA_ERRORQNAME
: string
[0..15]
TA_FORCEINIT
: {Y
| N
}
TA_HWACTIONS
: 0 <= num
CLEaning
に設定されると、この値は 0 にリセットされます。
TA_HWCURSORS
: 0 <= num
CLEaning
に設定されると、この値は 0 にリセットされます。
TA_HWHANDLES
: 0 <= num
CLEaning
に設定されると、この値は 0 にリセットされます。
TA_HWMEMFILTERS
: 0 <= num
CLEaning
に設定されると、この値は 0 にリセットされます。
TA_HWMEMNONPERSIST
: 0 <= num
TA_HWMEMOVERFLOW
: 0 <= num
CLEaning
に設定されると、この値は 0 にリセットされます。
TA_HWMSG
: 0 <= num
TA_HWOWNERS
: 0 <= num
CLEaning
に設定されると、この値は 0 にリセットされます。
TA_HWPROC
: 0 <= num
TA_HWQUEUES
: 0 <= num
TA_HWTMPQUEUES
: 0 <= num
CLEaning
に設定されると、この値は 0 にリセットされます。
TA_HWTRANS
: 0 <= num
TUXCONFIG
環境変数で指定されるアプリケーションだけではなく、すべてのアプリケーションを含む値になります。キュー スペースの状態が CLEaning
に設定されると、この値は 0 にリセットされます。
TA_IPCKEY
: 32769 <= num
<= 262143
TA_MAXACTIONS
: 0 <= num
TA_MAXCURSORS
: 0 <= num
TA_MAXHANDLES
: 0 <= num
TA_MAXMSG
: 0 <= num
TA_MAXOWNERS
: 0 <= num
TA_MAXPAGES
: 0 <= num
TA_MAXPAGES
属性が増加するごとに、新しいエクステントが割り当てられます (TA_CUREXTENT を参照)。この属性に小さい値を指定してページ数を減少させることはできません。この場合、エラーが報告されます。
TA_MAXPROC
: 0 <= num
TA_MAXQUEUES
: 0 <= num
TA_MAXTMPQUEUES
: 0 <= num
TA_MAXTRANS
: 0 <= num
TA_MEMFILTERS
: 0 <= num
TA_MEMNONPERSIST
: 0 <= num
[bB]
TA_MEMNONPERSIST
が変更されると、指定されたキュー スペース内のすべての一時的メッセージが永久に失われます。
TA_MEMNONPERSIST
がゼロ (0) の場合、一時的メッセージ用の領域は確保されません。この場合、一時的メッセージをキューに登録しようとしても失敗します。たとえば、メッセージに対してサービスの配信の品質が指定されずに、対象キューの T_APPQ
クラスの TA_DEFDELIVERYPOLICY
属性が NONPERSIST
に設定された場合などです。非永続的配信では、メモリ領域のすべてが使用されている場合や分割されたメッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあっても、メッセージのキュー登録は異常終了します。同様に、永続ストレージのすべてが使用されている場合や分割されたメッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあっても、メッセージの登録操作は異常終了します。
TA_MEMOVERFLOW
: 0 <= num
TA_MEMSYSTEMRESERVED
: 0 <= num
TA_MEMTOTALALLOCATED
: 0 <= num
TA_PERCENTINIT
: 0 <= num
<= 100
T_APPQTRANS
クラスは、アプリケーション キューに関連付けられるトランザクションの実行時属性を表します。
すべてのキー フィールドを未設定にすると、このクラスのインスタンスをすべて検索できません。反対に、1 つのアプリケーション キュー スペースを明示的に指定するには、適切なキー フィールドを指定する必要があります。たとえば、tpcall()
を使用して、TA_XID
を除くすべてのキー フィールドを要求で設定した場合、指定されたキュー スペースに対応する T_APPQTRANS
オブジェクトがすべて検索されます。
このクラスのオブジェクトで表現されるトランザクションは必ずしも検索対象のアプリケーションに関連付けられないので注意してください。トランザクションは実際には別のアプリケーションに属していたり、別のアプリケーションに影響を与えたりする場合があるため、トランザクションをヒューリスティックにコミットまたはアボートするときには注意が必要です。TA_XID
属性の値は、アプリケーション間でユニークであるとは限りません。
a. T_APPQTRANS
クラスの属性はすべてローカルです。
b. T_APPQTRANS
オブジェクトのすべての操作 (GET
と SET
) は、関連付けられているキュー スペースを自動的に開きます。つまり、キュー スペースの状態が OPEn
または ACTive
になっていない場合、暗黙的に OPEn
に設定します。キュー スペースが大きいと、この操作は時間がかかります。
c. 1 つのアプリケーション キュー スペースを明示的に指定するには、GET
操作で適切なキー フィールドを指定する必要があります。
TA_XID
: string[1..78]
TA_APPQSPACENAME
: string
[1..15]
TA_QMCONFIG
: string
[1..78]
TA_LMID
: string
[1..30] (no comma)
TA_STATE
:
GET
操作は、選択したトランザクションに関する実行時情報を検索します。以下に、GET
要求に対する応答で返される TA_STATE
の意味を示します。すべての状態は ACTive
と同等で、パーミッションのチェックに使用します。
Oracle Tuxedo システムの MIB を使用した管理作業をサポートするために必要な既存の FML32 および ATMI 関数、さらにこのリファレンス ページに定義するヘッダ ファイルとフィールド テーブルは、すべてのサポート対象ネイティブ プラットフォームとワークステーション プラットフォームで使用可能です。
この MIB は、Oracle Tuxedo 6.0 以降が実行されているサイト (ネイティブおよび Workstation の両方) からのみアクセスできます。
Oracle Tuxedo 6.0 より前のリリースが実行されているサイトがアプリケーション内でアクティブ化された場合、この MIB による管理アクセスは次のとおり制限されます。
リリースが異なるサイト (共にリリース 6.0 以降) を相互運用する場合、当該リリースの MIB リファレンス ページに定義されるように、旧サイト上の情報はアクセスおよび更新可能で、以降のリリースで利用可能な情報のサブセットとなります。
以下に、アプリケーション キュー スペース、キュー、メッセージ、およびトランザクションに対する各種操作の実行方法を示すコードを示します。
各コードの前には、次のように、FML32 型付きバッファを割り当てるコードを追加してください。
rqbuf = tpalloc("FML32", NULL, 0);
バッファにデータを入力したら、各コードの後には、次のような、要求を送信し、応答を受信するコードを追加します。
flags = TPNOTRAN | TPNOCHANGE | TPSIGRSTRT;
rval = tpcall(".TMIB", rqbuf, 0, rpbuf, rplen, flags);
詳細については、MIB(5)
を参照してください。
属性フィールド識別子にアクセスするには、フィールド テーブル tpadm
が必要です。そのためには、次のようにシェルで入力します。
$ FIELDTBLS=tpadm
$ FLDTBLDIR=${TUXDIR}/udataobj
$ export FIELDTBLS FLDTBLDIR
#include <atmi.h>
#include <fml32.h>
#include <tpadm.h>
${TUXDIR}/lib/libtmib.a, ${TUXDIR}/lib/libqm.a、${TUXDIR}/lib/libtmib.so.<rel>
、${TUXDIR}/lib/libqm.so.<rel>
、${TUXDIR}/lib/libqm.lib
buildclient
を使用するときには、ライブラリを手動でリンクする必要があります。この場合は、-L${TUXDIR}/lib -ltmib -lqm
を指定する必要があります。
通常、アプリケーション キュー スペースを作成するには 2 つの操作が必要です。最初の操作ではキュー スペースを割り当てる Oracle Tuxedo システム デバイスを作成し、次の操作ではキュー スペース自体を作成します。
/* 上記を参照してバッファを割り当てる */
/* SITE1 に新しいデバイスを作成するための要求を作成 */
Fchg32(rqbuf, TA_OPERATION, 0, "SET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_DEVICE", 0);
Fchg32(rqbuf, TA_STATE, 0, "NEW", 0);
Fchg32(rqbuf, TA_CFGDEVICE, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
size = 500;
Fchg32(rqbuf, TA_DEVSIZE, 0, (char *)size, 0);
/* 上記を参照して要求を作成 */
/* 再使用のために同じバッファを再初期化する */
Finit32(rqbuf, (FLDLEN) Fsizeof32(rqbuf));
/* キュー スペースを作成するための要求を作成 */
Fchg32(rqbuf, TA_OPERATION, 0, "SET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_APPQSPACE", 0);
Fchg32(rqbuf, TA_STATE, 0, "NEW", 0);
Fchg32(rqbuf, TA_APPQSPACENAME, 0, "QSPACE1", 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
Fchg32(rqbuf, TA_ERRORQNAME, 0, "errque", 0);
ipckey = 123456;
Fchg32(rqbuf, TA_IPCKEY, 0, (char *)ipckey, 0);
maxmsg = 100;
Fchg32(rqbuf, TA_MAXMSG, 0, (char *)maxmsg, 0);
maxpages = 200;
Fchg32(rqbuf, TA_MAXPAGES, 0, (char *)maxpages, 0);
maxproc = 50;
Fchg32(rqbuf, TA_MAXPROC, 0, (char *)maxproc, 0);
maxqueues = 10;
Fchg32(rqbuf, TA_MAXQUEUES, 0, (char *)maxqueues, 0);
maxtrans = 100;
Fchg32(rqbuf, TA_MAXTRANS, 0, (char *)maxtrans, 0);
/* 上記を参照して要求を作成 */
以下のコードでは、上の例で作成したキュー スペースに新しいキューを作成します。
/* 要求を作成 */
Fchg32(rqbuf, TA_OPERATION, 0, "SET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_APPQ", 0);
Fchg32(rqbuf, TA_STATE, 0, "NEW", 0);
Fchg32(rqbuf, TA_APPQNAME, 0, "errque", 0);
Fchg32(rqbuf, TA_APPQSPACENAME, 0, "QSPACE1", 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
Fchg32(rqbuf, TA_APPQORDER, 0, "PRIO", 0);
/* 上記を参照して要求を作成 */
アプリケーションが認識しているアプリケーション キュー スペースを表示するには、2 段階の検索を行います。まず、/Q トランザクション マネージャ TMS_QM
を使用するグループがアプリケーション環境設定から検索され、次に各グループが参照しているキュー スペースが検索されます。以下のコードは、キュー スペースを使用する各 GROUP
エントリに 1 つの論理マシンが対応付けられていると仮定します (つまり、サーバ移行は未使用)。
/* すべての TMS_QM グループを検索する要求を作成 */
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_GROUP", 0);
Fchg32(rqbuf, TA_TMSNAME, 0, "TMS_QM", 0);
fldid1 = TA_OPENINFO;
fldid2 = TA_LMID;
Fchg32(rqbuf, TA_FILTER, 0, (char *)fldid1, 0);
Fchg32(rqbuf, TA_FILTER, 0, (char *)fldid2, 1);
/* アプリケーションに参加したと見なして要求を作成 */
rval = tpcall(".TMIB", rqbuf, 0, rpbuf, rplen, flags);
/* TMS_QM グループごとに、キュー スペースを検索する要求を作成 */
rval = Fget32(*rpbuf, TA_OCCURS, 0, (char *)occurs, NULL);
for (i = 0; i occurs; i++) {
/* バッファを再初期化して、すべての共通属性を設定 */
Finit32(rqbuf, (FLDLEN) Fsizeof32(rqbuf));
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_APPQSPACE", 0);
/* デバイスとキュー スペース名を調べるための OPENINFO を取得 */
/* OPENINFO の形式は、<resource-mgr>:<qmconfig>:<appqspacename> */
/* Windows の場合は、<resource-mgr>:<qmconfig>;<appqspacename> */
rval = Fget32(rpbuf, TA_OPENINFO, i, openinfo, NULL);
/* デバイスは、OPENINFO の 2 つ目のフィールド */
qmconfig = strchr(openinfo, ':') + 1;
/* キュー スペース名は、OPENINFO の 3 つ目のフィールド */
#if defined(_TMDOWN) || defined(_TM_NETWARE)
#define pathsep ";" /* PATH の区切り文字 */
#else
#define pathsep ":" /* PATH の区切り文字 */
#endif
appqspacename = strchr(qmconfig, pathsep);
appqspacename[0] = '\e0'; /* qmconfig を NULL で終了するように指定 */
appqspacename++; /* NULL に値を追加 */
/* APPQSPACENAME と QMCONFIG キーを設定 */
Fchg32(rqbuf, TA_APPQSPACENAME, 0, appqspacename, 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, qmconfig, 0);
/* LMID を取得 (このグループに対する移行はないものと見なす) */
rval = Fget32(rpbuf, TA_LMID, i, lmid, NULL);
Fchg32(rqbuf, TA_LMID, 0, lmid, 0);
/* 要求を作成 */
rval = tpcall(".TMIB", rqbuf, 0, rpbuf2, rplen2, flags);
}
上記のコードでは、キュー スペースが作成されていても、アプリケーションのコンフィグレーションに対応する GROUP
エントリがないと、キュー スペースは検索されません。このようなキュー スペースは、キュー スペースのキー フィールド (TA_APPQSPACENAME
、TA_QMCONFIG
、および TA_LMID
) の優先順位が分かっていなければ検索できません。
以下のコードでは、論理デバイス SITE1
上のデバイス /dev/q/dsk001
のキュー スペース QSPACE1
内のキュー STRING
にあるメッセージをすべて検索します。
/* 要求を作成 */ Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_APPQMSG", 0);
Fchg32(rqbuf, TA_APPQNAME, 0, "STRING", 0);
Fchg32(rqbuf, TA_APPQSPACENAME, 0, "QSPACE1", 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
/* 上記を参照して要求を作成 */
以下のコードでは、キュー スペース QSPACE1
の中の任意のキューを使用するトランザクションをすべて検索します。
/* 要求を作成 */ Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_APPQTRANS", 0);
Fchg32(rqbuf, TA_APPQSPACENAME, 0, "QSPACE1", 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, "/dev/q/dsk001", 0);
Fchg32(rqbuf, TA_LMID, 0, "SITE1", 0);
/* 上記を参照して要求を作成 */
${TUXDIR}/include/tpadm.h
${TUXDIR}/udataobj/tpadm
tpacall(3c)、tpadmcall(3c)、tpalloc(3c)、tpcall(3c)、tpdequeue(3c)、tpenqueue(3c)、tpgetrply(3c)、tprealloc(3c)、「FML 関数の紹介」、Fadd、Fadd32(3fml)、Fchg、Fchg32(3fml)、Ffind、Ffind32(3fml)、MIB(5)
、TM_MIB(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』
『FML を使用した Oracle Tuxedo アプリケーションのプログラミング』
AUTHSVR SRVGRP=”
identifier
“ SRVID=
number
other_parms
CLOPT="-A”
AUTHSVR
は、Oracle Tuxedo に用意されている、認証サービスを備えたサーバです。このサーバを保護されたアプリケーションで使用することにより、クライアントがアプリケーションに参加するときにユーザ単位の認証を行うことができます。このサーバは、アプリケーションへのアクセスを要求しているクライアント プロセスのための TPINIT
型付きバッファを含むサービス要求を受け付けます。TPINIT
型付きバッファのデータ フィールドをユーザのパスワードとして使用し、そのパスワードを設定済みパスワードと比較することにより、要求の妥当性をチェックします。要求が妥当であると認められると、クライアントが使用するためのチケットとしてアプリケーション キーが返されます。
アプリケーション キーの設定には、tpreturn(3c) の rcode
パラメータが使用されます。このパラメータは、妥当性検査に合格するか、パーミッションが拒否されたときに、tpinit(3c) を呼び出したコードに (tpurcode
で) 返されます。
AUTHSVR
の詳細については、「AUTHSVR に関する追加情報」を参照してください。
SECURITY
が USER_AUTH
に設定されている場合は、強制的にユーザ単位での認証が実行されます。UBBCONFIG
ファイルの RESOURCES
セクションの AUTHSVC
パラメータを使用して、アプリケーションに対する認証サービスの名前を設定することができます。たとえば、次の AUTHSVC
パラメータ設定では、SECURITY
が USER_AUTH
に設定されている場合に AUTHSVR によって宣言されるサービス (AUTHSVC
) が指定されます。
*RESOURCES
SECURITY USER_AUTH
AUTHSVC AUTHSVC
AUTHSVC
パラメータを設定しない場合、認証サービスはデフォルトによって AUTHSVC
となります。
デフォルトでは、アプリケーションの APPDIR
変数で定義される最初のパス名で参照されるディレクトリのファイル tpusr
はパスワード情報の検索に使用されますが、このファイルが存在しない場合は /etc/passwd
が使用されます。ただし、このファイルはシャドー パスワード ファイルを使用しているシステムでは正しく使用できません。ファイルは、サーバのコマンドライン オプションの "-f
filename
" オプションでファイル名を指定することによってオーバーライドすることができます (例 : CLOPT="-A -- -f /usr/tuxedo/users”
)。マスタ マシンからコンフィグレーションで指定された他のマシンへのユーザ ファイルの自動伝播は、$APPDIR/tpusr
を使用した場合にのみ実行されます。
ユーザ ファイルでは、(与えられた名前と) 一致するユーザ名とクライアント名が検索されます。ユーザ ファイルには、4 つのタイプのエントリがあります。これらをユーザの妥当性検査を行う際の一致の優先度の順に並べると、次のようになります。
認証要求は、最初に一致するパスワード ファイルのエントリに対してのみ認証されます。これらのセマンティクスを使用すれば、同じユーザが (通常異なるクライアント名の) 複数のエントリ名を持つことができ、ユーザ名にワイルドカードを使用できます。これらのセマンティクスを使用できるのは、tpaddusr()
、tpdelusr()
、および tpmodusr()
を利用してユーザ ファイルを管理する場合です。ただし、これらのセマンティクスを使用した場合、ACL
と MANDATORY_ACL
のセマンティクスとの互換性はなく、これらのセキュリティ レベルへの移行は困難になります。ACL セキュリティとの互換性のため制限的なセマンティクスを得るには、tpusradd()
、tpusrdel()
、および tpusrmod()
の各プログラムを利用してユーザ ファイルを管理する必要があります。
注意 : | tpusradd() 、tpusrdel() 、および tpusrmod() を使用するには、対象アプリケーションの SECURITY を USER_AUTH 、ACL 、または MANDATORY_ACL に設定する必要があります。そのようにしない場合、これらのプログラムを使用しようとするとエラーが返されます。 |
認証要求を処理する際には、特殊なクライアント名の値、つまり tpsysadm
(システム管理者) と tpsysop
(システム オペレータ) は AUTHSVR
(5) によって特別に扱われます。これらの値は、ユーザ ファイルのワイルドカードを利用したクライアント名と一致させることはできません。
AUTHSVR
によって返されるアプリケーション キーは、ユーザ ID です。このアプリケーション キーは、TPSVCINFO
というデータ構造の appkey
要素に含まれるすべてのサービスに渡されます。
標準仕様の AUTHSVR
は、システムの一部として ${TUXDIR}/bin/AUTHSVR
に格納された状態で出荷され、上記で説明したセマンティクスを持っています。ソース コードのサンプルは、${TUXDIR}/lib/AUTHSVR.c
に収められています。AUTHSVR
の代わりに、(Kerberos などを利用して) それぞれのアプリケーションに適した方法でユーザやユーザ データ (パスワードは不可) の妥当性を検査するアプリケーション認証サーバを使用することができます。AUTHSVR
の代わりに他のアプリケーション認証サーバを使用する場合、このリファレンス ページで後述する警告に特に留意してください。また、使用する認証サービスが (それぞれのサービスに渡す) アプリケーション キーとして返す値も、それぞれのアプリケーションによって異なります。
tpsysadm
と tpsysop
に対応するアプリケーション キーは、それぞれ 0x80000000 と 0xC0000000 です。
SECURITY
が ACL
または MANDATORY_ACL
に設定されている場合、ユーザ単位の認証が強制的に実行され、サービスや、アプリケーションのキュー、イベントにアクセスするためのアクセス制御リストがサポートされます。UBBCONFIG
ファイルの RESOURCES
セクションの AUTHSVC
パラメータを使用して、アプリケーションに対する認証サービスの名前を設定することができます。たとえば、次の AUTHSVC
パラメータ設定では、SECURITY
が ACL
または MANDATORY_ACL
に設定されている場合に AUTHSVR
によって宣言されるサービス (..AUTHSVC
) が指定されます。
*RESOURCES
SECURITY ACL
AUTHSVC ..AUTHSVC
AUTHSVC
パラメータを設定しない場合、認証サービスはデフォルトによって ..AUTHSVC
となります。
注意 : | AUTHSVR は、SECURITY が USER_AUTH に設定される場合に認証サービス AUTHSVC を宣言し、SECURITY が ACL または MANDATORY_ACL に設定される場合に認証サービス ..AUTHSVC を宣言します。AUTHSVC と ..AUTHSVC は、同じ認証サービスを指します。 |
ユーザ ファイルは、$APPDIR/tpusr
でなければなりません。このファイルは、マスタ マシンからコンフィグレーションで指定された他のアクティブ マシンに自動的に伝播されます。マスタ マシンでは、AUTHSVR
の 1 つのインスタンスが実行されている必要があります。コンフィグレーションで指定された別のアクティブ マシンでは、AUTHSVR の新たなコピーを実行できます。
ユーザ ファイルでは、(与えられた名前と) 一致するユーザ名とクライアント名が検索されます。ユーザ名は、ユーザ ファイルのエントリと正確に一致している必要があります。クライアント名は正確に一致している必要がありますが、代替手段としてユーザ ファイルのクライアント名の値をあらゆるクライアント名に該当するワイルドカード (*) として指定する方法も利用できます。ユーザ ファイルのエントリは 1 人のユーザにつき 1 つだけで、ユーザ名にワイルドカードを使用することはできません。ユーザ ファイルは、tpusradd()
、tpusrdel()
、および tpusrmod()
の各プログラム、グラフィカル ユーザ インタフェース、または管理インタフェースを使用して管理できます。
認証要求を処理する際には、特殊なクライアント名の値、つまり tpsysadm
(システム管理者) と tpsysop
(システム オペレータ) は AUTHSVR
(5) によって特別に扱われます。これらの値は、ユーザ ファイルのワイルドカードを利用したクライアント名と一致させることはできません。
AUTHSVR
によって返されるアプリケーション キーは、下位 17 ビットのユーザ ID と、それに続く 14 ビットのグループ ID で構成されます (上位ビットは管理キーとして予約されています)。tpsysadm
と tpsysop
に対応するアプリケーション キーは、それぞれ 0x80000000 と 0xC0000000 です。このアプリケーション キーは、TPSVCINFO
というデータ構造の appkey
要素に含まれるすべてのサービスに渡されます。
SECURITY
ACL
または MANDATORY_ACL
の場合、システムの一部として ${TUXDIR}/bin/AUTHSVR
に収められている AUTHSVR
を使用する必要があります。
警告 : | ${TUXDIR}/lib/AUTHSVR.c は、${TUXDIR}/bin/AUTHSVR を生成するために使用されるソースではありません (この実行可能ファイルは破壊しないでください)。独自の AUTHSVR を使用する場合は、${APPDIR} にインストールしてください。 |
AUTHSVR
は、Oracle Tuxedo に付属のサービスとして非 Workstation プラットフォームでサポートされます。
# USER_AUTH の使用
*RESOURCES
SECURITY USER_AUTH
AUTHSVC AUTHSVC
*SERVERS
AUTHSVR SRVGRP="AUTH" CLOPT="-A -- -f /usr/tuxedo/users" \
SRVID=100 RESTART=Y GRACE=0 MAXGEN=2
#
#
# ACL の使用
*RESOURCES
SECURITY ACL
AUTHSVC ..AUTHSVC
*SERVERS
AUTHSVR SRVGRP="AUTH" SRVID=100 RESTART=Y GRACE=0 MAXGEN=2
#
#
# カスタム認証サービスの使用
*RESOURCES
SECURITY USER_AUTH
AUTHSVC KERBEROS
*SERVERS
KERBEROSSVR SRVGRP="AUTH1" SRVID=100 RESTART=Y GRACE=0 MAXGEN=2
tpaddusr(1)、tpusradd(1)、UBBCONFIG(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』
Accesslog(5)
- Tuxedo クライアントの有効性のモニタ
Accesslog(5)
は、クライアントのログイン/ログオフ アクションをタイムスタンプと場所情報とともに記録するのに役立ちます。Accesslog はアクセス ログを作成し、Tuxedo ULOG ファイルに 1 行追加します。詳細については、「使用例」および「ULOG ファイル エントリ」を参照してください。
Accesslog は、24 時間ごとに新しいファイルをアクセス ログ ファイルに自動生成します。アクセス ログの出力ファイルは、以下の形式で生成されます。
hhmmss.uname!pname.pid.tid.ctx: total client ($currentclientcount), $event: $protocol [IP ($clientip)] cltname ($clientname) [usrname ($username)] success.
$currentclientcount = numeric_value
$event = enum_value
$protocol = enum_value
$clientip = string_value
$clientname = string_value
$username = string_value
コード リスト 2 は、Accesslog のファイル出力の例を示しています。
112749.ubuntu!?proc.31212.3079091888.0: total client (2), logon: NATIVE cltname () success
112749.ubuntu!?proc.31212.3079091888.0: total client (2), logoff: NATIVE cltname () success
112749.ubuntu!WSH.31211.3078347248.0: total client (2), logon: /WS IP (//127.0.1.1:39224), cltname () success
112749.ubuntu!WSH.31211.3078347248.0: total client (2), logoff: /WS IP (//127.0.1.1:39224), cltname () success
ULOG の各ログ エントリのヘッダには、最大クライアント数が自動的に記録されます。
注意 : | ULOG では、Accesslog(5) の出力にシステム サーバとアプリケーション サーバの統計情報は含まれません。highwater と currentclientcount は BBL によって出力されなかった場合は空になる場合があります。 |
hhmmss.uname!pname.pid.tid.ctx: mm-dd-yyyy: client high water ($highwater), total client ($currentclientcount)
コード リスト 3 は、Accesslog(5)
の行が追加された ULOG ファイルの例を示しています。
145622.ubuntu!tmloadcf.4568.3079399872.-2: 12-17-2008: client high water (0), total client (0)
145625.ubuntu!tmloadcf.4568.3079399872.-2: 12-17-2008: client high water (), total client ()
$highwater = numeric-value
$currentclientcount = numeric-value
ALOGPFX
ALOGPFX=string_value
ALOGPFX
が指定されていない場合は、デフォルトの $APPDIR/access
が使用されます。日付 "mmddyy" (月、日、年) がログ ファイル名の接頭辞に追加されます。アクセス ログのファイル名の長さは 255 文字未満でなければなりません。
ALOGRTNSIZE=numeric_value
compilation
- Oracle Tuxedo ATMI システムのアプリケーション コンポーネントのコンパイル命令
アプリケーションのクライアントとサーバ、および Oracle Tuxedo システムにリンクされているサブルーチンをコンパイルする場合、プログラマは以下のことを知っておく必要があります。
コード モジュールの記述が済み、実行可能プログラムを構築する準備が整ったプログラマは、以下の作業を行う必要があります。
Oracle Tuxedo システムには、この両方の操作をクライアント モジュールとサーバ モジュールで実行するための 2 つのコマンド、buildclient()
と buildserver()
が用意されています。いずれかのコマンドを実行して両方の操作を実行する場合、ファイルをリンクするためのライブラリを必ずコマンドラインで指定してください (詳細については、『Tuxedo コマンド リファレンス』の「buildclient(1)」および「buildserver(1)」を参照)。
リンクを行うには buildclient
または buildserver
を実行する必要がありますが、より柔軟なコンパイル方法も用意されています。必要に応じて、自分が選択したコンパイル コマンドを使用してファイルをコンパイルし、次に buildclient
または buildserver
を実行してリンク編集を行うこともできます。
このリファレンス ページの残りの部分では、各種のプログラムで必要なヘッダ ファイルと環境変数を示します。
UNIX システムのヘッダ ファイルは、必ず Oracle Tuxedo システムのヘッダ ファイルの前にインクルードします。一般的に使用される UNIX システムのヘッダ ファイルは stdio.h
と ctype.h
です。
TUXDIR
PATH
ULOGPFX
ULOGPFX
の値は ULOG
です。
|
|
注意 : | これらの変数の詳細については、『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』、『COBOL を使用した Oracle Tuxedo アプリケーションのプログラミング』、および『Oracle Tuxedo アプリケーションの設定』を参照してください。 |
共有ライブラリを使用してシステムが構築された場合、クライアントを実行する前に、共有ライブラリの位置を定義する環境変数を設定する必要があります。
注意 : | サーバ用のオプションの詳細については、servopts(5) リファレンス ページを参照してください。 |
FML 関数を呼び出す C プログラムには、以下のヘッダ ファイルをここに示す順序でインクルードします。
#include <UNIX_header_files
> (アプリケーションで必要な場合)
#include "fml.h”
FML の関数を含むプログラムをコンパイルするには、次のようにコマンドを実行します。
cc pgm.c -I $TUXDIR/include -L $TUXDIR/lib -lfml -lengine -o pgm
-L
オプションがローカルでサポートされていない場合、代わりに次のコマンドを使用します。
cc pgm.c -I $TUXDIR/include $TUXDIR/lib/libfml.a $TUXDIR/lib/libengine.a -o pgm
注意 : | ライブラリの指定順序は重要です。上に示したとおりの順序で指定してください。 |
FML VIEW コンパイラを使用するには、次のようにコマンドを実行します。
viewc view_file
ここで view_file
は、VIEW 用のソース記述が格納されている 1 つまたは複数のファイルです。
注意 : | viewc は、C コンパイラを呼び出します。使用するコンパイラを指定する場合は、環境変数 CC を使用できます。コンパイラにパラメータのセットを渡す場合は、環境変数 CFLAGS を使用できます。 |
FML を使用するアプリケーションを実行するときは、以下の環境変数を設定してエクスポートします。
FIELDTBLS
FLDTBLDIR
viewc
を実行するときは、以下の環境変数を設定してエクスポートします。
FIELDTBLS
FLDTBLDIR
VIEWDIR
buildclient(1)、buildserver(1)、viewc、viewc32(1)
UNIX システムのリファレンス マニュアルの cc
(1)、mc
(1)
DMADM SRVGRP = ”
identifier
“
SRVID = ”number
“
REPLYQ = ”N
”
Domains 管理サーバ (DMADM
) は、BDMCONFIG
ファイルに実行時にアクセスするための Oracle Tuxedo システム提供のサーバです。
DMADM
は、DMADMGRP
などのグループ内で動作するサーバとして、UBBCONFIG
の SERVERS
セクションで記述されます。このグループ内で動作する DMADM
は 1 つだけで、応答キューが存在していてはいけません (REPLYQ
を N
に設定する必要がある)。
SERVERS
セクションでは、DMADM
サーバのパラメータとして、SEQUENCE
、ENVFILE
、MAXGEN
、GRACE
、RESTART
、RQPERM
、および SYSTEM_ACCESS
も指定できます。
BDMCONFIG
環境変数は、バイナリ形式の DMCONFIG
ファイルが入っているファイルのパス名に設定する必要があります。
DMADM
は、サポートされているすべてのサーバ プラットフォームで Oracle Tuxedo システム提供のサーバとしてサポートされます。
DMADM
は、Oracle Tuxedo リリース 5.0 以降にインストールする必要があります。リリース 5.0 のゲートウェイが存在するドメイン内の他のマシンの場合は、リリース 4.1 以降でも構いません。
次の例は、UBBCONFIG
ファイルで管理サーバとゲートウェイ グループを定義する方法を示しています。この例では、GWTDOMAIN
ゲートウェイ プロセスを使用して別の Oracle Tuxedo ドメインと通信します。
#
*GROUPS
DMADMGRP LMID=mach1 GRPNO=1
gwgrp LMID=mach1 GRPNO=2
#
*SERVERS
DMADM SRVGRP="DMADMGRP" SRVID=1001 REPLYQ=N RESTART=Y GRACE=0
GWADM SRVGRP="gwgrp" SRVID=1002 REPLYQ=N RESTART=Y GRACE=0
GWTDOMAIN SRVGRP="gwgrp" SRVID=1003 RQADDR="gwgrp" REPLYQ=Y RESTART=Y MIN=1 MAX=1
dmadmin(1)、tmboot(1)、DMCONFIG(5)
、GWADM(5)
、servopts(5)
、UBBCONFIG(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『ATMI アプリケーションでの Oracle Tuxedo TOP END Domain Gateway の使用』
DMCONFIG
- テキスト形式の Domains コンフィグレーション ファイル
Domains コンフィグレーションは、Oracle Tuxedo Domains コンポーネントを使用して通信およびサービス共有を行うことができる 2 つ以上のドメイン (ビジネス アプリケーション) の集まりです。複数のドメインを接続する方法や複数のドメイン間で相互にアクセスできるサービスについては、Domains コンフィグレーションに参加する各 Oracle Tuxedo ドメインの Domains コンフィグレーション ファイルで定義されます。テキスト形式の Domains コンフィグレーション ファイルは DMCONFIG
と呼ばれますが、ファイルの内容がこのリファレンス ページで説明する形式に従っている限り、任意の名前を付けることができます。
DMCONFIG
ファイルは、dmloadcf(1) ユーティリティによって構文解析され、バイナリ形式のファイル BDMCONFIG
にロードされます。DMCONFIG
ファイルと同じように、BDMCONFIG
ファイルにも任意の名前を付けることができます。実際の名前は、BDMCONFIG
環境変数で指定されたデバイス ファイル名またはシステム ファイル名です。BDMCONFIG
ファイルは、Domains コンフィグレーションに参加する Tuxedo ドメインごとに 1 つ必要です。
DMCONFIG
ファイルと BDMCONFIG
ファイルの関係は、Oracle Tuxedo ドメインの定義に使用される UBBCONFIG
ファイルと TUXCONFIG
ファイルの関係に似ています。UBBCONFIG
ファイルと TUXCONFIG
ファイルについては、UBBCONFIG(5)
を参照してください。
DMCONFIG
ファイルの詳細 (例を含む) については、「DMCONFIG(5) に関する追加情報」を参照してください。ATMI と CORBA の両環境向けの Oracle Tuxedo Domains コンポーネントについては、「Oracle Tuxedo Domains コンポーネント」を参照してください。
Oracle Tuxedo ドメインは、単一の TUXCONFIG
ファイルに記述された環境として定義されます。Oracle Tuxedo 用語では、ドメインとアプリケーション (ビジネス アプリケーション) は同義です。
Domains コンフィグレーションに含まれる各 Oracle Tuxedo ドメインでは、1 つの Domains 管理サーバ (DMADM
) プロセスが実行されます。DMADM
は、特定の Oracle Tuxedo ドメインで実行されるすべてのドメイン ゲートウェイ グループ用の管理サーバです。
ドメイン ゲートウェイ グループは、Oracle Tuxedo システムのゲートウェイ管理サーバ (GWADM
) プロセスと Oracle Tuxedo システムのドメイン ゲートウェイ プロセスで構成されます。
Oracle Tuxedo システムのドメイン ゲートウェイ プロセスは、特定のタイプのトランザクション処理 (TP) ドメインとの通信サービスを提供します。たとえば、GWTDOMAIN
プロセスを使用すると、Oracle Tuxedo アプリケーションは他の Oracle Tuxedo アプリケーションと通信できます。ドメイン ゲートウェイは、別のドメインへの要求を中継し、応答を受信します。
ローカル ドメイン アクセス ポイントは、他のドメイン (リモート ドメイン) が使用できる Oracle Tuxedo ドメインの一連のサービスを表すユーザ指定の論理名です。ローカル ドメイン アクセス ポイントはドメイン ゲートウェイ グループにマップされるため、どちらも同義語として使用されます。
リモート ドメイン アクセス ポイントは、ローカル ドメインが使用できるリモート ドメインの一連のサービスを表すユーザ指定の論理名です。リモート ドメインは、別の Oracle Tuxedo アプリケーションまたは別の TP システムで動作するアプリケーションです。
リモート サービスは、ローカル ドメインがリモート ドメイン アクセス ポイントとローカル ドメイン アクセス ポイントを介して使用できるリモート ドメインのサービスです。
ローカル サービスは、リモート ドメインがローカル ドメイン アクセス ポイントを介して使用できるローカル ドメインのサービスです。
DMCONFIG
ファイルは、次のセクションで構成されます。
DM_LOCAL_DOMAINS
ともいう)DM_REMOTE_DOMAINS
ともいう)DM_LOCAL_SERVICES
ともいう)DM_REMOTE_SERVICES
ともいう)TDOMAIN
タイプのドメイン ゲートウェイ用のセクション)DM_
dom
(dom
は他のドメイン ゲートウェイ タイプのセクション (SNACRM
、SNASTACKS
、SNALINKS
、OSITP
、OSITPX
) のいずれか)
DMCONFIG
ファイル内のアスタリスク (*) で始まる行は、指定セクションの開始を表します。アスタリスク (*) の直後にはセクション名が表示されます。アスタリスクは、セクション名を指定するときに必要です。DM_LOCAL
セクションは、DM_REMOTE
セクションの前になければなりません。
このリファレンス ページでは、GWTDOMAIN
ゲートウェイ プロセスによって実装される TDOMAIN
(TDomain ゲートウェイ) をコンフィグレーションする方法について説明します。SNAX
、OSITP
、または OSITPX
ドメイン ゲートウェイのコンフィグレーションについては、「Oracle eLink」を参照してください。
パラメータは通常、KEYWORD
=
value
という形式で指定します。等号 (=
) の前後には空白またはタブ文字を使用できます。この形式により、KEYWORD
が value
に設定されます。有効なキーワードについては、以下の各セクションで説明します。
予約語の DEFAULT
で始まる行にはパラメータ仕様が含まれており、セクション内の以降の該当するすべての行に対して適用されます。デフォルト仕様はすべてのセクションで使用でき、同じセクション内で複数回使用できます。これらの行の形式は次のとおりです。
DEFAULT: [KEYWORD1
=value1
[KEYWORD2
=value2
[...]]]
この行で設定した値は、別の DEFAULT
行によってリセットされるか、セクションが終わるまで有効です。これらの値は、DEFAULT
でない行の省略可能なパラメータによってオーバーライドされる場合もあります。DEFAULT
でない行におけるパラメータ設定は、その行でのみ有効です。以降の行ではデフォルト設定に戻ります。DEFAULT
が行頭に表示されると、それ以前に設定されたすべてのデフォルト値はクリアされ、システムのデフォルト値に戻ります。
値が numeric
の場合は、C の標準表記法を使用して基数を示します。つまり、基数 16 (16 進) の接頭辞は 0x、基数 8 (8 進) の接頭辞は 0、基数 10 (10 進) には接頭辞が付きません。数値パラメータで指定できる範囲については、各パラメータの項で説明します。
値が identifier
(TYPE
パラメータの TDOMAIN
のように Oracle Tuxedo Domains コンポーネントにとって既知の文字列値) の場合、一般的に標準 C 規則が使用されます。標準 C の identifier
の先頭には英字またはアンダースコア (_) を使用し、以降の識別子には英数字またはアンダースコアを使用する必要があります。identifier の長さは最大 30 バイトです (最後の NULL を除く)。
識別子を二重引用符で囲む必要はありません。整数でも識別子でもない値は、二重引用符で囲む必要があります。
入力フィールドは、1 つ以上の空白 (またはタブ) 文字で区切ります。
"#
" はコメントを示します。復帰改行文字でコメントを終了します。
行は、復帰改行の後に最低 1 つのタブを置いて継続できます。コメントを継続することはできません。
Oracle Tuxedo のリリース 7.1 以降では、Domains 用の MIB で、ローカル ドメインとリモート ドメインとの相互作用を記述するため、クラスと属性の用語が改善されています。新しい用語は、DMCONFIG(5)
リファレンス ページ、セクション名、パラメータ名、エラー メッセージ、および DM_MIB(5)
リファレンス ページ、クラス、エラー メッセージに適用されます。
下位互換性のため、Oracle Tuxedo 7.1 より前に使用されていた DMCONFIG
用語と Domains 用の MIB の新しい用語との間でエリアスが提供されています。Oracle Tuxedo リリース 7.1 以降の DMCONFIG
では、両方のバージョンの用語を使用できます。次の表に、DMCONFIG
ファイルの旧用語と新用語の対応を示します。
Oracle Tuxedo のリリース 7.1 以降の dmunloadcf
コマンドでは、デフォルトで新しいドメイン関連の用語を使用する DMCONFIG
ファイルが生成されます。以前のドメイン関連の用語を使用する DMCONFIG
ファイルを出力するには、-c
オプションを使用します。次に例を示します。
プロンプト > dmunloadcf -c > dmconfig_prev
このセクション (DM_LOCAL_DOMAINS
セクションともいう) では、1 つまたは複数のローカル ドメイン アクセス ポイント識別子と、それらに関連付けるゲートウェイ グループを定義します。このセクションには、UBBCONFIG
ファイルで指定されたアクティブなゲートウェイ グループごとにローカル ドメイン アクセス ポイントのエントリが必要です。各エントリでは、グループで実行されるドメイン ゲートウェイ プロセスに必要なパラメータを指定します。
DM_LOCAL
セクションのエントリの形式は次のとおりです。
LocalAccessPointrequired_parameters
[optional_parameters
]
LocalAccessPoint は、UBBCONFIG
ファイルで定義された特定のゲートウェイ グループを表すローカル ドメイン アクセス ポイント識別子 (論理名) です。LocalAccessPoint は、Domains コンフィグレーションに含まれるローカルおよびリモート ドメイン間でユニークでなければなりません。DM_EXPORT
セクションで説明するとおり、ローカル ドメイン アクセス ポイントはローカル サービスを特定のゲートウェイ グループに関連付けるために使用します。ローカル ドメイン アクセス ポイントを通じて利用可能なローカル サービスは、1 つ以上のリモート ドメインのクライアントから利用できます。
GWGRP
=
identifier
TUXCONFIG
ファイルの GROUPS
セクションで指定された名前) を指定します。ローカル ドメイン アクセス ポイントとゲートウェイ グループは、1 対 1 の関係です。
TYPE
=
identifier
TDOMAIN
は、このローカル ドメイン アクセス ポイントが GWTDOMAIN
ゲートウェイ インスタンスに関連付けられ、これによって別の Oracle Tuxedo アプリケーションと通信できることを示します。
SNAX
は、このローカル ドメイン アクセス ポイントが GWSNAX
ゲートウェイ インスタンスに関連付けられ、これによって別の TP ドメインに SNA プロトコルを介して通信できることを示します。
OSITP
または OSITPX
は、このローカル ドメイン アクセス ポイントが GWOSITP
ゲートウェイ インスタンスに関連付けられ、これによって別の TP ドメインに OSI TP プロトコルを介して通信できることを示します。OSITP
は OSI TP 1.3 プロトコルを使用することを示し、OSITPX
は OSI TP 4.0 以降のプロトコルを使用することを示します。OSITPX
は、Oracle Tuxedo 8.0 以降のソフトウェアでのみサポートされます。
DMTYPE
ファイルで定義する必要があります。このファイルの場所は、Windows の場合は %TUXDIR%¥udataobj¥DMTYPE
、UNIX の場合は $TUXDIR/udataobj/DMTYPE
です。
ACCESSPOINTID
(DOMAINID
ともいう) =
string
[1..30]
ACCESSPOINTID
は、すべてのローカルおよびリモート ドメイン アクセス ポイント間でユニークでなければなりません。
string
の値は、一連の文字 (BA.CENTRAL01
など) か、または 0x
で始まる 16 進数 (0x0002FF98C0000B9D6
など) です。ACCESSPOINTID
は、30 バイト以下で指定する必要があります。文字列を指定する場合は、30 文字以内で指定する必要があります (最後の NULL を含む)。
以下に示す DM_LOCAL
セクションの省略可能なパラメータでは、ドメイン ゲートウェイの操作で使用するリソースと制限を指定します。
AUDITLOG
=
string
[1..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
$APPDIR
によって指定されたディレクトリまたは TUXCONFIG
ファイルの MACHINES
セクションの APPDIR
パラメータで指定されるディレクトリに、DM
mmddyy
.LOG
(mm
= 月、dd
= 日、yy
= 年) というファイルが作成されます。
BLOCKTIME
=
numeric
TUXCONFIG
ファイルの RESOURCES
セクションの SCANUNIT
パラメータの乗数です。SCANUNIT * BLOCKTIME
の値は、SCANUNIT
以上 32,768 秒未満でなければなりません。このパラメータを指定しないと、TUXCONFIG
ファイルの RESOURCES
セクションに指定された BLOCKTIME
パラメータの値がデフォルトとして使用されます。ブロッキング タイムアウト状態は、関連する要求が失敗したことを示します。
BLOCKTIME
を過ぎると、ドメイン間トランザクションでブロッキング タイムアウト状態が生じます。つまり、ドメイン間トランザクションでは、BLOCKTIME
値が TUXCONFIG
ファイルの SERVICES
セクションで指定された TRANTIME
タイムアウト値未満の場合、またはトランザクションを開始するための tpbegin()
呼び出しで渡されたタイムアウト値未満の場合、トランザクションのタイムアウトは BLOCKTIME
値まで減らされます。一方、ドメイン内トランザクション (単一の Oracle Tuxedo ドメイン内で処理されるトランザクション) の場合は、TUXCONFIG
ファイルの RESOURCES
セクションで指定された BLOCKTIME
値は、ドメイン内トランザクションのタイムアウトに何の影響も与えません。
CONNECTION_POLICY
=
{ON_DEMAND
| ON_STARTUP
| INCOMING_ONLY
| PERSISTENT_DISCONNECT
}
ON_DEMAND
、ON_STARTUP
、INCOMING_ONLY
、または PERSISTENT_DISCONNECT
です。このパラメータは、TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。
ON_DEMAND
の場合、クライアントがリモート サービスを要求したとき、または dmadmin(1)
connect
コマンドが実行されたときにのみ、ドメイン ゲートウェイはリモート ドメインへの接続を試行します。CONNECTION_POLICY
のデフォルト値は ON_DEMAND
です。接続ポリシーが ON_DEMAND
の場合、再接続は行われません。
ON_STARTUP
の場合、ドメイン ゲートウェイはゲートウェイ サーバの初期化時にリモート ドメインへの接続を試行します。CONNECTION_POLICY
を ON_STARTUP
に設定した場合、リモート ドメインへの接続が確立された場合にのみそのリモート サービス (ドメイン ゲートウェイによって宣言されたサービス) が宣言されます。つまり、リモート ドメインとの接続が確立されていないと、リモート サービスは中断されます。デフォルトでは、失敗した接続が 60 秒おきに再試行されるよう設定されています。再接続の間隔は、RETRY_INTERVAL
パラメータで変更できます。MAXRETRY
パラメータも参照してください。
INCOMING_ONLY
の場合、ドメイン ゲートウェイは起動時にリモート ドメインへの接続を試みません。このため、リモート サービスは最初は中断されています。ドメイン ゲートウェイは、リモート ドメインからの接続を受信したときに利用可能になります。リモート サービスは、ドメイン ゲートウェイが接続を受信したときか、dmadmin(1)
connect
コマンドで管理接続が確立されたときに宣言されます。接続ポリシーが INCOMING_ONLY
の場合、再接続は行われません。
PERSISTENT_DISCONNECT
接続ポリシーは、ローカル ドメインが他のドメインからの接続を拒否することを意味します。さらに、ドメイン ゲートウェイはリモート ドメインへの接続を試行しません。それに応じて関連するリモート サービスは中断します。ローカル ドメインは、別の接続ポリシーに手動で変更するまで孤立します。
注意 : | Oracle Tuxedo 8.1 以降のソフトウェアが実行されている TDOMAIN ドメイン ゲートウェイの場合、DM_TDOMAIN セクションにリモート ドメインごとに CONNECTION_POLICY を指定できます。 |
MAXRETRY
=
{numeric
| MAXLONG
}
TDOMAIN
タイプのドメイン ゲートウェイにのみ適用され、このローカル ドメイン アクセス ポイントの CONNECTION_POLICY
パラメータが ON_STARTUP
に設定されている場合にのみ有効です。それ以外の接続ポリシーの場合、自動再試行は無効になります。
MAXRETRY
の最小値は 0 で、最大値は MAXLONG
(2147483647) です。MAXLONG
(デフォルト) の場合、再接続処理が無限に繰り返されるか、または接続が確立されるまで繰り返されます。MAXRETRY=0
に設定すると、自動再接続は行われません。
RETRY_INTERVAL
=
numeric
TDOMAIN
タイプのドメイン ゲートウェイにのみ適用され、このローカル ドメイン アクセス ポイントの CONNECTION_POLICY
パラメータが ON_STARTUP
に設定されている場合にのみ有効です。それ以外の接続ポリシーの場合、自動再試行は無効になります。
RETRY_INTERVAL
の最小値は 0、最大値は 2147483647 です。デフォルト値は 60 です。MAXRETRY
を 0 に設定すると、RETRY_INTERVAL
は設定できません。
CONNECTION_PRINCIPAL_NAME
=
string
[0..511]
TDOMAIN
タイプのドメイン ゲートウェイのみに適用されます。
CONNECTION_PRINCIPAL_NAME
パラメータには最大 511 文字を指定できます (最後の NULL 文字を除く)。このパラメータを指定しないと、接続プリンシパル名はデフォルトでこのローカル ドメイン アクセス ポイントの ACCESSPOINTID
文字列になります。
CONNECTION_PRINCIPAL_NAME
に値を割り当てる場合、その値は、このローカル ドメイン アクセス ポイントの ACCESSPOINTID
パラメータの値と同じでなければなりません。これらの値が一致しないと、ローカル TDomain ゲートウェイ プロセスが起動せず、次の userlog(3c) メッセージが生成されます。ERROR: クリデンシャルを取得できません。
DMTLOGDEV
=
string
[1..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
TLOG
) を含む Oracle Tuxedo ファイル システムを指定します。TLOG
は、Oracle Tuxedo システムの VTOC テーブルとしてデバイスに格納されています。このパラメータを指定しない場合、このローカル ドメイン アクセス ポイントに関連付けられているドメイン ゲートウェイ グループは要求をトランザクション モードで処理できません。同じマシンのローカル ドメイン アクセス ポイント間で同じ Oracle Tuxedo ファイル システムを共有することはできますが、各ローカル ドメイン アクセス ポイントは DMTLOGNAME
パラメータで指定された名前のログ (DMTLOGDEV
内のテーブル) を保持する必要があります。
DMTLOGNAME
=
string
[1..30]
TLOG
の名前を指定します。複数のローカル ドメイン アクセス ポイント間で同じ Oracle Tuxedo ファイル システム (DMTLOGDEV
で指定) を共有する場合は、ユニークな名前を指定する必要があります。このパラメータを指定しない場合、デフォルト値は DMTLOG
となります。名前は 30 文字以内で指定する必要があります。
DMTLOGSIZE
=
numeric
TLOG
のサイズをページ数で指定します。この値は、0 より大きく、Oracle Tuxedo ファイル システムで使用可能な容量より小さくする必要があります。このパラメータを指定しないと、デフォルトの 100 ページが設定されます。
MAXRAPTRAN
(MAXRDTRAN
ともいう) =
numeric
MAXTRAN
=
numeric
TUXCONFIG
ファイルの RESOURCES
セクションに定義されている MAXGTT
パラメータ以下でなければなりません。MAXTRAN
を指定しない場合、デフォルト値は MAXGTT
です。
MTYPE
=
string
[1..15]
TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。
MTYPE
を指定しない場合、デフォルトでエンコーディングまたはデコーディングが実行されます。MTYPE
フィールドに設定した値が DMCONFIG
ファイルの DM_LOCAL
セクションと DM_REMOTE
セクションで共通している場合、データのエンコーディングとデコーディングが省略されます。MTYPE
には、15 文字までの任意の文字列値を指定できます。この値は比較のためだけに使用します。
SECURITY
=
{NONE
| APP_PW
| DM_PW
}
TDOMAIN
ドメイン ゲートウェイ用の SECURITY
パラメータの有効値は、現時点では NONE
、APP_PW
、DM_PW
の 3 つです。NONE
(デフォルト) の場合、セキュリティは使用されません。APP_PW
を指定すると、リモート ドメインからの接続の確立時にアプリケーション パスワード セキュリティが使用されます。アプリケーション パスワードは、TUXCONFIG
ファイルで定義しておく必要があります。DM_PW
を指定すると、リモート ドメインからの接続の確立時に、ドメイン パスワード セキュリティが使用されます。ドメイン パスワードは、dmadmin(1) コマンドで定義しておく必要があります。
SECURITY
パラメータは、OSITP
ドメイン ゲートウェイには適用されません。OSITPX
ゲートウェイの場合、NONE
または DM_PW
を使用できます。SNAX
ゲートウェイの場合、NONE
または DM_USER_PW
を使用できます。
以下の DM_LOCAL
セクション パラメータは補完的に示したもので、TDOMAIN
ドメイン ゲートウェイには適用されません。
SNAX
および OSITP
パラメータの詳細については、「Oracle eLink Documentation」を参照してください。
このセクション (DM_REMOTE_DOMAINS
セクションともいう) では、1 つまたは複数のリモート ドメイン アクセス ポイント識別子とそれらの特性を定義します。
DM_REMOTE
セクションのエントリの形式は次のとおりです。
RemoteAccessPoint
required_parameters
[optional_parameters
]
RemoteAccessPoint
は、ローカル Oracle Tuxedo アプリケーションにとって既知の各リモート ドメインを識別するために選択するリモート ドメイン アクセス ポイント識別子 (論理名) です。RemoteAccessPoint
は、Domains コンフィグレーションに含まれるローカルおよびリモート ドメイン間でユニークでなければなりません。DM_IMPORT
セクションで説明するとおり、リモート ドメイン アクセス ポイントはリモート サービスを特定のリモート ドメインに関連付けるために使用します。リモート ドメイン アクセス ポイントを介して使用できるリモート サービスは、リモート ドメイン アクセス ポイントとローカル ドメイン アクセス ポイントを介してローカル ドメイン内のクライアントで使用できます。
TYPE
=
identifier
TYPE
は、TDOMAIN
、SNAX
、OSITP
、または OSITPX
に設定できます。
TDOMAIN
は、GWTDOMAIN
プロセスのローカル インスタンスがリモート Oracle Tuxedo アプリケーションと通信することを示します。
SNAX
は、GWSNAX
プロセスのローカル インスタンスが SNA プロトコルを介してリモート TP ドメインと通信することを示します。
OSITP
は、GWOSITP
プロセスのローカル インスタンスが OSI TP 1.3 プロトコルを介してリモート TP ドメインと通信することを示します。
OSITPX
は、GWOSITP
プロセスのローカル インスタンスが OSI TP 4.0 以降のプロトコルを介してリモート TP ドメインと通信することを示します。OSITPX
は、Oracle Tuxedo 8.0 以降のソフトウェアでのみサポートされます。
ACCESSPOINTID
(DOMAINID
ともいう) =
string
[1..30]
TDOMAIN
ローカル ドメイン ゲートウェイの場合、この値は、このリモート ドメイン アクセス ポイント接続から受信した要求のユーザ ID として TDomain ゲートウェイ (GWTDOMAIN
プロセスのローカル インスタンス) によって使用される場合があります。ACCESSPOINTID
は、ローカルおよびリモート ドメイン アクセス ポイント間でユニークでなければなりません。
ACCESSPOINTID
は、30 バイト以下で指定する必要があります。文字列を指定する場合は、30 文字以内で指定する必要があります (最後の NULL を含む)。string
の値は、一連の文字か、または 0x
で始まる 16 進数です。
以下に示す DM_REMOTE
セクションの省略可能なパラメータでは、ローカル ドメイン ゲートウェイの操作で使用するリソースと制限を指定します。
ACL_POLICY
=
{LOCAL
| GLOBAL
}
TDOMAIN
タイプのドメイン ゲートウェイ、および Oracle Tuxedo 8.0 以降が実行されている OSITPX
タイプのドメイン ゲートウェイにのみに適用されます。
LOCAL
の場合は、リモート ドメインから受信したサービス要求の資格 (ID) が、ローカル ドメインによって、このリモート ドメイン アクセス ポイントの LOCAL_PRINCIPAL_NAME
パラメータで指定されたプリンシパル名に置換されます。GLOBAL
の場合、リモート サービス要求と一緒に受信した資格はローカル ドメインによって置換されません。リモート サービス要求と一緒に資格を受信していない場合、ローカル ドメインはそのサービス要求をローカル サービスにそのまま転送します (通常は失敗する)。このパラメータを指定しない場合、デフォルト値は LOCAL
です。
ACL_POLICY
パラメータは、ローカル ドメインがリモート ドメインから受信したサービス要求の資格を LOCAL_PRINCIPAL_NAME
パラメータに指定されているプリンシパル名に置き換えるかどうかを制御します。CREDENTIAL_POLICY
はこのパラメータに関連するパラメータで、ローカル ドメインがリモート ドメインにローカル サービス要求を送信する前にその要求から資格を削除するかどうかを制御します。
LOCAL_PRINCIPAL_NAME
=
string
[0..511]
ACL_POLICY
パラメータが LOCAL
(デフォルト) に設定されている場合、このリモート ドメインから受け取ったサービス要求に対してローカル ドメインが割り当てる ID です。このパラメータは、Oracle Tuxedo 7.1 以降のソフトウェアが実行されている TDOMAIN
タイプのドメイン ゲートウェイ、および Oracle Tuxedo 8.0 以降が実行されている OSITPX
タイプのドメイン ゲートウェイにのみに適用されます。
LOCAL_PRINCIPAL_NAME
パラメータには最大 511 文字を指定できます (最後の NULL 文字を除く)。このパラメータを指定しない場合は、リモート ドメイン アクセス ポイントの ACCESSPOINTID
文字列がデフォルト値になります。
CONNECTION_PRINCIPAL_NAME
=
string
[0..511]
TDOMAIN
タイプのドメイン ゲートウェイのみに適用されます。
CONNECTION_PRINCIPAL_NAME
パラメータには最大 511 文字を指定できます (最後の NULL 文字を除く)。このパラメータを指定しない場合は、リモート ドメイン アクセス ポイントの ACCESSPOINTID
文字列がデフォルト値になります。
CONNECTION_PRINCIPAL_NAME
に値を割り当てる場合、その値は、このリモート ドメイン アクセス ポイントの ACCESSPOINTID
パラメータの値と同じでなければなりません。これらの値が一致しないと、ローカル TDomain ゲートウェイとリモート TDomain ゲートウェイの接続は失敗し、次の userlog(3c) メッセージが生成されます。ERROR: ドメイン domain_name
の管理用キーを初期化できません。
CREDENTIAL_POLICY
=
{LOCAL
| GLOBAL
}
TDOMAIN
タイプのドメイン ゲートウェイのみに適用されます。
LOCAL
の場合は、このリモート ドメイン アクセス ポイントに対するローカル サービス要求から資格 (ID) がローカル ドメインによって削除されます。GLOBAL
の場合、このリモート ドメイン アクセス ポイントに対するローカル サービス要求から資格は削除されません。このパラメータを指定しない場合、デフォルト値は LOCAL
です。
CREDENTIAL_POLICY
パラメータは、ローカル ドメインがリモート ドメインにローカル サービス要求を送信する前にその要求から資格を削除するかどうかを制御します。ACL_POLICY
はこのパラメータに関連するパラメータで、ローカル ドメインがリモート ドメインから受信したサービス要求の資格を LOCAL_PRINCIPAL_NAME
パラメータに指定されているプリンシパル名に置き換えるかどうかを制御します。
MTYPE
=
string
[1..15]
TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。
MTYPE
を指定しない場合、デフォルトでエンコーディングまたはデコーディングが実行されます。MTYPE
フィールドに設定した値が DMCONFIG
ファイルの DM_LOCAL
セクションと DM_REMOTE
セクションで共通している場合、データのエンコーディングとデコーディングが省略されます。MTYPE
には、15 文字までの任意の文字列値を指定できます。この値は比較のためだけに使用します。
PRIORITY_TYPE =
{LOCAL_RELATIVE
| LOCAL_ABSOLUTE
| GLOBAL
}
INPRIORITY
=
numeric
PRIORITY_TYPE
パラメータと INPRIORITY
パラメータでは、このリモート ドメイン アクセス ポイントのメッセージの優先順位に関する処理を指定します。これらのパラメータは、Oracle Tuxedo 8.0 以降のソフトウェアでサポートされます。
PRIORITY_TYPE
パラメータの場合、LOCAL_RELATIVE
と LOCAL_ABSOLUTE
はすべてのリモート ドメイン タイプに対して有効ですが、GLOBAL
は TDOMAIN
のリモート ドメイン タイプに対してのみ有効です。PRIORITY_TYPE
パラメータを設定しない場合、デフォルト値は LOCAL_RELATIVE
です。
PRIORITY_TYPE=LOCAL_RELATIVE
は、tpsprio
呼び出しなどによるリモート ドメイン アクセス ポイントからの要求の優先順位がローカル ドメインによって使用されないことを意味します。代わりに、リモート ドメイン アクセス ポイントから受信する要求の優先順位は INPRIORITY
の値を基準に設定されます。この値は -99 (最低の優先順位) ~ +99 (最高の優先順位) です。デフォルト値は 0 です。INPRIORITY
の設定によって、サービスのデフォルトの優先順位は、設定値の符号に応じて最大 100、最小 1 までインクリメントまたはデクリメントされます。最高の優先順位は 100 です。リモート ドメイン アクセス ポイントへの要求の場合、要求に関連付けられている優先順位も一緒にリモート ドメイン アクセス ポイントに送信されます。
PRIORITY_TYPE=LOCAL_ABSOLUTE
は、このリモート ドメイン アクセス ポイントからの要求の優先順位がローカル ドメインによって使用されないことを意味します。代わりに、リモート ドメイン アクセス ポイントから受信する要求の優先順位は INPRIORITY
の値を基準に設定されます。この値は 1 (最低の優先順位) ~ 100 (最高の優先順位) です。デフォルト値は 50 です。INPRIORITY
の設定によって、サービスのデフォルトの優先順位は、設定値の符号に応じて最大 100、最小 1 までインクリメントまたはデクリメントされます。最高の優先順位は 100 です。リモート ドメイン アクセス ポイントへの要求の場合、要求に関連付けられている優先順位も一緒にリモート ドメイン アクセス ポイントに送信されます。
PRIORITY_TYPE=LOCAL_GLOBAL
は、このリモート ドメイン アクセス ポイントからの要求の優先順位がローカル ドメインによって調整されることを意味します。リモート ドメイン アクセス ポイントから受信する要求の優先順位は INPRIORITY
の値を基準に調整されます。この値は -99 (最低の優先順位) ~ +99 (最高の優先順位) です。デフォルト値は 0 です。INPRIORITY
を設定した場合、受信した要求に関連付けられている優先順位は INPRIORITY
の値に加算され、その要求の優先順位の絶対値が設定されます。INPRIORITY
を設定しない場合、受信する要求の優先順位がそのままローカル ドメインによって使用されます。リモート ドメイン アクセス ポイントへの要求の場合、要求に関連付けられている優先順位も一緒にリモート ドメイン アクセス ポイントに送信されます。
以下の DM_REMOTE
セクション パラメータは補完的に示したもので、TDOMAIN
ドメイン ゲートウェイには適用されません。
CODEPAGE
=
string
- SNAX
および OSITPX
ドメイン ゲートウェイに適用可能です。
SNAX
および OSITPX
パラメータの詳細については、「Oracle eLink Documentation」を参照してください。
このセクション (DM_LOCAL_SERVICES
セクションともいう) では、各ローカル ドメイン アクセス ポイントによってエクスポートされるサービスに関する情報を指定します。このセクションを指定しない場合、DM_LOCAL
セクションで定義したすべてのローカル ドメイン アクセス ポイントは、ローカル Oracle Tuxedo アプリケーションによって宣言されるすべてのサービスに対するリモート要求を受け付けます。このセクションを定義することにより、リモート ドメインから要求できるローカル サービスのセットが制限されます。
ローカル サービスは、1 つまたは複数のリモート ドメインがローカル ドメイン アクセス ポイントを介して使用できるサービスです。
DM_EXPORT
セクションのエントリの形式は次のとおりです。
service
[optional_parameters
]
service
は、特定のローカル サービスの識別子の名前 (15 文字以内) です。この名前は、ローカルの Oracle Tuxedo アプリケーション内で実行される 1 つまたは複数のサーバによって宣言された名前です。
1 つまたは複数のリモート ドメインで使用できるローカル サービスは、そのプロパティの多くを、TUXCONFIG
ファイルの SERVICES
セクションか、またはそれらのデフォルトから継承します。継承されるプロパティとして、LOAD
、PRIO
、AUTOTRAN
、ROUTING
、BUFTYPE
、TRANTIME
があります。
LACCESSPOINT
(LDOM
ともいう) =
identifier
DM_LOCAL
セクションで定義したすべてのローカル ドメイン アクセス ポイントは、このローカル サービスに対するリモート要求を受け付けます。
ACL
=
identifier
DM_ACCESS_CONTROL
セクションで定義します。
CONV
=
{Y
| N
}
RNAME
=
string
[1..30]
service
識別子) を使用してサービスを要求します。
以下の DM_EXPORT
セクション パラメータは補完的に示したもので、TDOMAIN
ドメイン ゲートウェイには適用されません。
SNAX
、OSITP
、および OSITPX
パラメータの詳細については、「Oracle eLink Documentation」を参照してください。
このセクション (DM_REMOTE_SERVICES
セクションともいう) では、DM_REMOTE
セクションで定義されたリモート ドメイン アクセス ポイントを介してローカル ドメインにインポートおよび提供されるサービスに関する情報を指定します。DM_IMPORT
セクションが存在しない場合、または存在しても空の場合、リモート サービスはローカル ドメインで使用できません。
リモート サービスは、ローカル ドメインがリモート ドメイン アクセス ポイントとローカル ドメイン アクセス ポイントを介して使用できるサービスです。
DM_IMPORT
セクションのエントリの形式は次のとおりです。
service
[optional_parameters
]
service
は、特定のリモート サービスに対してローカル Oracle Tuxedo によって宣言される識別子の名前 (15 文字以内) です。リモート サービスは、1 つまたは複数のリモート ドメインからインポートされます。
ローカル ドメインで使用できるリモート Oracle Tuxedo サービスは、そのプロパティの多くを、TUXCONFIG
ファイルの SERVICES
セクションか、またはそれらのデフォルトから継承します。継承されるプロパティとして、LOAD
、PRIO
、AUTOTRAN
、ROUTING
、BUFTYPE
、TRANTIME
があります。
RACCESSPOINT
(RDOM
ともいう) =
identifier1
[,
identifier2
][,
identifier3
][,
identifier4
]...[,indentifier 10
]
LACCESSPOINT
パラメータで) 指定した場合、指定したローカル ドメイン アクセス ポイントだけが、指定したリモート ドメイン アクセス ポイントを介してこのリモート サービスにローカル要求を送信できます。
DM_LOCAL
セクションで定義され、リモート ドメイン アクセス ポイントと同じゲートウェイ タイプ (TDOMAIN
など) を持つローカル ドメイン アクセス ポイントが、指定したリモート ドメイン アクセス ポイントを介してこのリモート サービスにローカル要求を送信できます。
DM_LOCAL
セクションで定義された任意のローカル ドメイン アクセス ポイントが、DM_REMOTE
セクションで定義された任意のリモート ドメイン アクセス ポイントを介してこのリモート サービスにローカル要求を送信できます。
identifier2
、identifier3
、および identifier4
引数を指定して代替リモート ドメイン アクセス ポイントをコンフィグレーションする場合、DM_LOCAL
セクションの CONNECTION_POLICY
パラメータの値として ON_STARTUP
を指定する必要があります。Oracle Tuxedo 8.1 以降のアプリケーションの場合、DM_TDOMAIN
セクションでも CONNECTION_POLICY
を指定できます。identifier2
をコンフィグレーションした場合、それはフェイルオーバ用に使用されます。identifier1
に関連付けられているリモート ドメインが使用できなくなった場合、identifier2
に関連付けられているリモート ドメインが使用されます。同様に、identifier3 ND identifier4
がコンフィグレーションされている場合、それらはフェイルオーバに使用されます。identifier1
、identifier2
、および identifier3
に関連付けられているリモート ドメインが使用できない場合は、identifier4
に関連付けられているリモート ドメインが使用されます。
LACCESSPOINT
(LDOM
ともいう) =
identifier
service
識別子) を Oracle Tuxedo システムの掲示板で宣言します。
BLOCKTIME
numeric_value
numeric_value
には 0 ~ 32,767 の値を指定します。指定しない場合、デフォルト値は 0 です。その場合は、UBBCONFIG RESOURCES
セクションで指定されたシステム全体の BLOCKTIME
値がサービスで使用されます。
CONV
=
{Y
| N
}
LOAD
=
numeric
RNAME
=
string
[1..30]
service
識別子) を使用してこのサービスを要求します。
ROUTING
=
identifier
identifier
は、DM_ROUTING
セクションで定義された ROUTING_CRITERIA_NAME
です。identifier
の値は 15 文字以下でなければなりません。同じサービス名の複数のエントリが異なるリモート ドメイン アクセス ポイントに含まれている場合 (RACCESSPOINT
パラメータで指定)、ROUTING
パラメータの値はこれらのエントリすべてに対して同じにする必要があります。
以下の DM_IMPORT
セクション パラメータは補完的に示したもので、TDOMAIN
ドメイン ゲートウェイには適用されません。
INBUFTYPE
=
string
- SNAX
、OSITP
、および OSITPX
ドメイン ゲートウェイに適用可能です。OUTBUFTYPE
=
string
- SNAX
、OSITP
、および OSITPX
ドメイン ゲートウェイに適用可能です。AUTOPREPARE
=
{Y
| N
} - OSITPX
ドメイン ゲートウェイに適用可能です。INRECTYPE
=
string
- OSITPX
ドメイン ゲートウェイに適用可能です。OUTRECTYPE
=
string
- OSITPX
ドメイン ゲートウェイに適用可能です。TPSUT_TYPE
=
{INTEGER
| PRINTABLESTRING
} - OSITPX
ドメイン ゲートウェイに適用可能です。REM_TPSUT
=
string
- OSITPX
ドメイン ゲートウェイに適用可能です。
SNAX
、OSITP
、および OSITPX
パラメータの詳細については、「Oracle eLink Documentation」を参照してください。
この省略可能なセクションでは、グローバル Domains コンフィグレーション情報、特にユーザ指定のコンフィグレーション バージョン文字列を定義します。このフィールドはソフトウェアによってチェックされません。
DM_RESOURCES
セクションのパラメータは次の 1 つだけです。
VERSION=
string
string
は、ユーザが現在の DMCONFIG
コンフィグレーション ファイルのバージョン番号を入力するためのフィールドです。
このセクションでは、型付きバッファである FML、FML32、VIEW、VIEW32、X_C_TYPE、X_COMMON、または XML を使用したローカル サービス要求のデータ依存型ルーティングに関する情報を指定します。
DM_ROUTING
セクションのエントリの形式は次のとおりです。
ROUTING_CRITERIA_NAME
required_parameters
ROUTING_CRITERIA_NAME
は、DM_IMPORT
セクションの特定のサービス エントリの ROUTING
パラメータに割り当てられる identifier
の名前です。ROUTING_CRITERIA_NAME
は 15 文字以下でなければなりません。
FIELD
=
identifier
identifier
の値には次のいずれかを指定できます。FML フィールド テーブル (FML および FML32 バッファの場合) で識別されたフィールド名、XML の要素あるいは要素属性 (XML バッファの場合)、または FML VIEW テーブル (VIEW、X_C_TYPE、または X_COMMON バッファの場合) で識別されたフィールド名です。FML フィールド テーブルを検索するには、2 つの環境変数、FLDTBLDIR
および FIELDTBLS
、または FLDTBLDIR32
および FIELDTBLS32
を使用します。同様に、FML VIEW テーブルを検索するには、2 つの環境変数、VIEWDIR
および VIEWFILES
、または VIEWDIR32
および VIEWFILES32
を使用します。FML または FML32 バッファ内のフィールドがルーティングに使用される場合は、フィールド番号は 8191 以下でなければなりません。
FIELD
パラメータは次の構文で定義される必要があります。
FIELD
=
“
root_element
[/child_element
][/child_element
][/. . .][/@attribute_name
]”
FIELD
の値には、ルーティングの要素または要素の属性名を指定します。root_element
の値には、XML ドキュメントまたはデータグラムの要素のタイプ (または名前) あるいは要素の属性名を指定できます。この情報は、ドキュメントまたはデータグラム送信時に、データ依存型ルーティングで要素の内容または属性を識別するために使用されます。要素名と属性名を組み合わせて、最大 30 文字まで指定できます。インデックスはサポートされないので、Oracle Tuxedo システムは、データ依存型ルーティングで XML
バッファを処理する際に、与えられた要素タイプの最初のオカレンスだけを認識します。
FIELDTYPE
=
type
FIELD
パラメータに指定されたルーティング フィールドのタイプを指定します。このパラメータは、XML バッファをルーティングする場合にのみ使用されます。値 type
は、CHAR
、SHORT
、LONG
、FLOAT
、DOUBLE
、STRING
のいずれかに設定できます。ルーティング フィールドのデフォルトのタイプは STRING
です。
RANGES
=
“
string
[1..4096]”
string
は二重引用符で囲みます。string
はカンマで区切ったペアのリストで、各ペアはコロン (:) で区切られた範囲とリモート ドメイン アクセス ポイントで構成されます (lower
- upper
の形式で表します。lower
と upper
は、いずれも符号付き数値または一重引用符で囲んだ文字列です。lower
の値は、upper
の値より小さくなければなりません。
O'Brien
)、一重引用符の前に円マークを 2 つ入れます (例 : O¥¥'Brien
)。
FIELD
のデータ型の最小値を示すには、値 MIN
を使用します。文字列と carray の最小値には NULL 文字列を指定します。文字フィールドの最小値には 0 を指定します。数値の場合、これはフィールドに格納できる最小値です。
FIELD
のデータ型の最大値を示すには、値 MAX
を使用します。文字列と carray の最大値には、8 進数値の 255 文字の無限文字列を指定します。文字フィールドの最大値には、単一の 8 進数値の 255 文字を指定します。数値の場合は、数値としてフィールドに格納できる最大値です。したがって、MIN - -5
は -5 以下のすべての数値を指し、6 - MAX
は、6 以上のすべての数値を指すことになります。範囲内のメタキャラクタ *
(ワイルドカード) は、すでにエントリとして指定した範囲では使用されなかった任意の値を示します。各エントリでは、1 つのワイルドカードによる範囲指定だけが可能です。1 つのエントリで使用できるワイルドカード範囲は 1 つだけで、最後になければなりません (後続の範囲は無視される)。
atof(3)
で使用できる浮動小数点数は、まず任意の符号、次に数字列 (小数点が入ってもよい)、任意の e
または E
、任意の符号またはスペース、最後に整数という形式を取ります。
*
を指定すると、ゲートウェイ グループが認識する任意のリモート ドメインに要求が送られます。
BUFTYPE
=
“
type1
[:
subtype1
[, subtype2
. . . ]][;type2
[:subtype3
[, . . . ]]] . . .”
FML
、FML32
、VIEW
、VIEW32
、X_C_TYPE
、X_COMMON
、または XML
に制限されています。FML
、FML32
、または XML
に対してはサブタイプを指定できず、VIEW
、VIEW32
、X_C_TYPE
、および X_COMMON
ではサブタイプを指定する必要があります (*
は使用できません)。タイプとサブタイプのペアのうち、重複するものは同じルーティング基準名として指定できません。タイプとサブタイプのペアがユニークな場合、複数のルーティング エントリは同じ基準名を持つことができます。これは必須パラメータです。単一のルーティング エントリに複数のバッファ タイプが指定される場合、各バッファ タイプに対するルーティング フィールドのデータ型は同じでなければなりません。
このセクションでは、1 つまたは複数のアクセス制御リスト (ACL) の名前を指定し、各 ACL 名に 1 つまたは複数のリモート ドメイン アクセス ポイントを関連付けます。ACL=
ACL_NAME
を設定して DM_EXPORT
セクションで ACL
パラメータを使用すると、特定のローカル ドメイン アクセス ポイントを通じてエクスポートされるローカル サービスへのアクセスを ACL_NAME
と関連付けられたリモート ドメイン アクセス ポイントのみに制限できます。
DM_ACCESS_CONTROL
セクションのエントリの形式は次のとおりです。
ACL_NAME
required_parameters
ACL_NAME
はアクセス制御リストを指定するための識別子です。長さは 15 文字までです。
DM_ACCESS_CONTROL
セクションの必須パラメータは次の 1 つだけです。
ACLIST
=
identifier
[,
identifier
]
ACLIST
には、1 つまたは複数のリモート ドメイン アクセス ポイント名をカンマで区切って指定します。ワイルドカード文字 (*
) を使用すると、DM_REMOTE
セクションで定義したすべてのリモート ドメイン アクセス ポイントが特定のローカル ドメイン アクセス ポイントからエクスポートされるローカル サービスにアクセスできます。
このセクションでは、TDomain ゲートウェイのネットワーク固有の情報を定義します。リモート ドメインからローカル サービスへの要求がローカル ドメイン アクセス ポイントで受け付けられる場合、DM_TDOMAIN
セクションには、ローカル ドメインごとに少なくとも 1 つのエントリがなければなりません。また、ローカル ドメインからリモート サービスへの要求がリモート ドメイン アクセス ポイントで受け付けられる場合、そのアクセス ポイントごとに 1 つのエントリがなければなりません。
DM_TDOMAIN
セクションは、アクセス ポイント エントリの次のネットワーク プロパティをコンフィグレーションするために使用します。
DM_TDOMAIN
セクションのエントリの形式は次のとおりです。
AccessPoint
required_parameters
[
optional_parameters
]
AccessPoint
は、ローカル ドメイン アクセス ポイントまたはリモート ドメイン アクセス ポイントの識別子の値です。AccessPoint
識別子は、DM_LOCAL
セクションに定義されているローカル ドメイン アクセス ポイントか、または DM_REMOTE
セクションに定義されているリモート ドメイン アクセス ポイントと一致する必要があります。
NWADDR
=
string
[1..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
DM_TDOMAIN
エントリ間でユニークでなければなりません。
string
の形式が “0x
hex-digits
”
または “¥¥x
hex-digits
”
の場合、偶数の有効な 16 進数を含める必要があります。これらの形式は、TCP/IP アドレスを含む文字配列に内部変換されます。string
の値は次のいずれかの形式で指定します (表 11 を参照)。
gethostbyname
(3c) を介してアクセスされたローカル コンフィグレーションの名前解決機能を使ってアドレスが結合されるときに、hostname
は TCP/IP ホスト アドレスに解決されます。#
.
#
.
#
.
#
はドットで区切った 10 進数の形式で、各 #
は 0 から 255 までの 10 進数です。
Port_number
は、0 ~ 65535 の 10 進数です。
注意 : | 一部のポート番号は、お使いのシステムで使用される基底のトランスポート プロトコル (TCP/IP など) のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート プロトコルのマニュアルを調べてください。 |
NWDEVICE
=
string
[1..78]
CMPLIMIT
=
numeric
CMPLIMIT
の値より大きいアプリケーション バッファは圧縮されます。
MINENCRYPTBITS
=
{0
| 40
| 56
| 128
| 256
}
0
は暗号化が行われないことを意味し、40
、56
、128
、または 256
は暗号化キーの長さをビット単位で指定します。デフォルト値は 0
です。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。 256 ビットの暗号化は、現時点では SSL を使用している場合にのみ指定できます。 |
MAXENCRYPTBITS
=
{0
| 40
| 56
| 128
| 256
}
0
は暗号化が行われないことを意味し、40
、56
、128
、または 256
は暗号化キーの長さをビット単位で指定します。デフォルト値は 128
です。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。 256 ビットの暗号化は、現時点では SSL を使用している場合にのみ指定できます。 |
NWPROTOCOL
=
{LLE
| SSL
| SSL_ONE_WAY
}
LLE
です。SSL
では接続の両側のドメインが相互に認証を行う必要がありますが、SSL_ONE_WAY
ではその必要はありません。
SSL_ONE_WAY
が設定されている場合、SSL 接続を受け付けるドメインが、SSL 証明書を使用して接続を開始したドメインに対して自身を認証する必要があります。開始側のドメインは、もう一方のドメインに対して自身を認証する必要はありません。この値は、CONNECTION_POLICY
が INCOMING_ONLY
に設定されている場合に使用されることを想定しています。受信する接続を受け付けるドメインで、接続するドメインを認証する必要がない場合にのみ設定してください。
注意 : | NWPROTOCOL が設定されていない場合や LLE に設定されている場合に、SSL_RENEGOTIATION にゼロ以外の値が設定されていると、dmloadcf によって警告メッセージが出力されます。 |
SSL_RENEGOTIATION
numeric
注意 : | NWPROTOCOL が設定されていない場合や LLE に設定されている場合に、SSL_RENEGOTIATION にゼロ以外の値が設定されていると、dmloadcf によって警告メッセージが出力されます。 |
CONNECTION_POLICY
=
{LOCAL
| ON_DEMAND
| ON_STARTUP
| INCOMING_ONLY
| PERSISTENT_DISCONNECT
}
LOCAL
、ON_DEMAND
、ON_STARTUP
、INCOMING_ONLY
、または PERSISTENT_DISCONNECT
(リモート ドメイン アクセス ポイントのみ) です。LOCAL
は、リモート ドメイン アクセス ポイントにのみ適用されます。
CONNECTION_POLICY
パラメータは DM_TDOMAIN
セクションでも指定できます。特定のローカルまたはリモート ドメイン アクセス ポイントの DM_TDOMAIN
セクションの値は、DM_LOCAL
セクションのグローバル値に優先します。グローバル接続ポリシーをオーバーライドできるので、TDomain セッション単位で接続ポリシーをコンフィグレーションできます。
DM_LOCAL
セクションに指定されるグローバル接続ポリシーが使用されます。DM_TDOMAIN
セクションでグローバル接続ポリシーを指定する場合は、DM_LOCAL
セクションでグローバル接続ポリシーを指定しないでください。
LOCAL
の場合、リモート ドメイン アクセス ポイントは DM_LOCAL
セクションに指定されるグローバル接続ポリシーを受け入れます。LOCAL
は、リモート ドメイン アクセス ポイントに対するデフォルトの接続ポリシーです。LOCAL
を除き、リモート ドメイン アクセス ポイントに対する接続ポリシーは、ローカル ドメイン アクセス ポイントに対する接続ポリシーに優先します。
ON_DEMAND
の場合、クライアントがリモート サービスを要求したとき、または dmadmin(1)
connect
コマンドが実行されたときにのみ、TDomain ゲートウェイは接続を試行します。接続ポリシーが ON_DEMAND
の場合、再接続は行われません。
ON_STARTUP
の場合、TDomain ゲートウェイはゲートウェイ サーバの初期化時に接続を試行します。ON_STARTUP
に設定した場合、リモート ドメインへの接続が確立された場合にのみそのリモート サービス (TDomain ゲートウェイによって宣言されたサービス) が宣言されます。つまり、リモート ドメインとの接続が確立されていないと、リモート サービスは中断されます。デフォルトでは、失敗した接続が 60 秒おきに再試行されるよう設定されています。再接続の間隔は、DM_TDOMAIN
セクションの RETRY_INTERVAL
パラメータで変更できます。このセクションの MAXRETRY
パラメータも参照してください。
INCOMING_ONLY
の場合、TDomain ゲートウェイは起動時にリモート ドメインへの接続を試みません。このため、リモート サービスは最初は中断されています。TDomain ゲートウェイは、リモート ドメインからの接続を受信したときに利用可能になります。リモート サービスは、ドメイン ゲートウェイが接続を受信したときか、dmadmin(1)
connect
コマンドで管理接続が確立されたときに宣言されます。接続ポリシーが INCOMING_ONLY
の場合、再接続は行われません。
PERSISTENT_DISCONNECT
接続ポリシーは、リモート ドメインからの受信時接続を拒否することを意味します。ローカル ドメインはリモート ドメインへの接続を試行しません。それに応じて関連するリモート サービスは中断します。ローカル ドメインは、別の接続ポリシーに手動で変更するまで孤立します。
注意 : | PERSISTENT_DISCONNECT ポリシーは、DM_TDOMAIN セクションのリモート アクセス ポイントでのみ使用できます。 |
FAILOVERSEQ =
-1 <= num
<= 32767
FAILOVERSEQ
の番号が最も小さい TDomain セッション レコードが、そのセッションのプライマリ レコードになります。指定しない場合、FAILOVERSEQ
はデフォルトで -1 に設定されます。
NWADDR
、NWDEVICE
、および FAILOVERSEQ
を除いて、プライマリ レコードは、すべての TDomain セッション コンフィグレーションのパラメータと属性のソースになります。セカンダリ (バックアップ) レコードで指定されている他のパラメータと属性は無視されます。
CONNECTION_POLICY
属性に基づいて、ローカル ドメインは TDomain セッションのプライマリ レコードに接続しようとします。プライマリ レコードに接続できなかった場合は、次の順のセカンダリ (バックアップ) レコードに接続しようとします。すべてのセカンダリ レコードへの接続が失敗した場合は、MAXRETRY
に達するまで、RETRY_INTERVAL
で指定された間隔でプライマリ レコードの情報を再試行します。
LACCESSPOINT
(LDOM
ともいう) =
“string”
[1..30]
DMCONFIG
ファイルの DM_LOCAL
セクション内のローカル ドメイン アクセス ポイントの名前を指定します。
LACCESSPOINT
パラメータは、TDomain セッション ゲートウェイを定義するためにのみ使用され、値としてローカル ドメイン アクセス ポイントを 1 つだけ指定できます。
LACCESSPOINT
はデフォルトで “*” に設定され、TDomain セッションは DM_LOCAL
セクション内のすべてのローカル ドメイン アクセス ポイントに接続しようとします。LACCESSPOINT
パラメータの代わりに LDOM
を使用することもできます。
注意 : | LACCESSPOINT では、正規表現の値を使用して複数のローカル ドメイン アクセス ポイントを定義することもできます。dmloadcf を使用して DMCONFIG ファイルがコンパイルされるときに、正規表現値は BDMCONFIG ファイル内の完全なローカル ドメイン名に展開されます。DMCONFIG ファイルでは、LACCESSPOINT には正規表現しか使用できません。 |
MAXRETRY
=
{numeric
| MAXLONG
}
DM_TDOMAIN
セクションで使用でき、このアクセス ポイントの CONNECTION_POLICY
パラメータが ON_STARTUP
に設定されている場合に有効です。それ以外の接続ポリシーの場合、自動再試行は無効になります。
MAXRETRY
の最小値は 0 で、最大値は MAXLONG
(2147483647) です。MAXLONG
(デフォルト) の場合、再接続処理が無限に繰り返されるか、または接続が確立されるまで繰り返されます。
RETRY_INTERVAL
=
numeric
DM_TDOMAIN
セクションで使用でき、このアクセス ポイントの CONNECTION_POLICY
パラメータが ON_STARTUP
に設定されている場合に有効です。それ以外の接続ポリシーの場合、自動再試行は無効になります。
RETRY_INTERVAL
の最小値は 0、最大値は 2147483647 です。デフォルト値は 60 です。MAXRETRY
を 0 に設定すると、RETRY_INTERVAL
は設定できません。
TCPKEEPALIVE
=
{LOCAL
| NO
| YES
}
LOCAL
、N
(NO)、または Y
(YES) です。LOCAL
は、リモート ドメイン アクセス ポイントにのみ適用されます。
TCPKEEPALIVE
パラメータは、Oracle Tuxedo 8.1 以降のソフトウェアが実行されている TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。リモート ドメイン アクセス ポイントに対するこの値は、ローカル ドメイン アクセス ポイントに対する値に優先します。ローカル ドメイン アクセス ポイント値をオーバーライドできるので、リモート ドメイン単位で TCP レベル キープアライブをコンフィグレーションできます。
LOCAL
を指定すると、リモート ドメイン アクセス ポイントは、ローカル ドメイン アクセス ポイントに対して定義されている TCP レベル キープアライブ値を受け入れます。LOCAL
は、リモート ドメイン アクセス ポイントに対するデフォルトの TCP レベル キープアライブ値です。
NO
を指定すると、このアクセス ポイントに対する TCP レベル キープアライブが無効になります。N
は、ローカル ドメイン アクセス ポイントに対するデフォルトの TCP レベル キープアライブ値です。
YES
を指定すると、このアクセス ポイントに対する TCP レベル キープアライブが有効になります。接続の TCP レベル キープアライブが有効になった場合、その接続のキープアライブ間隔は、オペレーティング システムの TCP キープアライブ タイマー用にコンフィグレーションされているシステム レベル値です。この間隔は、TDomain ゲートウェイが接続でトラフィックを受信せずに待機する最長時間です。この最長時間を超えると、ゲートウェイは TCP レベル キープアライブ要求メッセージを送信します。接続がまだ開いており、リモート TDomain ゲートウェイが正常に動作している場合、リモート ゲートウェイは肯定応答を返信します。ローカル TDomain ゲートウェイは、要求メッセージを送信してから一定時間内に肯定応答を受信しなかった場合、接続が切断されたと見なして、その接続に関連するすべてのリソースを解放します。
注意 : | TCPKEEPALIVE と DMKEEPALIVE は、相互に排他的ではありません。つまり、両方のパラメータを使用してドメイン間接続をコンフィグレーションできます。 |
DMKEEPALIVE
= numeric
DMKEEPALIVE
パラメータは、Oracle Tuxedo 8.1 以降のソフトウェアが実行されている TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。リモート ドメイン アクセス ポイントに対するこの値は、ローカル ドメイン アクセス ポイントに対する値に優先します。ローカル ドメイン アクセス ポイント値をオーバーライドできるので、リモート ドメイン単位でアプリケーションレベル キープアライブをコンフィグレーションできます。
DMKEEPALIVEWAIT
パラメータを参照) に肯定応答を受信しなかった場合、接続が切断されたと見なして、その接続に関連するすべてのリソースを解放します。
注意 : | DMKEEPALIVE と TCPKEEPALIVE は、相互に排他的ではありません。つまり、両方のパラメータを使用してドメイン間接続をコンフィグレーションできます。 |
DMKEEPALIVEWAIT
=
numeric
TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。
DMKEEPALIVE
が 0 (キープアライブが無効) の場合、DMKEEPALIVEWAIT
の設定は無効です。
DMKEEPALIVE
を有効にし、DMKEEPALIVEWAIT
を DMKEEPALIVE
より大きい値に設定した場合、ローカル TDomain ゲートウェイは DMKEEPALIVEWAIT
タイマーが期限切れになるまでに複数のアプリケーションレベル キープアライブ メッセージを送信します。このような設定の組み合わせも可能です。
DMKEEPALIVE
を有効にし、DMKEEPALIVEWAIT
を 0 に設定した場合、送信されたキープライブ メッセージに対する肯定応答は意味を持ちません。こうした肯定応答は、TDomain ゲートウェイによってすべて無視されます。ゲートウェイは、DMKEEPALIVE
タイマーがタイムアウトするたびにキープライブ メッセージを送信します。この設定の組み合わせは、ファイアウォールを介したアイドル接続を保持するために使用します。
MAC={OFF|ON|MANDATORY}
OFF
、ON
、MANDATORY
です。詳細については、「ATMI のセキュリティについて」の「サービス拒否 (DoS) の防御」を参照してください。
MACLEVEL={0|1|2|3}
この DM_TDOMAIN
エントリが (DM_LOCAL
セクションで指定された) ローカル ドメイン アクセス ポイントの場合、その NWADDR
は受信する接続をリスンするためのネットワーク アドレスです。DM_TDOMAIN
セクションでは、ローカル ドメイン アクセス ポイントに関連付けられたエントリを複数回指定して、ローカル ドメイン アクセス ポイントに関連付けられているサービスを Oracle Tuxedo ドメイン内の別のマシンに移行できます。
リモート ドメイン アクセス ポイント (DM_REMOTE
セクションで指定) に関連付けられたエントリも、DM_TDOMAIN
セクションで複数回指定できます。FAILOVERSEQ
が指定されていない場合、最初のエントリは、一次アドレスと見なされます。つまり、その NWADDR
は、リモート ドメイン アクセス ポイントへの接続が最初に試行されるときのネットワーク アドレスです。2 番目のエントリは二次アドレスと見なされます。つまり、その NWADDR
は一次アドレスを使用して接続を確立できないときに試される 2 番目のネットワーク アドレスです。
注意 : | FAILOVERSEQ パラメータを使用すると、TDomain セッションの接続ポリシーのプライマリ アドレスとセカンダリ アドレスが決定されます。 |
この DM_TDOMAIN
エントリがリモート ドメイン アクセス ポイントの別のオカレンスの場合、このエントリは、一次リモート ゲートウェイが存在する Oracle Tuxedo ドメインとは別の Oracle Tuxedo ドメインに存在する必要がある二次リモート ゲートウェイを指し示します。二次および一次リモート ゲートウェイの ACCESSPOINTID
は、それぞれに対応する DMCONFIG
ファイルの DM_LOCAL
セクションで同じ値でなければなりません。この仕組みはミラー ゲートウェイと呼ばれます。この機能は、トランザクションや会話の際に使用しないようにしてください。また、一次リモート ゲートウェイが使用できるときには、ミラー ゲートウェイの使用はお勧めできません。
注意 : | DM_TDOMAIN セクションのローカルまたはリモート ドメイン アクセス ポイントの複数のエントリの場合、NWADDR パラメータの複数のインスタンスだけが Domains ソフトウェアによって読み取られます。他のパラメータの複数のインスタンスの場合、パラメータの最初のインスタンスだけが Domains ソフトウェアによって読み取られ、それ以外のインスタンスはすべて無視されます。 |
BDMCONFIG
環境変数は、BDMCONFIG
コンフィグレーション ファイルを検索するために使用します。
以下は、5 つのサイトの Domains コンフィグレーションを定義するコンフィグレーション ファイルの例です。この例は、Central Bank Branch と通信する 4 つの銀行支店ドメインを示しています。3 つの銀行支店は、他の Oracle Tuxedo ドメイン内で動作しています。4 つ目の支店は、別の TP ドメインの制御下で動作しています。そのドメインと Central Bank との通信には OSI TP が使用されています。この例は、Central Bank から見た Domains コンフィグレーション ファイルを示しています。
# Central Bank 用の Oracle Tuxedo Domains コンフィグレーション ファイル
#
#
*DM_LOCAL
#
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.CENTRAL02"
DMTLOGDEV = "/usr/apps/bank/DMTLOG"
DMTLOGNAME = "DMTLG_C02"
#
*DM_REMOTE
#
b01 TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK01"
b02 TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK02"
b03 TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK03"
b04 TYPE = OSITP
ACCESSPOINTID = "BA.BANK04"
*DM_TDOMAIN
#
# ローカル ネットワーク アドレス
c01 NWADDR = "//newyork.acme.com:65432" NWDEVICE ="/dev/tcp"
# リモート ネットワーク アドレス
b01 NWADDR = "//192.11.109.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
#
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
#
open_act ACL = branch
close_act ACL = branch
credit
debit
balance
loan LACCESSPOINT = c02 ACL = loans
*DM_IMPORT
#
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"
tlr_bal RACCESSPOINT = b02,b03" LACCESSPOINT = c02
*DM_ROUTING
#
ACCOUNT FIELD = branchid BUFTYPE = "VIEW:account"
RANGES = "MIN-1000:b01,1001-3000:b02,*:b03"
*DM_ACCESS_CONTROL
#
branch ACLIST = "b01,b02,b03"
loans ACLIST = b04
この例は、1 つの Bank Branches (BANK01
) の Oracle Tuxedo Domains コンフィグレーション ファイルを示しています。
#
#Bank Branch 用の BEA Tuxedo Domains コンフィグレーション ファイル
#
#
*DM_LOCAL
#
b01 GWGRP = auth
TYPE = TDOMAIN
ACCESSPOINTID = "BA.BANK01"
DMTLOGDEV = "/usr/apps/bank/DMTLOG"
*DM_REMOTE
#
c01 TYPE = TDOMAIN
ACCESSPOINTID = "BA.CENTRAL01"
*DM_TDOMAIN
#
b01 NWADDR = "//192.11.109.156:4244" NWDEVICE = "/dev/tcp"
c01 NWADDR = "//newyork.acme.com:65432" NWDEVICE ="/dev/tcp"
*DM_EXPORT
#
tlr_add ACL = central
tlr_bal ACL = central
*DM_IMPORT
#
OPA001 RNAME = "open_act"
CLA001 RNAME = "close_act"
CRD001 RNAME = "credit"
DBT001 RNAME = "debit"
BAL001 RNAME = "balance"
*DM_ACCESS_CONTROL
#
central ACLIST = c01
TDomain を実行するローカル マシンが TCP/IP アドレッシングを使用していて、アドレスは 155.2.193.18
で、backus.company.com
という名前になっているとします。さらに、TDomain が要求を受け付けるポート番号は 2334
であるとします。このポート番号 2334
は、bankapp-gwtaddr
という名前のネットワーク サービス データベースに追加されているとします。この場合、アドレスは次のように表現されます。
//155.2.193.18:bankapp-gwtaddr
//155.2.193.18:2334
//backus.company.com:bankapp-gwtaddr
//backus.company.com:2334
0x0002091E9B02C112
最後の表現は 16 進形式です。0002
は TCP/IP アドレスの先頭部分、091E
は 16 進数に変換されたポート番号 2334
です。その後、IP アドレス 155.2.193.12
の各要素は 16 進数に変換されています。つまり、155
は 9B
、2
は 02
というようになります。
dmadmin(1)、dmloadcf(1)、dmunloadcf(1)、tmboot(1)、tmshutdown(1)、DMADM(5)
、GWADM(5)
、GWTDOMAIN(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『Oracle Tuxedo Domains コンポーネント』
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』
#include <fml32.h>
#include <tpadm.h> /* MIB ヘッダ、DOMAINS を含む */
Oracle Tuxedo のリリース 7.1 以降では、ドメイン関連の用語の一部が変更されました。Domains 用の MIB では、新しいクラスおよび属性の用語を使用して、ローカル ドメインとリモート ドメイン間の対話を説明しています。この変更された用語は、DMCONFIG
ファイルの構文にも適用されています。
そのような用語の変更により、用語「ドメイン」が繰り返し使用されることがなくなり、行われるアクションをより明解に示す用語が導入されます。たとえば、用語「アクセス ポイント」は別のオブジェクトにアクセスするために使用するオブジェクトのことです。したがって、リモート ドメインにはリモート ドメイン アクセス ポイントを通じてアクセスし、リモート ドメインからローカル ドメインにはローカル ドメイン アクセス ポイントを通じてアクセスします。次の表は、用語「ドメイン」を何度も使用しない結果として生じる DMCONFIG
のセクション名の変更を示しています。
これらのセクションの中で、次のパラメータ名が変更されています。
これらの DMCONFIG
セクションに対応する DM_MIB
クラスは、それぞれ T_DM_LOCAL
と T_DM_REMOTE
です。
特定のコンフィグレーションでは、利用可能なサービスとリソース (キュー スペースやキュー名など) を両方ともインポートおよびエクスポートする必要があります。したがって、DMCONFIG
のセクション名 DM_LOCAL_SERVICES
と DM_REMOTE_SERVICES
では必要なアクティビティが適切に表現されなくなりました。これらのセクション名をそれぞれ DM_EXPORT
および DM_IMPORT
に置き換えると、行われるアクションが明確に表現されます。つまり、単一 Oracle Tuxedo ドメインの観点から見て、ローカル アクセス ポイントを通じてそのドメインからリソースがエクスポートされ、リモート ドメイン アクセス ポイントを通じてそのドメインにリソースがインポートされます。次の表は、それらの DMCONFIG
セクション名の変更を示しています。
これらのセクションの中で、次のパラメータ名が変更されています。
これらの DMCONFIG
セクションに対応する DM_MIB
クラスは、それぞれ T_DM_EXPORT
と T_DM_IMPORT
です。
Oracle Tuxedo リリース 7.1 から導入された新しい Domains 用語は、DM_MIB
のリファレンス ページ、クラス、およびエラー メッセージと、DMCONFIG
のリファレンス ページ、セクション名、パラメータ名、およびエラー メッセージに適用されています。
旧バージョンとの互換性のため、Oracle Tuxedo 7.1 より前に使用された DMCONFIG
用語と、新しい Domains 用の MIB 用語との間にエリアスが提供されています。Oracle Tuxedo リリース 7.1 以降では、dmloadcf
は両方の DMCONFIG
用語を使用できます。ただし、dmunloadcf
は、デフォルトで新しいドメイン関連の用語を使用する DMCONFIG
ファイルを生成します。以前のドメイン関連の用語を使用する DMCONFIG
ファイルを生成するには、dmunloadcf
の -c
オプションを使用します。
Domains 用の MIB では、ドメインがドメイン ゲートウェイおよびドメイン ゲートウェイ管理サーバを使用してサービスをインポートまたはエクスポートするためのクラスが定義されています。このリファレンス ページは、Oracle Tuxedo システムの Domains コンポーネントに関する知識がある読者を対象としています。Domains コンポーネントについては、「Oracle Tuxedo Domains コンポーネント」を参照してください。
管理要求のフォーマットと管理応答の解釈を行うには、DM_MIB
(5) を共通 MIB リファレンス ページ MIB(5)
と一緒に使用してください。
DM_MIB
で説明するクラスや属性を使用し、MIB(5)
の説明に従ってフォーマットした要求を使用すると、アクティブなアプリケーションの既存の ATMI インタフェースを通じて管理サービスを要求できます。DM_MIB(5)
のすべてのクラス定義の追加情報については、「DM_MIB(5) に関する追加情報」を参照してください。
各クラスの説明は、次の 4 つのセクションで構成されています。
属性表はクラス内の属性のリファレンス ガイドであり、管理者、オペレータ、一般ユーザがそれらの属性を使用してアプリケーションと対話するための方法を説明しています。
属性表の各属性の説明には、5 つの構成要素 (名前、型、パーミッション、値、デフォルト値) があります。各要素については、MIB(5)
を参照してください。
MIB(5)
は、共通 TA_FLAGS
属性を定義します。この属性は long 値フィールドで、共通 MIB フラグ値とコンポーネント MIB 固有フラグ値の両方を持ちます。現時点では、DM_MIB
固有のフラグ値は定義されていません。
このリファレンス ページで説明する属性のフィールド テーブルは、システムにインストールした Oracle Tuxedo システム ソフトウェアのルート ディレクトリからの相対パスで指定される udataobj/tpadm
ファイルにあります。${TUXDIR}/udataobj
ディレクトリは、FLDTBLDIR
環境変数で指定されるコロン区切りのリストにアプリケーションによって追加される必要があります。フィールド テーブル名 tpadm
は、FIELDTBLS
環境変数で指定されるカンマ区切りのリストに追加される必要があります。
この MIB のヘッダ ファイルとフィールド テーブルには、Oracle Tuxedo リリース 7.1 以降のサイト (ネイティブとワークステーションの両方) からのみアクセスできます。アプリケーション内でリリース 5.0 以前のサイトがアクティブになっている場合、グローバル情報の更新 (SET
操作) はそれらのサイトのゲートウェイ グループでは利用できません。
リリース 5.0 以前のサイトのローカル情報にはアクセスできません。アクセスされるクラスにグローバル情報も含まれている場合は、グローバル情報のみ返されます。それ以外の場合は、エラーが返されます。
Oracle Tuxedo システムの MIB を使用した管理作業をサポートするために必要な既存の FML32 および ATMI 関数、さらにこのリファレンス ページに定義するヘッダ ファイルとフィールド テーブルは、すべてのサポート対象ネイティブ プラットフォームとワークステーション プラットフォームで使用可能です。
T_DM_ACL
クラスは、ドメインのアクセス制御情報を表します。
TA_DMACLNAME
: string
[1..15]
TA_DMRACCESSPOINTLIST
: string
[0..1550]
TA_DMRACCESSPOINTLIST
は、リモート ドメイン アクセス ポイント名 (有効な T_DM_REMOTE
オブジェクトの TA_DMRACCESSPOINT
属性の値) のカンマ区切りのリストです。リストには、リモート ドメイン アクセス ポイントの識別子要素を 50 個まで格納できます。この属性を “*”
に設定すると、コンフィグレーションのすべてのリモート ドメインがこのエントリと関連付けられます。“”
は、リモート ドメイン アクセス ポイントがこのエントリと関連付けられないことを意味します。デフォルト値は “”
です。
TA_STATE
:
GET
操作は、T_DM_ACL
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_ACL
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
T_DM_CONNECTION
クラスは、ドメイン アクセス ポイント間の接続のステータスを表します。
注 1 リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。
TA_DMLACCESSPOINT
: string
[1..30]
TA_DMRACCESSPOINT
: string
[1..30]
GET
および SET
操作で、TA_DMRACCESSPOINT
が指定されていない場合は、TA_DMLACCESSPOINT
で指定されたローカル アクセス ポイントのすべての T_DM_CONNECTION
エントリが選択されます。
TA_DMTYPE
: ”
{TDOMAIN
}”
TA_STATE
:
TA_DMCURENCRYPTBITS
: ”
{0
| 40
| 56
| 128
}”
“0”
は暗号化を行わないことを示し、“40”
、“56”
、および “128”
は暗号化キーの長さをビット単位で指定します。この属性は、Oracle Tuxedo リリース 7.1 以降が動作するゲートウェイでのみ有効です。その他のゲートウェイの場合、この値は “0”
に設定します。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。 |
ドメイン ゲートウェイ管理 (GWADM
) サーバおよび TA_DMLACCESSPOINT
属性で指定されたローカル ドメイン アクセス ポイントをサポートするドメイン ゲートウェイがアクティブでないと、そのアクセス ポイントへの接続で GET
操作または SET
操作を実行することはできません。
T_DM_EXPORT
クラスは、ローカル アクセス ポイントを通じて 1 つ以上のリモート ドメインにエクスポートされるローカル リソースを表します。
TA_DMRESOURCENAME
: string
[1..15]
SERVICE
(サービス名)、QSPACE
(キュー スペース名)、および QNAME
(キュー名) のエントリのローカル リソース名。SERVICE
エントリの場合、この属性の値はアクティブな T_SVCGRP
オブジェクトの TA_SERVICENAME
属性の値に対応します。このリソースは、同じ名前あるいは TA_DMREMOTENAME
属性または TA_DMTE
* 属性で定義されたエリアスを使用してリモート ドメインにエクスポートされます。
TA_DMLACCESSPOINT
: string
[1..30]
TA_STATE
:
GET
操作は、T_DM_EXPORT
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_EXPORT
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_DMACLNAME
: string
[1..15]
TA_DMCONV
: ”
{Y
| N
}”
TA_DMREMOTENAME
: string
[1..30]
TA_DMRESOURCENAME
で指定された名前がデフォルトで使用されます。
TA_DMINBUFTYPE
: string
[0..513]
type
[:subtype
] - このローカル リソースの入力バッファ タイプと、必要に応じてサブタイプを指定します。この属性がある場合は、受け付けたバッファ タイプ (およびサブタイプ) が定義されます。この属性は、SNAX
を使用する場合、あるいは UDT アプリケーション コンテキストで OSITP
または OSITPX
を使用してリモート ドメイン アクセス ポイントからのアクセスが許可される場合に TA_DMRESOURCETYPE="SERVICE”
のエントリに対して定義する必要があります。
TA_DMOUTBUFTYPE
: string
[0..513]
type
[:subtype
]
- このローカル リソースの出力バッファ タイプと、必要に応じてサブタイプを指定します。この属性がある場合は、サービスで出力されたバッファ タイプ (およびサブタイプ) が定義されます。この属性は、SNAX
を使用する場合、あるいは UDT アプリケーション コンテキストで OSITP
または OSITPX
を使用してリモート ドメイン アクセス ポイントからのアクセスが許可される場合に TA_DMRESOURCETYPE="SERVICE”
のエントリに対して定義する必要があります。
TA_DMCOUPLING
: string
”
{TIGHT
| LOOSE
}”
“LOOSE”
です。TA_DMCOUPLING="LOOSE”
を設定した場合、両方の要求が同じグローバル トランザクションに参加していても、このローカル サービスに対する最初の要求で行われたデータベースの更新は 2 番目の要求から確認できません。TA_DMCOUPLING="TIGHT”
を設定した場合、同じリモート ドメイン アクセス ポイントを通じて行われた同じローカル サービスへの複数の呼び出しは密結合されます。つまり、最初の要求で行われたデータベースの更新が 2 番目の要求から確認できるということです。
TA_DMCOUPLING="TIGHT”
は、同じリモート ドメイン アクセス ポイントを通じて重複したサービス要求が送られてきたときにのみ適用されます。サービス要求が異なるリモート ドメイン アクセス ポイントを通る場合、要求は常に疎結合されます。
TA_DMINRECTYPE
: string
[1..78]
type
[:subtype
] - このローカル サービスで特定のクライアントが要求する応答バッファのタイプを (必要に応じてサブタイプも続けて) 指定します。場合によっては、応答バッファの形式も指定します。この属性は、リモート クライアントが要求するバッファとタイプおよび構造が同じバッファをローカル サービスが送信する場合は省略できます。TA_DMINRECTYPE
を指定しない場合、バッファのタイプは変わりません。
TA_DMOUTRECTYPE
: string
[1..78]
type
[:subtype
] - リモート クライアントによってこのローカル サービスに送られるバッファのタイプと、必要に応じてサブタイプを指定します。この属性は、厳密なタイプ チェックに使用します。
このクラスのインスタンスを追加または更新する SET
操作の実行時、および特定のローカル ドメイン アクセス ポイントを TA_DMLACCESSPOINT
属性で指定する場合、アクセス ポイントが T_DM_LOCAL
クラス内に存在しなければなりません。存在しない場合、TA_DMLACCESSPOINT
属性に対して "not defined" エラーが返され、操作は失敗します。
T_DM_IMPORT
クラスは、1 つまたは複数のリモート ドメイン アクセス ポイントを通してインポートされ、1 つまたは複数のローカル ドメイン アクセス ポイントを通してローカル ドメインで使用可能なリモート リソースを表します。
TA_DMRESOURCENAME
: string
[1..15]
SERVICE
(サービス名)、QSPACE
(キュー スペース名)、および QNAME
(キュー名) のエントリで使用するリモート リソース名。このリソースは、同じ名前あるいは TA_DMREMOTENAME
属性または TA_DMTE
* 属性で定義されたエリアスを使用してリモート ドメインからインポートされます。
TA_DMRACCESSPOINTLIST
: string
[1..92]
TA_DMRACCESSPOINTLIST
は、カンマ区切りのフェイルオーバ ドメイン リストで、最大 30 文字のリモート ドメイン アクセス ポイントを 10 個まで格納できます。この属性を “*”
に設定すると、すべてのリモート ドメイン アクセス ポイントからリソースをインポートできます。
TA_DMLACCESSPOINT
: string
[1..30]
TA_STATE
:
GET
操作は、T_DM_IMPORT
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_IMPORT
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求の TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_DMBLOCKTIME
: 0 <= num
<= 32,767
UBBCONFIG RESOURCES
セクションで指定されたシステム全体の BLOCKTIME
値がサービスで使用されます。
TA_DMCONV
: ”
{Y
| N
}”
TA_DMLOAD
: 1 <= num
<= 32,767
TA_DMREMOTENAME
: string
[1..30]
TA_DMRESOURCENAME
で指定された名前がデフォルトで使用されます。
TA_DMROUTINGNAME
: string
[1..15]
TA_DMINBUFTYPE
: string
[0..256]
type
[:subtype
] - このリモート リソースの入力バッファ タイプと、必要に応じてサブタイプを指定します。この属性がある場合は、受け付けたバッファ タイプ (およびサブタイプ) が定義されます。この属性は、SNAX
を使用する場合、あるいは UDT アプリケーション コンテキストで OSITP
または OSITPX
を使用してリモート ドメイン アクセス ポイントへのアクセスが許可される場合に DMRESOURCETYPE="SERVICE”
のエントリに対して定義する必要があります。
TA_DMOUTBUFTYPE
: string
[0..256]
type
[:subtype
] - このリモート リソースの出力バッファ タイプと、必要に応じてサブタイプを指定します。この属性がある場合は、サービスで出力されたバッファ タイプ (およびサブタイプ) が定義されます。この属性は、SNAX
を使用する場合、あるいは UDT アプリケーション コンテキストで OSITP
または OSITPX
を使用してリモート ドメイン アクセス ポイントへのアクセスが許可される場合に DMTYPE="SERVICE”
のエントリに対して定義する必要があります。
TA_DMAUTOPREPARE
: string
”
{Y
| N
}”
tpcall()
で、呼び出しを自動的に準備できるようにします。この最適化により、2 フェーズ コミット プロセスを 1 ステップで実行できます。リモートの OSITP ドメインは、この機能をサポートしている必要があります。デフォルト値は “N”
です。
TA_DMINRECTYPE
: string
[1..78]
type
[:subtype
] - このリモート サービスに必要な要求バッファのタイプを (必要に応じてサブタイプも続けて) 指定します。場合によっては、要求バッファの形式も指定します。この属性は、リモート サービスが要求するバッファとタイプおよび構造が同じバッファをローカル クライアントが送信する場合は省略できます。TA_DMINRECTYPE
を指定しない場合、バッファのタイプは変わりません。
TA_DMOUTRECTYPE
: string
[1..78]
TA_DMTPSUTTYPE
: string
”
{INTEGER
| PRINTABLESTRING
}”
TA_DMREMTPSUT
値で実行するエンコーディングのタイプを指定します。“INTEGER”
および “PRINTABLESTRING”
は ASN.1 タイプです。デフォルト値は “PRINTABLESTRING”
です。
TA_DMREMTPSUT
: string
[1..64]
TA_DMTPSUTTYPE
の値が “PRINTABLESTRING”
である場合、最大長は 60 文字です。PRINTABLESTRING
の ASN.1 タイプに準拠する必要があります。TA_DMTPSUTTYPE
の値が “INTEGER”
である場合の最大長は LONG
の値になります。この値は、リモートの TPSUT
を定義する前に定義する必要があります。
T_DM_LOCAL
クラスは、ローカル ドメイン アクセス ポイントを定義します。ローカル ドメイン アクセス ポイントは、リモート ドメインにエクスポートされるローカル サービスへのアクセス制御、およびリモート ドメインからインポートされるリモート サービスへのアクセス制御に使用します。
注 1 T_DOMAIN
クラスの TA_BLOCKTIME
の現在の値。
注 2 T_DOMAIN
クラスの TA_MAXGTT
の現在の値。
注 3 Oracle Tuxedo 8.0 以前のリリースの場合、この属性の文字列の長さは最大 78 バイトです。
TA_DMACCESSPOINT
: string
[1..30]
T_DM_LOCAL
エントリの名前。この Domains コンフィグレーション内の T_DM_LOCAL
および T_DM_REMOTE
アクセス ポイント名のスコープ内でユニークなユーザ指定のローカル ドメイン アクセス ポイントの識別子 (論理名) です。
TA_DMACCESSPOINTID
: string
[1..30]
TA_DMSRVGROUP
: string
[1..30]
TUXCONFIG
ファイルの GROUPS
セクションで指定された名前) です。ローカル ドメイン アクセス ポイントとゲートウェイ サーバ グループは、1 対 1 の関係です。
TA_DMTYPE
: ”
{TDOMAIN
| SNAX
| OSITP
| OSITPX
}”
“TDOMAIN”
、SNA ドメインの場合は “SNAX”
、OSI TP 1.3 ドメインの場合は “OSITP”
、OSI TP 4.0 以降のドメインの場合は “OSITPX”
を指定します。他の属性が存在するかどうかは、この属性の値に依存します。
TA_STATE
:
GET
操作は、T_DM_LOCAL
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_LOCAL
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_DMAUDITLOG
:string
[1..256] (Oracle Tuxedo 8.0 以前は最大で 78 バイト)
TA_DMBLOCKTIME
: 0 <= num
<= 32,767
T_DOMAIN
オブジェクトの SCANUNIT
パラメータの乗数です。SCANUNIT * TA_BLOCKTIME
の値は、SCANUNIT
以上 32,768 秒未満でなければなりません。この属性を指定しない場合、T_DOMAIN
オブジェクトに指定した TA_BLOCKTIME
属性の値がデフォルト値に設定されます。ブロッキング タイムアウト状態は、関連する要求が失敗したことを示します。
TA_DMBLOCKTIME
属性の値を超過するとブロッキング タイムアウト状態が生成されます。つまり、ドメイン間トランザクションでは、TA_DMBLOCKTIME
属性の値が T_SERVICE
オブジェクトに指定された TA_TRANTIME
タイムアウト値未満の場合、またはトランザクションを開始するための tpbegin()
呼び出しで渡されたタイムアウト値未満の場合、トランザクションのタイムアウトは TA_DMBLOCKTIME
値まで減らされます。一方、ドメイン内トランザクション (単一の Oracle Tuxedo ドメイン内で処理されるトランザクション) の場合は、T_DOMAIN
オブジェクトに指定された TA_BLOCKTIME
属性の値は、ドメイン内トランザクションのタイムアウトに何の影響も与えません。
TA_DMTLOGDEV
: string
[1..256] (Oracle Tuxedo 8.0 以前は最大で 78 バイト)
TLOG
) を含むデバイス (raw スライス) またはファイル。TLOG
は、Oracle Tuxedo システムの VTOC テーブルとしてデバイスに格納されています。信頼性の観点から、デバイス (raw スライス) の使用を推奨します。
TA_DMTLOGNAME
キーワードで指定された名前のログ (TA_DMTLOGDEV
内のテーブル) を保持する必要があります。
TA_DMTLOGNAME
: string
[1..30]
TA_DMTLOGSIZE
: 1 <= num
<= 2048
TA_DMMAXRAPTRAN
: 0 <= num
<= 32,767
TA_DMMAXTRAN
: 0 <= num
<= 32,767
TA_DMSECURITY
: ”
{NONE
| APP_PW
| DM_PW
| DM_USER_PW
}”
TA_DMCONNECTION_POLICY:“
{ON_DEMAND
| ON_STARTUP
| INCOMING_ONLY
| PERSISTENT_DISCONNECT
}”
“ON_DEMAND”
、“ON_STARTUP”
、“INCOMING_ONLY”
、または “PERSISTENT_DISCONNECT”
です。
dmadmin(1)
connect
コマンドが実行されたときにのみ接続が試行されます。TA_DMCONNECTION_POLICY
属性のデフォルト設定は “ON_DEMAND”
です。“ON_DEMAND”
接続ポリシーでは、TA_DMCONNECTION_POLICY
属性を明示的に使用できなかった以前のリリースと同じ動作になります。この接続ポリシーでは、再接続は行われません。
TA_DMRETRY_INTERVAL
属性で変更できます。TA_DMMAXRETRY
属性も参照してください。
dmadmin(1)
connect
コマンドで管理接続が確立されたときに宣言されます。接続ポリシーが “INCOMING_ONLY”
の場合、再接続は行われません。
dmadmin(1)
接続コマンドを使用) が確立するまで利用できます。
TA_DMMAXRETRY:
0 <= num
<= MAXLONG
MAXLONG
(2147483647) です。MAXLONG
の場合、再接続処理が無限に繰り返されるか、または接続が確立されるまで繰り返されます。接続ポリシーが “ON_STARTUP”
の場合、TA_DMMAXRETRY
のデフォルト設定は MAXLONG
になります。この属性を 0 に設定すると、自動再接続は行われません。それ以外の接続ポリシーの場合、自動再試行は無効になります。
TA_DMRETRY_INTERVAL:
0 <= num
<= MAXLONG
MAXLONG
(2147483647) です。デフォルト値は 60 です。
TA_DMMAXRETRY
が 0 に設定されている場合、TA_DMRETRY_INTERVAL
は設定できません。TA_DMCONNPRINCIPALNAME
: string
[0..511]
TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。
TA_DMCONNPRINCIPALNAME
属性には最大 511 文字を指定できます (最後の NULL 文字を除く)。この属性を指定しない場合は、ローカル ドメイン アクセス ポイントの TA_DMACCESSPOINTID
文字列がデフォルト値になります。
TA_DMCONNPRINCIPALNAME
属性に値を割り当てる場合、その値は、このローカル ドメイン アクセス ポイントの TA_DMACCESSPOINTID
属性の値と同じでなければなりません。これらの値が一致しないと、ローカル ドメイン ゲートウェイ プロセスが起動せず、次の userlog(3c) メッセージが生成されます。ERROR: クリデンシャルを取得できません。
TA_DMMACHINETYPE:
string
[0..15]
TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。
TA_DMMACHINETYPE
を指定しない場合、デフォルトでエンコーディングまたはデコーディングが実行されます。TA_DMMACHINETYPE
フィールドに設定した値が接続のための T_DM_LOCAL
クラスと T_DM_REMOTE
クラスで共通している場合、データのエンコーディングとデコーディングが省略されます。TA_DMMACHINETYPE
には、15 文字までの任意の文字列値を指定できます。この値は比較のためだけに使用します。
TA_DMBLOB_SHM_SIZE
: 1 <= num
<= MAXLONG
SNAX
ローカル ドメイン アクセス ポイント固有のバイナリ ラージ オブジェクトのログ情報を格納するために割り当てられた共有メモリを指定します。この属性は、ローカル ドメイン アクセス ポイントおよび SNAX
タイプのドメイン ゲートウェイにのみ適用されます。
TA_DMLACCESSPOINT
属性で指定したローカル ドメイン アクセス ポイントをサポートするドメイン ゲートウェイ管理 (GWADM
) サーバがアクティブである場合、SET
を実行して TA_STATE
を INValid
にしたり、TA_DMACCESSPOINTID
、TA_DMSRVGROUP
、TA_DMTYPE
、TA_DMTLOGDEV
、TA_DMTLOGNAME
、TA_DMTLOGSIZE
、TA_DMMAXRAPTRAN
、TA_DMMAXTRAN
、または TA_DMMACHINETYPE
属性を更新することはできません。
T_DM_OSITP
クラスは、特定のローカルまたはリモート ドメイン アクセス ポイントに対する OSI TP 1.3 プロトコル関連のコンフィグレーション情報を定義します。
TA_DMACCESSPOINT
: string
[1..30]
T_DM_LOCAL
または T_DM_REMOTE
エントリで指定したドメイン アクセス ポイント名と一致します。
TA_STATE
:
GET
操作は、T_DM_OSITP
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_OSITP
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求の TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_DMAPT
: string
[1..78]
TA_DMAEQ
: string
[1..78]
TA_DMNWDEVICE
: string
[1..78]
TA_DMACN
: ”
{XATMI
| UDT
}”
“XATMI”
では、X/Open 定義の XATMI アプリケーション サービス要素 (ASE) およびエンコーディングを使用するかどうかを選択します。“UDT”
では、ISO/IEC 10026-5 ユーザ データ転送のエンコーディングを使用するかどうかを選択します。
TA_DMAPID
: 0 <= num
<= 32767
TA_DMAEID
: 0 <= num
<= 32767
TA_DMURCH
: string
[0..30]
TA_DMMAXLISTENINGEP
: 0 <= num
<= 32767
TA_DMXATMIENCODING
: ”
{CAE
| PRELIMINARY
| OLTP_TM2200
}”
以下の場合は、このクラスのインスタンスを削除または更新することはできません。
このクラスのインスタンスを追加または更新する SET
操作の実行時には、TA_DMACCESSPOINT
属性に指定した特定のローカルまたはリモート ドメイン アクセス ポイントが、T_DM_LOCAL
クラスまたは T_DM_REMOTE
クラスに存在している必要があります。ドメイン アクセス ポイントが存在しない場合、TA_DMACCESSPOINT
属性に対して "not defined" エラーが返され、操作は失敗します。
T_DM_OSITPX
クラスは、特定のローカルまたはリモート ドメイン アクセス ポイントに対する OSI TP 4.0 以降のプロトコル関連のコンフィグレーション情報を定義します。T_DM_OSITPX
クラスは、Oracle Tuxedo 8.0 以降のソフトウェアでのみサポートされます。
TA_DMACCESSPOINT
: string
[1..30]
T_DM_LOCAL
または T_DM_REMOTE
エントリで指定したドメイン アクセス ポイント名と一致します。
TA_STATE
:
GET
操作は、T_DM_OSITPX
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_OSITPX
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求の TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_DMAET
: string
[1..78]
“{
object identifier
},{
integer qualifier
}”
のように、整数値としてアプリケーション エンティティ修飾子が続きます。中括弧は構文の一部で、引用符の内側に入れる必要があります。
TA_DMNWADDR
: string
[1..631]
”
#
.
#
.
#
.
#
:
port_number
”
IP アドレス“//
hostname
:
port_number
”
DNS 名“//
hostname
:
port_number
;//
hostname
:
port_number
;
...
”
TA_DMTSEL
: string
[1..66]
0x
が付く 1 ~ 32 の 16 進数オクテット、または “NONE”
- (NULL
文字列) のいずれかを指定します。
TA_DMDNRESOLUTION
: ”
{STARTUP
| RUNTIME
}”
GWOSITP
) 用に、TA_DMNWADDR
属性で定義したネットワーク アドレスの DNS 名を解決するタイミングを指定します。この属性を “STARTUP”
(デフォルト) に設定すると、ゲートウェイの起動時にホスト名が実 IP アドレスに解決されます。この属性を “RUNTIME”
に設定すると、ゲートウェイの実行時にホスト名が実 IP アドレスに解決されます。
GET
呼び出しでは、この属性は NULL
文字列に設定されます。
TA_DMPSEL
: string
[1..10]
0x
が付く 1 ~ 4 の 16 進数オクテット、または “NONE”
(デフォルト) のいずれかを指定します。
TA_DMSSEL
: string
[1..34]
0x
が付く 1 ~ 16 の 16 進数オクテット、または “NONE”
(デフォルト) のいずれかを指定します。
TA_DMTAILORPATH
: string
[1..78]
TA_DMXATMIENCODING
: ”
{CAE
| PRELIMINARY
| OLTP_TM2200
| NATIVE_A_SERIES
}”
“CAE”
(デフォルト)
“PRELIMINARY”
(Unisys MCP OLTP システムで使用)
“OLTP_TM2200”
(Unisys TM 2200 システムで使用)
“NATIVE_A_SERIES”
(このエンコード タイプをサポートする Unisys MCP OLTP システムで使用)TA_DMEXTENSIONS
: string
[1..78]
;
) 区切りで “ONLINE=N/Y”
(デフォルト値は Y
) と RdomAssocRetry=
nn
を含めます。nn
には、オンライン リモート ドメインへの再接続の間隔を秒単位で指定します。RdomAssocRetry
調整パラメータが存在する場合は、その値がこの属性のデフォルトになります。RdomAssocRetry
が存在せず、nn
が指定されていない場合のデフォルト値は 60 秒です。
TA_DMOPTIONS
: ”
{SECURITY_SUPPORTED
}”
“SECURITY_SUPPORTED”
は、このリモート ドメイン アクセス ポイントに関連付けられたリモート ドメインが OSITP セキュリティの拡張をサポートすることを示します。この属性は下位互換性があり、リモート ドメイン アクセス ポイントの記述でのみ有効です。
以下の場合は、このクラスのインスタンスを削除または更新することはできません。
このクラスのインスタンスを追加または更新する SET
操作の実行時には、TA_DMACCESSPOINT
属性に指定した特定のローカルまたはリモート ドメイン アクセス ポイントが、T_DM_LOCAL
クラスまたは T_DM_REMOTE
クラスに存在している必要があります。ドメイン アクセス ポイントが存在しない場合、TA_DMACCESSPOINT
属性に対して "not defined" エラーが返され、操作は失敗します。
T_DM_PASSWORD
クラスは、TDOMAIN
タイプのアクセス ポイントを介したドメイン間認証のコンフィグレーション情報を表します。
TA_DMLACCESSPOINT
: string
[1..30]
TA_DMRACCESSPOINT
: string
[1..30]
TA_DMLPWD
: string
[1..30]
TA_DMLACCESSPOINT
で識別) とリモート ドメイン アクセス ポイント (TA_DMRACCESSPOINT
で識別) の接続を認証するためのローカル パスワード。
TA_DMRPWD
: string
[1..30]
TA_DMLACCESSPOINT
で識別) とリモート ドメイン アクセス ポイント (TA_DMRACCESSPOINT
で識別) の接続を認証するためのリモート パスワード。
TA_STATE
:
GET
操作は、選択した T_DM_PASSWORD
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_PASSWORD
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求の TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
ドメイン ゲートウェイ管理サーバ (GWADM
) の実行中は、パスワードを再暗号化 (TA_STATE
から “RECrypt”
に SET
) することはできません。
T_DM_PRINCIPAL_MAP
クラスは、タイプ SNAX
のアクセス ポイントを介してプリンシパル名を外部プリンシパル名との間でマッピングするためのコンフィグレーション情報を表します。
TA_DMLACCESSPOINT
: string
[1..30]
TA_DMRACCESSPOINT
: string
[1..30]
TA_DMPRINNAME
: string
[1..30]
TA_DMRPRINNAME
: string
[1..30]
TA_DMDIRECTION
: ”
{IN
| OUT
| BOTH
}”
TA_STATE
:
GET
操作は、選択した T_DM_PRINCIPAL
エントリのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_PRINCIPAL
エントリのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求の TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
Oracle Tuxedo リリース 7.1 以降では、T_DM_PRINCIPAL_MAP
クラスは SNAX
ドメイン ゲートウェイ タイプにのみ適用されます。
T_DM_REMOTE
クラスは、リモート ドメイン アクセス ポイントのコンフィグレーション情報を表します。1 つまたは複数のローカル ドメイン アクセス ポイントを通してエクスポートされるローカル リソースは、リモート ドメイン アクセス ポイントを通してリモート ドメインにアクセスできます。同様に、リモート リソースはリモート ドメイン アクセス ポイントを通してリモート ドメインからインポートされます。
TA_DMACCESSPOINT
: string
[1..30]
T_DM_REMOTE
エントリの名前。この Domains コンフィグレーション内の T_DM_REMOTE
および T_DM_REMOTE
アクセス ポイント名のスコープ内でユニークなユーザ指定のリモート ドメイン アクセス ポイントの識別子 (論理名) です。
TA_DMACCESSPOINTID
: string
[1..30]
TA_DMTYPE
: ”
{TDOMAIN
| SNAX
| OSITP
| OSITPX
}”
“TDOMAIN”
、SNA ドメインの場合は “SNAX”
、OSI TP 1.3 ドメインの場合は “OSITP”
、OSI TP 4.0 以降のドメインの場合は “OSITPX”
を指定します。他の属性が存在するかどうかは、この属性の値に依存します。
TA_STATE
:
GET
操作は、T_DM_REMOTE
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_REMOTE
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求の TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_DMPRIORITY_TYPE =
”
{LOCAL_RELATIVE
| LOCAL_ABSOLUTE
| GLOBAL
}”
TA_DMINPRIORITY =
-99 <= num
<= 100
TA_DMPRIORITY_TYPE
パラメータと TA_DMINPRIORITY
属性では、このリモート ドメイン アクセス ポイントのメッセージの優先順位に関する処理を指定します。これらの属性は、Oracle Tuxedo 8.0 以降のソフトウェアでサポートされます。
TA_DMPRIORITY_TYPE
属性の場合、“LOCAL_RELATIVE”
と “LOCAL_ABSOLUTE”
はすべてのリモート ドメイン タイプに対して有効ですが、GLOBAL
は TDOMAIN
のリモート ドメイン タイプに対してのみ有効です。TA_DMPRIORITY_TYPE
属性を設定しない場合、デフォルト値は “LOCAL_RELATIVE”
です。
TA_DMPRIORITY_TYPE="LOCAL_RELATIVE”
は、tpsprio
呼び出しなどによるリモート ドメイン アクセス ポイントからの要求の優先順位がローカル ドメインによって使用されないことを意味します。代わりに、リモート ドメイン アクセス ポイントから受信する要求の優先順位は TA_DMINPRIORITY
の値を基準に設定されます。この値は -99 (最低の優先順位) ~ +99 (最高の優先順位) です。デフォルト値は 0 です。TA_DMINPRIORITY
の設定によって、サービスのデフォルトの優先順位は、設定値の符号に応じて最大 100、最小 1 までインクリメントまたはデクリメントされます。最高の優先順位は 100 です。リモート ドメイン アクセス ポイントへの要求の場合、要求に関連付けられている優先順位も一緒にリモート ドメイン アクセス ポイントに送信されます。
TA_DMPRIORITY_TYPE="LOCAL_ABSOLUTE”
は、このリモート ドメイン アクセス ポイントからの要求の優先順位がローカル ドメインによって使用されないことを意味します。代わりに、リモート ドメイン アクセス ポイントから受信する要求の優先順位は TA_DMINPRIORITY
の値を基準に設定されます。この値は 1 (最低の優先順位) ~ 100 (最高の優先順位) です。デフォルト値は 50 です。TA_DMINPRIORITY
の設定によって、サービスのデフォルトの優先順位は、設定値の符号に応じて最大 100、最小 1 までインクリメントまたはデクリメントされます。最高の優先順位は 100 です。リモート ドメイン アクセス ポイントへの要求の場合、要求に関連付けられている優先順位も一緒にリモート ドメイン アクセス ポイントに送信されます。
TA_DMPRIORITY_TYPE="GLOBAL”
は、このリモート ドメイン アクセス ポイントからの要求の優先順位がローカル ドメインによって調整されることを意味します。リモート ドメイン アクセス ポイントから受信する要求の優先順位は TA_DMINPRIORITY
の値を基準に調整されます。この値は -99 (最低の優先順位) ~ +99 (最高の優先順位) です。デフォルト値は 0 です。TA_DMINPRIORITY
を設定した場合、受信した要求に関連付けられている優先順位は TA_DMINPRIORITY
の値に加算され、その要求の優先順位の絶対値が設定されます。TA_DMINPRIORITY
を設定しない場合、受信する要求の優先順位がそのままローカル ドメインによって使用されます。リモート ドメイン アクセス ポイントへの要求の場合、要求に関連付けられている優先順位も一緒にリモート ドメイン アクセス ポイントに送信されます。
TA_DMACLPOLICY
: {LOCAL
| GLOBAL
}
TDOMAIN
タイプのドメイン ゲートウェイ、および Oracle Tuxedo 8.0 以降が実行されている OSITPX
タイプのドメイン ゲートウェイにのみに適用されます。
LOCAL
の場合は、リモート ドメインから受信したサービス要求の資格 (ID) が、ローカル ドメインによって、このリモート ドメイン アクセス ポイントの TA_DMLOCALPRINCIPALNAME
属性で指定されたプリンシパル名に置換されます。GLOBAL
の場合、リモート サービス要求と一緒に受信した資格はローカル ドメインによって置換されません。リモート サービス要求と一緒に資格を受信していない場合、ローカル ドメインはそのサービス要求をローカル サービスにそのまま転送します (通常は失敗する)。この属性を指定しない場合、デフォルト値は LOCAL
です。
TA_DMACLPOLICY
属性は、ローカル ドメインがリモート ドメインから受信したサービス要求の資格を TA_DMLOCALPRINCIPALNAME
属性に指定されているプリンシパル名に置き換えるかどうかを制御します。TA_DMCREDENTIALPOLICY
はこの属性に関連する属性で、ローカル ドメインがリモート ドメインにローカル サービス要求を送信する前にその要求から資格を削除するかどうかを制御します。
TA_DMLOCALPRINCIPALNAME
: string
[0..511]
TA_DMACLPOLICY
属性が LOCAL
(デフォルト) に設定されている場合、このリモート ドメインから受け取ったサービス要求に対してローカル ドメインが割り当てる ID です。この属性は、Oracle Tuxedo 7.1 以降のソフトウェアが実行されている TDOMAIN
タイプのドメイン ゲートウェイ、および Oracle Tuxedo 8.0 以降が実行されている OSITPX
タイプのドメイン ゲートウェイにのみに適用されます。
TA_DMLOCALPRINCIPALNAME
属性には最大 511 文字を指定できます (最後の NULL 文字を除く)。この属性を指定しないと、ローカル プリンシパル名はデフォルトでこのリモート ドメイン アクセス ポイントの TA_DMACCESSPOINTID
文字列になります。
TA_DMCONNPRINCIPALNAME
: string
[0..511]
TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。
TA_DMCONNPRINCIPALNAME
属性には最大 511 文字を指定できます (最後の NULL 文字を除く)。この属性を指定しない場合は、リモート ドメイン アクセス ポイントの TA_DMACCESSPOINTID
文字列がデフォルト値になります。
TA_DMCONNPRINCIPALNAME
属性に値を割り当てる場合、その値は、このリモート ドメイン アクセス ポイントの TA_DMACCESSPOINTID
属性の値と同じでなければなりません。これらの値が一致しないと、ローカル ドメイン ゲートウェイとリモート ドメイン ゲートウェイの接続は失敗し、次の userlog(3c) メッセージが生成されます。ERROR: ドメイン domain_name
の管理用キーを初期化できません。
TA_DMCREDENTIALPOLICY:
{LOCAL
| GLOBAL
}
TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。
LOCAL
の場合は、このリモート ドメイン アクセス ポイントに対するローカル サービス要求から資格 (ID) がローカル ドメインによって削除されます。GLOBAL
の場合、このリモート ドメイン アクセス ポイントに対するローカル サービス要求から資格は削除されません。この属性を指定しない場合、デフォルト値は LOCAL
です。
TA_DMCREDENTIALPOLICY
属性は、リモート ドメインに送信する前にローカル ドメインがローカル サービス要求から資格を削除するかどうかを指定します。TA_DMACLPOLICY
属性は、ローカル ドメインがリモート ドメインから受信したサービス要求の資格を TA_DMLOCALPRINCIPALNAME
属性に指定されているプリンシパル名に置き換えるかどうかを制御します。
TA_DMMACHINETYPE
: string
[0..15]
TA_DMMACHINETYPE
を指定しない場合、デフォルトでエンコーディングまたはデコーディングが実行されます。TA_DMMACHINETYPE
フィールドに設定した値が接続のための T_DM_LOCAL
クラスと T_DM_REMOTE
クラスで共通している場合、データのエンコーディングとデコーディングが省略されます。TA_DMMACHINETYPE
には、15 文字までの任意の文字列値を指定できます。この値は比較のためだけに使用します。
TA_DMCODEPAGE
: string
[1..20]
この要求と同じドメイン タイプのローカル ドメイン アクセス ポイントをサポートするドメイン ゲートウェイ管理サーバ (GWADM
) がアクティブのとき、SET
を実行して TA_STATE
を INValid
にしたり、TA_DMACCESSPOINTID
、TA_DMTYPE
、TA_DMMACHINETYPE
、または TA_DMCODEPAGE
属性を更新することはできません。
T_DM_ACL
、T_DM_IMPORT
、T_DM_OSITP
、T_DM_OSITPX
、T_DM_ROUTING
、または T_DM_TDOMAIN
クラスのインスタンスによって T_DM_REMOTE
クラスのインスタンスが参照される場合、そのインスタンスを削除することはできません。
T_DM_RESOURCES
クラスは、ドメイン固有のコンフィグレーション情報を表します。
TA_DMVERSION
: string
[1..30]
T_DM_ROUTING
クラスは、リモート ドメイン アクセス ポイントを通して要求をドメインにルーティングするためのルーティング基準情報を表します。
TA_DMROUTINGNAME
: string
[1..15]
TA_DMBUFTYPE
: string
[1..256]
“type1
[:subtype1
[,subtype2
.. . ]][;type2
[:subtype3
[,subtype4
. . . ]] . . . ]”
FML
、FML32
、XML
、VIEW
、VIEW32
、X_C_TYPE
、および X_COMMON
に制限されています。FML
、FML32
、または XML
に対してはサブタイプを指定できず、VIEW
、VIEW32
、X_C_TYPE
、および X_COMMON
ではサブタイプを指定する必要があります ("*" は使用できません)。サブタイプの名前には、セミコロン (;)、コロン (:)、カンマ (,)、アスタリスク (*) は使用できません。タイプとサブタイプのペアのうち、重複するものは同じルーティング基準名として指定できません。タイプとサブタイプのペアがユニークな場合、複数のルーティング エントリは同じ基準名を持つことができます。単一のルーティング エントリに複数のバッファ タイプが指定される場合、各バッファ タイプに対するルーティング フィールドのデータ型は同じでなければなりません。
TA_DMFIELD
: string
[1..254]
FML
(および FML32
) バッファ タイプの場合、TA_DMFIELD
に指定する FML フィールド名は、FML フィールド テーブルで定義されている必要があります。ルーティングを実行する際、フィールド名は FLDTBLDIR
および FIELDTBLS
(FML32 の場合は FLDTBLDIR32
および FIELDTBLS32
) 環境変数を使用して検索されます。
VIEW
(および VIEW32
) バッファ タイプの場合、TA_DMFIELD
に指定する VIEW フィールド名は、FML VIEW テーブルで定義されている必要があります。ルーティングを実行する際、フィールド名は VIEWDIR
および VIEWFILES
(VIEW32 の場合は VIEWDIR32
および VIEWFILES32
) 環境変数を使用して検索されます。
XML
バッファ タイプの場合、TA_DMFIELD
には、ルーティング要素のタイプ (または名前) か、ルーティング要素の属性名のいずれかが含まれます。
XML
バッファ タイプの場合、TA_DMFIELD
属性の構文は次のとおりです。”
root_element
[/child_element
][/child_element
]
[/.. .][/@attribute_name
]”
TA_DMFIELDTYPE
属性で指定できます。
TA_DMFIELDTYPE
: ”
{CHAR
| SHORT
| LONG
| FLOAT
| DOUBLE
| STRING
}”
TA_DMFIELD
属性で指定したルーティング フィールドの型。型には CHAR
、SHORT
、LONG
、FLOAT
、DOUBLE
、または STRING
のいずれか 1 つを指定できます。この属性は、TA_DMBUFTYPE
が XML
の場合に必要です。TA_DMBUFTYPE
が FML
、VIEW
、X_C_TYPE
、または X_COMMON
の場合、この属性には何も指定しません。
TA_DMRANGES
: string
[1..4096]
TA_DMFIELD
ルーティング フィールドの範囲、およびそれに関連付けられたリモート ドメイン アクセス ポイントを指定します。文字列の形式は、カンマで区切って並べられた範囲とグループ名の組み合わせです。範囲とグループ名の組み合わせの形式は次のとおりです。
”
lower
[-upper
]:raccesspoint
”
lower
と upper
は、符号を持つ数値、または一重引用符で囲んだ文字列です。lower
には、upper
以下の値を設定する必要があります。文字列値で一重引用符を使用する場合は、引用符の前に円マークを 2 つ入力します (例 : 'O¥¥'Brien'
)。マシン上の関連するフィールドのデータ型の最小値を示すには、MIN
を使用します。マシン上の関連するフィールドのデータ型の最大値を示すには、MAX
を使用します。したがって、“MIN - -5 ”
は -5 以下のすべての数を表し、“6-MAX”
は 6 以上のすべての数を表します。
”
*”
(ワイルドカード) は、すでにエントリとして指定した範囲では使用されなかった任意の値を示します。各エントリでは 1 つのワイルドカードによる範囲指定だけが可能です。* は最後に指定します。続けて範囲を指定すると無視されます。
atof(3)
で使用できる浮動小数点数は、まず任意の符号、次に数字列 (小数点が入ってもよい)、任意の e
または E
、任意の符号またはスペース、最後に整数という形式を取ります。
raccesspoint
パラメータは、フィールドが範囲と一致する場合に要求のルーティング先となるリモート ドメイン アクセス ポイントを示します。raccesspoint
に “*”
を指定すると、サービスをインポートする任意のリモート ドメイン アクセス ポイントに要求が送られることを示します。
TA_STATE
:
GET
操作は、T_DM_ROUTING
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_ROUTING
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求の TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
T_DM_ROUTING
クラスのインスタンスは、T_DM_IMPORT
クラスのインスタンスによって参照されている場合は削除できません。
T_DM_RPRINCIPAL
クラスは、リモート プリンシパル名のパスワード コンフィグレーション情報を表します。
TA_DMRACCESSPOINT
: string
[1..30]
注意 : | TA_DMRACCESSPOINT と TA_DMRPRINNAME の組み合わせは、Domains コンフィグレーション内の TA_DM_RPRINCIPAL エントリのスコープ内でユニークでなければなりません。 |
TA_DMRPRINNAME
: string
[1..30]
注意 : | TA_DMRACCESSPOINT と TA_DMRPRINNAME の組み合わせは、Domains コンフィグレーション内の TA_DM_RPRINCIPAL エントリのスコープ内でユニークでなければなりません。 |
TA_DMRPRINPASSWD
: string
[0..8]
TA_STATE
:
GET
操作は、T_DM_RPRINCIPAL
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_RPRINCIPAL
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求の TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
Oracle Tuxedo リリース 7.1 以降では、T_DM_RPRINCIPAL
クラスは SNAX
ドメイン ゲートウェイ タイプにのみ適用されます。
T_DM_SNACRM
クラスは、指定したローカル ドメイン アクセス ポイントに対する SNA-CRM 固有のコンフィグレーションを定義します。
TA_DMSNACRM
: string
[1..30]
T_DM_SNACRM
エントリの名前。TA_DMSNACRM
は、この SNA CRM エントリを識別するために使用する Domains コンフィグレーション内の SNA CRM エントリのスコープ内でユニークな識別子です。
TA_DMLACCESSPOINT
: string
[1..30]
TA_STATE
:
GET
操作は、T_DM_SNACRM
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_SNACRM
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_DMNWADDR
: string
[1..78]
TA_DMNWDEVICE
: string
[1..78]
参照するローカル アクセス ポイントのドメイン ゲートウェイ管理 (GWADM
) サーバがアクティブのとき、T_DM_SNACRM
クラスのインスタンスを削除または更新することはできません。
このクラスのインスタンスを追加または更新する SET
操作の実行時には、TA_DMLACCESSPOINT
で指定するローカル ドメイン アクセス ポイントが T_DM_LOCAL
クラス内に存在しなければなりません。アクセス ポイントが存在しない場合、TA_DMLACCESSPOINT
属性に対して "not defined" エラーが返され、操作は失敗します。
T_DM_SNALINK
クラスは、リモート ドメイン アクセス ポイントの SNAX 固有のコンフィグレーション情報を表します。
TA_DMSNALINK
: string
[1..30]
T_DM_SNALINK
エントリの名前。この TA_DMSNALINK
エントリを識別するために使用する Domains コンフィグレーション内の SNA LINK エントリのスコープ内でユニークな識別子です。
TA_DMSNASTACK
: string
[1..30]
TA_DMRACCESSPOINT
: string
[1..30]
TA_DMLSYSID
: string
[1..4]
TA_DMRSYSID
: string
[1..4]
TA_DMLUNAME
: string
[1..8]
TA_DMMINWIN
: 0 <= num
<= 32767
TA_DMMODENAME
: string
[1..8]
TA_STATE
:
GET
操作は、T_DM_SNALINK
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_SNALINK
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_DMSECTYPE
: ”
{LOCAL
| IDENTIFY
| VERIFY
| PERSISTENT
| MIXIDPE
}”
“LOCAL”
、“IDENTIFY”
、“VERIFY”
、“PERSISTENT”
、および “MIXIDPE”
です。
TA_DMSTARTTYPE
: ”
{AUTO
| COLD
}”
“COLD”
に設定すると、LU が COLDSTART で起動されます。“AUTO”
に設定すると、SNACRM とドメイン ゲートウェイによって、LU を COLDSTART するか WARMSTART するかが決まります。
TA_DMMAXSNASESS
: 0 <= num
<= 32767
TA_DMMAXSYNCLVL
: 0 <= num
<= 2
ドメイン ゲートウェイ管理 (GWADM
) サーバがアクティブなローカル ドメイン アクセス ポイントを参照する T_DM_SNACRM
クラスのインスタンスを T_DM_SNASTACK
クラスのインスタンスが参照している場合、T_DM_SNASTACK
クラスのインスタンスを参照する T_DM_SNALINK
クラスのインスタンスを削除または更新することはできません。
このクラスのインスタンスを追加または更新する SET
操作の実行時には、次の条件を満たしている必要があります。
T_DM_SNASTACK
クラスは、特定の SNA CRM が使用する SNA スタックを定義します。
TA_DMSNASTACK
: string
[1..30]
TA_DMSNACRM
: string
[1..30]
TA_DMSTACKTYPE
: string
[1..30]
TA_DMLUNAME
: string
[1..8]
TA_DMTPNAME
: string
[1..8]
TA_DMSTACKPARMS
: string
[1..128]
TA_STATE
:
GET
操作は、T_DM_SNASTACK
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_SNASTACK
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求の TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
ドメイン ゲートウェイ管理 (GWADM
) サーバがアクティブなローカル ドメイン アクセス ポイントを参照する T_DM_SNACRM
オブジェクトをこのクラスのインスタンスが参照している場合、このクラスのインスタンスを削除または更新することはできません。
このクラスのインスタンスを追加または更新する SET
操作の実行時には、TA_DMSNACRM
属性で指定する SNA CRM 名が T_DM_SNACRM
クラス内に存在しなければなりません。SNA CRM 名が存在しない場合、TA_DMSNACRM
属性に対して "not defined" エラーが返され、操作は失敗します。
T_DM_TDOMAIN
クラスは、ローカルまたはリモート ドメイン アクセス ポイントに対する TDomain 固有のコンフィグレーションを定義します。
注 1 Oracle Tuxedo 8.0 以前のリリースの場合、この属性の文字列の長さは最大 78 バイトです。
注 2 リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。
注 3 リモート ドメイン アクセス ポイント用のデフォルト。
注 4 ローカル ドメイン アクセス ポイント用のデフォルト。
注 5 ローカル ドメイン アクセス ポイント用の TA_DMCONNECTION_POLICY
のデフォルト値は、T_DM_LOCAL
クラスで指定した TA_DMCONNECTION_POLICY
の値です。
TA_DMACCESSPOINT
: string
[1..30]
TA_DMNWADDR
: string
[1..256] (Oracle Tuxedo 8.0 以前の場合は最大 78 バイト)
T_DM_TDOMAIN
エントリ間でユニークでなければなりません。
表 30 は TCP/IP アドレス形式を示しています。
TA_STATE
:
GET
操作は、T_DM_TDOMAIN
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
属性の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_TDOMAIN
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
注意 : | "INValid" 要求で DM_TDOMAIN エントリを削除する場合は、以下の点に注意が必要です。 |
TA_DMNWDEVICE
: string
[1..78]
TA_DMCMPLIMIT
: 0 <= num
<= MAXLONG
TA_DMMINENCRYPTBITS
: “
{0
| 40
| 56
| 128
| 256
}”
“0”
は暗号化を行わないことを示し、“40”
、“56”
、“128”
、および “256”
は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルトは “0”
です。
注意 : | この属性を変更しても、確立済みの接続には反映されません。 |
TA_DMMAXENCRYPTBITS
: “
{0
| 40
| 56
| 128
| 256
}”
“0”
は暗号化を行わないことを示し、“40”
、“56”
、“128”
、および “256”
は暗号化キーの長さをビット単位で指定します。デフォルト値は “128”
です。
注意 : | この属性を変更しても、確立済みの接続には反映されません。 |
TA_DMCONNECTION_POLICY
=
“
{LOCAL
| ON_DEMAND
| ON_STARTUP
| INCOMING_ONLY
| PERSISTENT_DISCONNECT
}”
“LOCAL”
、“ON_DEMAND”
、“ON_STARTUP”
、“INCOMING_ONLY”
、または “PERSISTENT_DISCONNECT”
です。“LOCAL”
は、リモート ドメイン アクセス ポイントにのみ適用されます。
TA_DMCONNECTION_POLICY
属性は T_DM_TDOMAIN
クラスでも指定できます。特定のローカルまたはリモート ドメイン アクセス ポイントの T_DM_TDOMAIN
クラスの値は、T_DM_LOCAL
クラスのグローバル値に優先します。グローバル接続ポリシーをオーバーライドできるので、リモート ドメイン単位で接続ポリシーをコンフィグレーションできます。
T_DM_LOCAL
クラスに指定されるグローバル接続ポリシーが使用されます。T_DM_TDOMAIN
クラスにグローバル接続ポリシーを指定する場合、T_DM_LOCAL
クラスにグローバル接続ポリシーを指定しないでください。
“LOCAL”
の場合、リモート ドメイン アクセス ポイントは T_DM_LOCAL
クラスに指定されるグローバル接続ポリシーを受け入れます。“LOCAL”
は、リモート ドメイン アクセス ポイントに対するデフォルトの接続ポリシーです。“LOCAL”
を除き、リモート ドメイン アクセス ポイントに対する接続ポリシーは、ローカル ドメイン アクセス ポイントに対する接続ポリシーに優先します。
“ON_DEMAND”
の場合、クライアントがリモート サービスを要求したとき、または dmadmin(1)
connect
コマンドが実行されたときにのみ、TDomain ゲートウェイは接続を試行します。接続ポリシーが “ON_DEMAND”
の場合、再接続は行われません。
“ON_STARTUP”
の場合、TDomain ゲートウェイはゲートウェイ サーバの初期化時に接続を試行します。“ON_STARTUP”
に設定した場合、リモート ドメインへの接続が確立された場合にのみそのリモート サービス (TDomain ゲートウェイによって宣言されたサービス) が宣言されます。つまり、リモート ドメインとの接続が確立されていないと、リモート サービスは中断されます。デフォルトでは、失敗した接続が 60 秒おきに再試行されるよう設定されています。再接続の間隔は、T_DM_TDOMAIN
クラスの TA_DMRETRY_INTERVAL
属性で変更できます。このクラスの TA_DMMAXRETRY
属性も参照してください。
“INCOMING_ONLY”
の場合、TDomain ゲートウェイは起動時にリモート ドメインへの接続を試みません。このため、リモート サービスは最初は中断されています。TDomain ゲートウェイは、リモート ドメインからの接続を受信したときに利用可能になります。リモート サービスは、ドメイン ゲートウェイが接続を受信したときか、dmadmin(1)
connect
コマンドで管理接続が確立されたときに宣言されます。接続ポリシーが “INCOMING_ONLY”
の場合、再接続は行われません。
“PERSISTENT_DISCONNECT”
接続ポリシーは、リモート ドメインからの受信時接続を拒否し、ローカル ドメインがリモート ドメインへの接続を試行しないことを意味します。それに応じて関連するリモート サービスは中断します。ローカル ドメインは、別の接続ポリシーに手動で変更されるまで孤立します。リモート サービスは、別の接続ポリシーに手動で変更し、管理接続 (dmadmin(1)
接続コマンドを使用) が確立するまで利用できます。
注意 : | このポリシーは、リモート アクセス ポイントの MIB 設定でのみ使用できます。 |
TA_DMFAILOVERSEQ =
-1 <= num
<= 32767
BDMCONFIG
ファイル内の TDomain セッション レコードに関するフェイルオーバのシーケンスとプライマリ レコードを指定または要求します。DM_MIB SET
要求で TA_DMFAILOVERSEQ
値を指定しない場合、または、9.0 より前のリリースの Tuxedo による DM_MIB SET TA_DMFAILOVERSEQ
要求である場合、BDMCOMFIG
ファイル内の出力 TDomain セッション レコードでは、デフォルトの FAILOVERSEQ =
-1 が使用されます。
FAILOVERSEQ
値が最も小さいレコードが、その TDomain セッションのプライマリ レコードになります。プライマリ レコードは 1 つの TDomain セッションで 1 つだけです。同じ TDomain セッションのその他のレコードはすべてセカンダリ レコードまたはバックアップ レコードと呼ばれます。NWADDR
、NWDEVICE
、および FAILOVERSEQ
を除いて、プライマリ レコードは、すべての TDomain セッション コンフィグレーションのパラメータと属性のソースになります。セカンダリ (バックアップ) レコードで指定されている他のパラメータと属性は無視されます。
CONNECTION_POLICY
属性に基づいて、ローカル ドメインは TDomain セッションのプライマリ レコードに接続しようとします。プライマリ レコードでフェイルオーバされた場合は、次の順のセカンダリ (バックアップ) レコードに接続しようとします。すべてのセカンダリ レコードへの接続が失敗した場合は、MAXRETRY
に達するまで、RETRY_INTERVAL
で指定された間隔でプライマリ レコードの情報を再試行します。
TA_DMLACCESSPOINT
: string
[1..30]
BDMCONFIG
ファイル内で TDomain セッション レコードの DM_LOCAL
セクションにあるローカル ドメイン アクセス ポイントを指定または要求します。TA_DMLACCESSPOINT
パラメータは、TDomain セッション ゲートウェイを定義するためにのみ使用され、値としてローカル ドメイン アクセス ポイントを 1 つだけ指定できます。
DM_MIB SET
要求で TA_DMLACCESSPOINT
値を指定しない場合、または、9.0 より前のリリースの Tuxedo による DM_MIB SET TA_DMLACCESSPOINT
要求である場合、BDMCOMFIG
ファイル内の出力 TDomain セッション レコードでは、デフォルトの LACCESPOINT ="*”
が使用されます。
注意 : | DM_MIB では、TA_DMLACCESSPOINT で正規表現を使用することはできません。 |
TA_DMMAXRETRY:
0 <= num
<= MAXLONG
T_DM_TDOMAIN
クラスで使用でき、このアクセス ポイントの TA_DMCONNECTION_POLICY
属性が “ON_STARTUP”
に設定されている場合に有効です。それ以外の接続ポリシーの場合、自動再試行は無効になります。
TA_DMMAXRETRY
の最小値は 0 で、最大値は MAXLONG
(2147483647) です。MAXLONG
(デフォルト) の場合、再接続処理が無限に繰り返されるか、または接続が確立されるまで繰り返されます。
TA_DMRETRY_INTERVAL:
0 <= num
<= MAXLONG
T_DM_TDOMAIN
クラスで使用でき、このアクセス ポイントの TA_DMCONNECTION_POLICY
属性が “ON_STARTUP”
に設定されている場合に有効です。それ以外の接続ポリシーの場合、自動再試行は無効になります。
TA_DMRETRY_INTERVAL
の最小値は 0 で、最大値は MAXLONG
(2147483647) です。デフォルト値は 60 です。
TA_DMMAXRETRY
が 0 に設定されている場合、TA_DMRETRY_INTERVAL
は設定できません。TA_DMNW_PROTOCOL
=
”
{LLE
| SSL
| SSL_ONE_WAY
}”
“LLE”
です。
SSL
では接続の両側のドメインが相互に認証を行う必要がありますが、SSL_ONE_WAY
ではその必要はありません。SSL_ONE_WAY
が設定されている場合、SSL 接続を受け付けるドメインが、SSL 証明書を使用して接続を開始したドメインに対して自身を認証する必要があります。開始側のドメインは、もう一方のドメインに対して自身を認証する必要はありません。この値は、CONNECTION_POLICY
が INCOMING_ONLY
に設定されている場合に使用されることを想定しています。受信する接続を受け付けるドメインで、接続するドメインを認証する必要がない場合にのみ設定してください。
注意 : | TA_DMNW_PROTOCOL が設定されていない場合や LLE に設定されている場合に、TA_DMSSL_RENEGOTIATION にゼロ以外の値が設定されていると、MIB 呼び出しによって警告メッセージが出力されますが、要求された値は引き続き設定されています。MIB 操作は TAUPDATED または TAOK を返します (その他のエラーが発生しない場合)。 |
TA_DMSSL_RENEGOTIATION
=
0 <= num
<= 2147483647
注意 : | TA_DMNW_PROTOCOL が設定されていない場合や LLE に設定されている場合に、TA_DMSSL_RENEGOTIATION にゼロ以外の値が設定されていると、MIB 呼び出しによって警告メッセージが出力されますが、要求された値は引き続き設定されています。MIB 操作は TAUPDATED または TAOK を返します (その他のエラーが発生しない場合)。 |
TA_DMTCPKEEPALIVE
=
”
{LOCAL
| NO
| YES
}”
“LOCAL”
、“NO”
、または “YES”
です。“LOCAL”
は、リモート ドメイン アクセス ポイントにのみ適用されます。
TA_DMTCPKEEPALIVE
属性は、Oracle Tuxedo 8.1 以降のソフトウェアが実行されている TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。リモート ドメイン アクセス ポイントに対するこの値は、ローカル ドメイン アクセス ポイントに対する値に優先します。ローカル ドメイン アクセス ポイント値をオーバーライドできるので、リモート ドメイン単位で TCP レベル キープアライブをコンフィグレーションできます。
“LOCAL”
を指定すると、リモート ドメイン アクセス ポイントは、ローカル ドメイン アクセス ポイントに対して定義されている TCP レベル キープアライブ値を受け入れます。“LOCAL”
は、リモート ドメイン アクセス ポイントに対するデフォルトの TCP レベル キープアライブ値です。
“NO”
を指定すると、このアクセス ポイントに対する TCP レベル キープアライブが無効になります。“NO”
は、ローカル ドメイン アクセス ポイントに対するデフォルトの TCP レベル キープアライブ値です。
“YES”
を指定すると、このアクセス ポイントに対する TCP レベル キープアライブが有効になります。接続の TCP レベル キープアライブが有効になった場合、その接続のキープアライブ間隔は、オペレーティング システムの TCP キープアライブ タイマー用にコンフィグレーションされているシステム レベル値です。この間隔は、TDomain ゲートウェイが接続でトラフィックを受信せずに待機する最長時間です。この最長時間を超えると、ゲートウェイは TCP レベル キープアライブ要求メッセージを送信します。接続がまだ開いており、リモート TDomain ゲートウェイが正常に動作している場合、リモート ゲートウェイは肯定応答を返信します。ローカル TDomain ゲートウェイは、要求メッセージを送信してから一定時間内に肯定応答を受信しなかった場合、接続が切断されたと見なして、その接続に関連するすべてのリソースを解放します。
注意 : | TA_DMTCPKEEPALIVE と TA_DMKEEPALIVE は、相互に排他的ではありません。つまり、両方のパラメータを使用してドメイン間接続をコンフィグレーションできます。 |
TA_DMKEEPALIVE
= -1 <= num
<= 2147483647
TA_DMKEEPALIVE
属性は、Oracle Tuxedo 8.1 以降のソフトウェアが実行されている TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。リモート ドメイン アクセス ポイントに対するこの値は、ローカル ドメイン アクセス ポイントに対する値に優先します。ローカル ドメイン アクセス ポイント値をオーバーライドできるので、リモート ドメイン単位でアプリケーションレベル キープアライブをコンフィグレーションできます。
TA_DMKEEPALIVEWAIT
属性を参照) に肯定応答を受信しなかった場合、接続が切断されたと見なして、その接続に関連するすべてのリソースを解放します。
注意 : | TA_DMKEEPALIVE と TA_DMTCPKEEPALIVE は、相互に排他的ではありません。つまり、両方のパラメータを使用してドメイン間接続をコンフィグレーションできます。 |
TA_DMKEEPALIVEWAIT
=
0 <= num
<= 2147483647
TDOMAIN
タイプのドメイン ゲートウェイにのみ適用されます。
TA_DMKEEPALIVE
が 0 (キープアライブが無効) の場合、TA_DMKEEPALIVEWAIT
の設定は無効です。
TA_DMKEEPALIVE
を有効にし、TA_DMKEEPALIVEWAIT
を TA_DMKEEPALIVE
より大きい値に設定した場合、ローカル TDomain ゲートウェイは TA_DMKEEPALIVEWAIT
タイマーが期限切れになるまでに複数のアプリケーションレベル キープアライブ メッセージを送信します。このような設定の組み合わせも可能です。
TA_DMKEEPALIVE
を有効にし、TA_DMKEEPALIVEWAIT
を 0 に設定した場合、送信されたキープライブ メッセージに対する肯定応答は意味を持ちません。こうした肯定応答は、TDomain ゲートウェイによってすべて無視されます。ゲートウェイは、TA_DMKEEPALIVE
タイマーがタイムアウトするたびにキープアライブ メッセージを送信します。この設定の組み合わせは、ファイアウォールを介したアイドル接続を保持するために使用します。
以下の場合は、このクラスのインスタンスを削除したり、このクラスのインスタンスの TA_DMNWDEVICE
属性を更新したりすることはできません。
T_DM_TRANSACTION
クラスは、複数のドメインにまたがるトランザクションに関する実行時情報を表します。このオブジェクトを使用すると、トランザクションに関与しているリモート ドメイン アクセス ポイント、親ドメイン アクセス ポイント、トランザクション状態、およびその他の情報を検索できます。
GET
操作では、特定のトランザクションを選択するために、TA_DMTPTRANID
、TA_DMTXACCESSPOINT
、および TA_DMTXNETTRANID
属性を指定できます。
TA_DMLACCESSPOINT
: string
[1..30]
GET
操作では必須です。SET
操作では、TA_DMLACCESSPOINT
を指定する必要があります。
TA_DMTPTRANID
: string
[1..78]
TA_STATE
:
GET:
”
{ABorteD
| ABortonlY
| ACTive
| COMcalled
| DECided
| DONe
| HABort
| HCOmmit
| HEUristic
| REAdy
| UNKnown
}”
GET
操作は、T_DM_TRANSACTION
オブジェクトの実行時情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
の意味を示します。以下に示されていない状態は返されません。
SET
操作は、選択した T_DM_TRANSACTION
オブジェクトの実行時情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_DMTXACCESSPOINT
: string
[1..30]
TA_DMTXACCESSPOINT
はトランザクションの開始に使用したリモート ドメイン アクセス ポイントの名前です。トランザクションがこのドメイン内から開始された場合、TA_DMTXACCESSPOINT
はローカル ドメイン アクセス ポイントの名前です。
TA_DMTXNETTRANID
: string
[1..78]
TA_DMTXNETTRANID
はトランザクションの開始に使用したリモート ドメイン アクセス ポイントから受け取った外部トランザクション識別子です。トランザクションがこのドメイン内で開始された場合、TA_DMTXNETTRANID
は TA_DMTPTRANID
属性と同じ値になります。
注意 : | この属性は、Oracle Tuxedo リリース 7.1 以降を実行するゲートウェイでのみ使用できます。それ以前のリリースの Oracle Tuxedo システムを実行するゲートウェイでは NULL 文字列 “” に設定されます。 |
TA_DMBRANCHCOUNT
: 0 <= num
TA_DMBRANCHINDEX
: 0 <= num
TA_DMBRANCHNO
、TA_DMRACCESSPOINT
、TA_DMNETTRANID
、および TA_DMBRANCHSTATE
) のインデックス。
TA_DMBRANCHNO
: 0 <= num
TA_DMRACCESSPOINT
: string
[1..30]
TA_DMNETTRANID
: string
[1..78]
TA_DMTPTRANID
のローカル トランザクション識別子を使用し、この値を空文字列に設定します。
TA_DMBRANCHSTATE
:
注意 : | この属性は、Oracle Tuxedo リリース 7.1 以降を実行するゲートウェイでのみ使用できます。それ以前のリリースの Oracle Tuxedo システムを実行するゲートウェイでは “UNKnown” に設定されます。 |
このオブジェクトは、管理者が明示的に作成するのではなく、マルチドメイン トランザクションの開始時に生成されます。このオブジェクトに対して管理者が実行できるのは、状態を “INValid”
に設定して、ヒューリスティック トランザクション ログ レコードを破棄することだけです。その他の属性を設定することはできません。トランザクション状態を “INValid”
に設定した場合、返されるバッファの状態は、ヒューリスティック トランザクション ログ レコードが破棄される前のトランザクション状態であり、破棄後の状態ではありません。
GET
および SET
操作では、TA_DMLACCESSPOINT
属性に特定のローカル ドメイン アクセス ポイントを指定する必要があります。
GET
操作や SET
操作の実行時には、TA_DMLACCESSPOINT
属性で識別されるローカル アクセス ポイントのドメイン ゲートウェイ管理 (GWADM
) サーバがアクティブでなければなりません。アクティブでない場合は "not defined" エラーが返されます。
${TUXDIR}/include/tpadm.h
${TUXDIR}/udataobj/tpadm
tpacall(3c)、tpalloc(3c)、tpcall(3c)、tpdequeue(3c)、tpenqueue(3c)、tpgetrply(3c)、tprealloc(3c)、「FML 関数の紹介」、Fadd、Fadd32(3fml)、Fchg、Fchg32(3fml)、Ffind、Ffind32(3fml)、MIB(5)
、TM_MIB(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』
『FML を使用した Oracle Tuxedo アプリケーションのプログラミング』
システム イベント モニタ機能は、システム オペレータが把握する必要のある定義済みイベント (主に異常終了) を検出して通知する機能です。各イベント レポートは FML32 バッファです。このバッファには、イベントについて記述した共通フィールドと、そのイベントに関連のあるオブジェクトついて記述したその他のフィールドが含まれます。
Oracle Tuxedo システムでは、システム容量の限界を定期的にチェックします。リソースを使い切っているか限界に近い場合は、システム WARN
イベントまたは ERROR
イベントが通知されます。これらのイベントは、条件が解消されるまで継続的に通知されます。
このリファレンス ページでは、まず共通のイベント通知フィールドについて説明し、その後で Oracle Tuxedo の現行リリースで検出できるシステム イベントのリストを示します。システム イベント名はピリオド (.
) で始まります。
イベントの通知は、現時点では TM_MIB(5)
で定義されるクラスと DM_MIB(5)
で定義される T_DM_CONNECTION
クラスに限定されています。イベントの通知では、MIB 情報ベースを使用します。「ローカル属性」の定義および可用性については、
MIB(5)
および TM_MIB(5)
を参照してください。また、ローカル属性が使用できるかどうかは、アプリケーションのネットワーク内での通信状態によって異なる点に注意してください。
条件がごく短時間しか存在しない場合、システム容量の限界に関するイベント (たとえば、.SysMachineFullMaxgtt
) は通知されないことがあります。
TA_OPERATION
: string
TA_EVENT_NAME
: string
TA_EVENT_SEVERITY
: string
TA_EVENT_LMID
: string
TA_EVENT_TIME
: long
TA_EVENT_USEC
: long
TA_EVENT_DESCRIPTION
: string
TA_CLASS
: string
TA_ULOGCAT
: string
TA_ULOGMSGNUM
: num
.SysAclPerm
SysResourceConfig
SysLicenseInfo
.SysLicenseInfo: Tuxedo システム・バイナリ契約ユーザ数の 90% に達しました。
.SysLicenseInfo: Tuxedo システム・バイナリ契約ユーザ数の 90% に達しました。DBBL/BBL ロックアウトがキャンセルされました。
.SysLicenseInfo: Tuxedo システム・バイナリ契約ユーザ数の 90% 未満になりました。DBBL/BBL ロックアウトがキャンセルされました。
SysLicenseWarn
SysLicenseError
ERROR: .SysLicenseError: Tuxedo システム・バイナリ契約ユーザ数の 110% を超えました。DBBL/BBL のロックアウトが発生し、アプリケーションに新しいクライアントを参加させることができなくなります。
.SysLicenseError: Tuxedo システム・バイナリ契約ユーザ数の 110% を超えました。%hour 時間 %minutes 分 %seconds 秒が経過すると、DBBL/BBL のロックアウトが発生します。
.SysConnectionSuccess
.SysConnectionConfig
.SysConnectionDropped
.SysConnectionFailed
SysGroupState
SysMachineBroadcast
SysMachineConfig
SysMachineFullMaxaccessers
SysMachineFullMaxconv
SysMachineFullMaxgtt
SysMachineFullMaxwsclients
SysMachineMsgq
SysMachinePartitioned
SysMachineSlow
SysMachineState
SysMachineUnpartitioned
SysNetworkConfig
SysNetworkDropped
SysNetworkFailure
SysNetworkFlow
SysNetworkState
SysServerCleaning
SysServerConfig
SysServerDied
SysServerInit
SysServerMaxgen
SysServerRestarting
SysServerState
SysServerTpexit
ERROR: .SysServiceTimeout: %TA_SERVERNAME、グループ %TA_SRVGRP、id %TA_SRVID のサーバが、サービス・タイムアウトのため強制終了しました。
SysClientConfig
SysClientDied
SysClientSecurity
SysClientState
SysTransactionHeuristicAbort
SysTransactionHeuristicCommit
SysEventDelivery
SysEventFailure
#include <tpadm.h>
#include <fml32.h>
#include <evt_mib.h>
Oracle Tuxedo イベント ブローカ MIB は、イベント ブローカで管理できるクラスの集合を定義します。
管理要求のフォーマットと管理応答の解釈を行うには、EVENT_MIB
(5) を共通 MIB リファレンス ページ MIB(5)
と一緒に使用します。コンポーネント MIB のリファレンス ページを使用し、MIB(5)
の説明に従ってフォーマットした要求を使用すると、アクティブなアプリケーションの既存の ATMI インタフェースの 1 つを通じて管理サービスを要求できます。EVENT_MIB(5)
のすべてのクラス定義の追加情報については、「EVENT_MIB(5) に関する追加情報」を参照してください。
これらのクラスの各オブジェクトは、単一のサブスクリプション要求を表します。
各クラスのパターン表現 TA_EVENT_EXPR
により、SYSTEM EVENT
要求を照会するか USER EVENT
要求を照会するが決まります。この決定は次のように行われます。
TA_EVENT_EXPR
または TA_EVENT_SERVER
を指定しない単純な GET 要求では、常に SYSTEM EVENT
要求が照会されます。USER
EVENT
要求は照会されません。TA_EVENT_EXPR
を指定し TA_EVENT_SERVER
を指定しない GET 要求では、表現が “¥.”
で始まる場合は SYSTEM EVENT
要求が照会されます。それ以外の場合は USER EVENT
要求が照会されます。TA_EVENT_SERVER
の値として “SYSTEM”
を指定した GET 要求では、SYSTEM EVENT
要求が照会されます。値に “USER”
を指定すると、USER EVENT
要求が照会されます。
このリファレンス ページで説明する属性のフィールド テーブルは、Oracle Tuxedo システム ソフトウェアのルート ディレクトリからの相対パスで指定される udataobj/evt_mib
ファイルにあります。${TUXDIR}/udataobj
ディレクトリは、FLDTBLDIR32
環境変数で指定されるコロン区切りのリストにアプリケーションによって追加される必要があり、フィールド テーブル名 evt_mib
は、FIELDTBLS32
環境変数で指定されるカンマ区切りのリストに追加される必要があります。
T_EVENT_CLIENT
クラスは、クライアントベースの通知用にイベント ブローカに登録するサブスクリプションの集まりを表します。
イベントが検出されると、そのイベントと各 T_EVENT_CLIENT
オブジェクトを比較します。そのイベント名が TA_EVENT_EXPR
内の値と一致し、省略可能なフィルタ規則が TRUE である場合、イベント バッファは指定されたクライアントの非請求メッセージの処理ルーチンに送られます。
パーミッションについては、MIB(5)
を参照してください。
TA_EVENT_EXPR
: string
[1..255]
TA_EVENT_FILTER
: string
[1..255]
TA_EVENT_FILTER_BINARY
: carray
[1..64000]
TA_EVENT_FILTER
と同じですが、任意のバイナリ データを含むことができます。TA_EVENT_FILTER
または TA_EVENT_FILTER_BINARY
のどちらか 1 つのみを指定できます。
TA_STATE
:
SET
操作は、T_EVENT_CLIENT
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_CLIENTID
: string
[1..78]
T_EVENT_COMMAND
クラスは、システム コマンドの実行をトリガするイベント ブローカに登録するサブスクリプションの集まりを表します。イベントが検出されると、そのイベントと各 T_EVENT_COMMAND
オブジェクトを比較します。そのイベント名が TA_EVENT_EXPR
内の値と一致し、省略可能なフィルタ規則が TRUE である場合、イベント バッファはフォーマットされてシステムのコマンド インタープリタに渡されます。
パーミッションについては、MIB(5)
を参照してください。
TA_EVENT_EXPR
: string
[1..255]
TA_EVENT_FILTER
: string
[1..255]
TA_EVENT_FILTER_BINARY
: carray
[1..64000]
TA_EVENT_FILTER
と同じですが、任意のバイナリ データを含むことができます。TA_EVENT_FILTER
または TA_EVENT_FILTER_BINARY
のどちらか 1 つのみを指定できます。
TA_STATE
:
SET
操作は、T_EVENT_COMMAND
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_COMMAND
: string
[1..255]
system
(3) を使用してバックグラウンドで実行されます。
T_EVENT_QUEUE
クラスは、キューベースの通知用にイベント ブローカに登録するサブスクリプションの集まりを表します。イベントが検出されると、そのイベントと各 T_EVENT_QUEUE
オブジェクトを比較します。そのイベント名が TA_EVENT_EXPR
内の値と一致し、省略可能なフィルタ規則が TRUE である場合、イベント バッファは指定された信頼性の高いキューに格納されます。
パーミッションについては、MIB(5)
を参照してください。
TA_EVENT_EXPR
: string
[1..255]
TA_EVENT_FILTER
: string
[1..255]
TA_EVENT_FILTER_BINARY
: carray
[1..64000]
TA_EVENT_FILTER
と同じですが、任意のバイナリ データを含むことができます。TA_EVENT_FILTER
または TA_EVENT_FILTER_BINARY
のどちらか 1 つのみを指定できます。
TA_STATE
:
SET
操作は、T_EVENT_QUEUE
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_QSPACE
: string
[1..15]
TA_QNAME
: string
[1..15]
TA_QCTL_QTOP
: short
tpenqueue()
の TPQCTL
制御構造体に渡されます (値が設定されている場合のみ)。これにより、/Q サブシステム経由で通知が要求され、メッセージがキューの先頭に登録されます。
TA_QCTL_BEFOREMSGID
: short
tpenqueue()
の TPQCTL
制御構造体に渡されます (値が設定されている場合のみ)。これにより、/Q サブシステム経由で通知が要求され、メッセージがキュー内の指定したメッセージの前に登録されます。
TA_QCTL_QTIME_ABS
: short
tpenqueue()
の TPQCTL
制御構造体に渡されます (値が設定されている場合のみ)。これにより、/Q サブシステム経由で通知が要求され、メッセージが指定した時間に処理されます。
TA_QCTL_QTIME_REL
: short
tpenqueue()
の TPQCTL
制御構造体に渡されます (値が設定されている場合のみ)。これにより、/Q サブシステム経由で通知が要求され、キューからの取り出し時からの相対時間にメッセージが処理されます。
TA_QCTL_DEQ_TIME
: short
TA_QCTL_PRIORITY
: short
TA_QCTL_MSGID
: string
[1..31]
TA_QCTL_CORRID
: string
[1..31]
TA_QCTL_REPLYQUEUE
: string
[1..15]
TA_QCTL_FAILUREQUEUE
: string
[1..15]
TA_EVENT_PERSIST
: short
TA_EVENT_TRAN
: short
T_EVENT_SERVICE
クラスは、サービスベースの通知用にイベント ブローカに登録するサブスクリプションの集まりを表します。イベントが検出されると、そのイベントと各 T_EVENT_SERVICE
オブジェクトを比較します。そのイベント名が TA_EVENT_EXPR
内の値と一致し、省略可能なフィルタ規則が TRUE である場合、イベント バッファは指定された Oracle Tuxedo サービス ルーチンに送られます。
パーミッションについては、MIB(5)
を参照してください。
TA_EVENT_EXPR
: string
[1..255]
TA_EVENT_FILTER
: string
[1..255]
TA_EVENT_FILTER_BINARY
: carray
[1..64000]
TA_EVENT_FILTER
と同じですが、任意のバイナリ データを含むことができます。TA_EVENT_FILTER
または TA_EVENT_FILTER_BINARY
のどちらか 1 つのみを指定できます。
TA_STATE
:
SET
操作は、T_EVENT_SERVICE
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_SERVICENAME
: string
[1..15]
TA_EVENT_PERSIST
: short
TA_EVENT_TRAN
: short
tppost()
呼び出しがトランザクションに関与している場合、クライアントのトランザクションに TA_SERVICENAME
サービス呼び出しを含めます。
T_EVENT_USERLOG
クラスは、システム userlog(3c) メッセージを書き込むためにイベント ブローカに登録するサブスクリプションの集まりを表します。イベントが検出されると、そのイベントと各 T_EVENT_USERLOG
オブジェクトを比較します。そのイベント名が TA_EVENT_EXPR
内の値と一致し、省略可能なフィルタ規則が TRUE である場合、イベント バッファはフォーマットされて Oracle Tuxedo userlog(3c) 関数に渡されます。
パーミッションについては、MIB(5)
を参照してください。
TA_EVENT_EXPR
: string
[1..255]
TA_EVENT_FILTER
: string
[1..255]
TA_EVENT_FILTER_BINARY
: carray
[1..64000]
TA_EVENT_FILTER
と同じですが、任意のバイナリ データを含むことができます。TA_EVENT_FILTER
または TA_EVENT_FILTER_BINARY
のどちらか 1 つのみを指定できます。
TA_STATE
:
SET
操作は、T_EVENT_USERLOG
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_USERLOG
: string
[1..255]
${TUXDIR}/udataobj/evt_mib ${TUXDIR}/include/evt_mib.h
factory_finder.ini
- FactoryFinder Domains コンフィグレーション ファイル
factory_finder.ini
は、Domains 用の FactoryFinder コンフィグレーション ファイルです。このテキスト (ASCII) ファイルは、Master NameManager として起動された場合に TMFFNAME
サービスによって解析されます。NameManager は、このファイルに格納されている情報を使用して、他のドメインとの間でのファクトリ オブジェクトのオブジェクト参照のインポートやエクスポートを制御します。factory_finder.ini
ファイルの情報を使用するには、TMFFNAME サーバ プロセスの -f
オプションで factory_finder.ini
ファイルを指定する必要があります。
FactoryFinder Domains コンフィグレーション ファイルにはどのような名前を付けることもできますが、ファイルの内容はこのリファレンス ページで説明する形式に準拠している必要があります。
Oracle Tuxedo ドメインは、単一の TUXCONFIG
ファイルに記述された環境として定義されます。Oracle Tuxedo ドメインは、別の Oracle Tuxedo ドメインや別の TP アプリケーション (別の TP システムで実行されているアプリケーション) と、ドメイン ゲートウェイ グループを介して通信できます。Oracle Tuxedo 用語では、ドメインとアプリケーション (ビジネス アプリケーション) は同義です。
リモート ファクトリは、リモート ドメイン内に存在するファクトリ オブジェクトです。アプリケーションでは、Oracle Tuxedo FactoryFinder を介してこのオブジェクトを使用できます。
ローカル ファクトリは、ローカル ドメイン内に存在するファクトリ オブジェクトです。リモート ドメインでは、Oracle Tuxedo FactoryFinder を介してこのオブジェクトを使用できます。
このファイルは、2 つの仕様セクションで構成されます。使用可能なセクションは、DM_REMOTE_FACTORIES
および DM_LOCAL_FACTORIES
です。
通常、パラメータは KEYWORD
=
value
で指定します。これにより、KEYWORD
が value
に設定されます。有効なキーワードについては、以下の各セクションで説明します。KEYWORD
は予約されているため、引用符が付いている場合を除き、値としては使用できません。
値が識別子の場合は、標準 C の規則が適用されます。標準 C の識別子の先頭には英字またはアンダースコア (_) を使用し、以降の識別子には英数字またはアンダースコアを使用する必要があります。KEYWORD
と同じ identifier を使用することはできません。
値が識別子でない場合は、二重引用符で囲まなければなりません。
入力フィールドは、1 つ以上の空白またはタブ文字で区切ります。
#
文字はコメントを示します。復帰改行文字でコメントを終了します。
行は、復帰改行の後に最低 1 つのタブを置いて継続できます。コメントを継続することはできません。
DM_LOCAL_FACTORIES
セクション
このセクションは、各ローカル ドメインによってエクスポートされたファクトリに関する情報を提供します。このセクションは省略可能で、指定されていない場合はすべてのローカル ファクトリをリモート ドメインにエクスポートできます。このセクションを指定することにより、リモート ドメインから取得できるローカル ファクトリ オブジェクトのセットが制限されます。予約されている factory_id.factory_kind
識別子 NONE
を使用して、リモード ドメインから取得するローカル ファクトリを制限できます。
factory_id.factory_kind
は、ファクトリのローカル名 (識別子) です。この名前は、1 つまたは複数の Oracle Tuxedo サーバ アプリケーションが Oracle Tuxedo FactoryFinder を使用して登録したファクトリ オブジェクトの識別子に対応している必要があります。
TMFFNAME
で適切なファクトリを検索するには、factory_kind
が指定されていなければなりません。factory_kind
が指定されていないエントリには、デフォルト値の FactoryInterface
が適用されます。
DM_REMOTE_FACTORIES
セクション
このセクションは、インポートされてリモート ドメインで使用可能になったファクトリ オブジェクトに関する情報を提供します。このセクション内にある各行の形式は次のとおりです。
factory_id.factory_kind
required_parameters
factory_id.factory_kind
は、ローカルの Oracle Tuxedo システム ドメインが特定のリモート ファクトリ オブジェクトに使用する名前 (識別子) です。リモート ファクトリ オブジェクトは、特定のリモート ドメインに関連付けられています。
注意 : | TobjFactoryFinder インタフェースを使用する場合、factory_kind は FactoryInterface でなければなりません。 |
このパラメータは、ファクトリ オブジェクトを検索するリモート ドメインの ID を指定します。domain_id
の長さは 32 オクテット以内です。文字列を指定する場合は、32 文字以内で指定する必要があります (最後の NULL を含む)。domain_id
の値は、一連の文字か、または 0x
で始まる 16 進数です。
このパラメータは、リモート ドメインによってエクスポートされる名前を指定します。リモート ドメインでは、この名前を使用してこのファクトリ オブジェクトを要求します。このパラメータを指定しない場合、リモート ファクトリ オブジェクト名は factory_id.factory_kind
で指定した名前と同じになります。
DOMAINID
または RNAME
パラメータのどちらかに関連する値で固有のファクトリ オブジェクトが識別できれば、同じ名前の複数のエントリを指定することができます。
次の FactoryFinder Domains コンフィグレーション ファイルは、あるファクトリ オブジェクトの 2 つのエントリを定義しています。このファクトリ オブジェクトは、ローカル ドメインでは Teller.FactoryIdentity
という識別子で識別され、2 つの異なるリモート ドメインからインポートされます。
# BEA Tuxedo FactoryFinder Domains
# コンフィグレーション ファイル
#
*DM_REMOTE_FACTORIES
Teller.FactoryIdentity
DOMAINID="Northwest"
RNAME=Teller.FactoryType
Teller.FactoryIdentity
DOMAINID="Southwest”
最初のエントリでは、Teller.FactoryType
というファクトリ ID で登録された Northwest
という ID のリモート ドメインから、ファクトリ オブジェクトがインポートされます。
2 番目のエントリでは、Teller.FactoryIdentity
というファクトリ ID で登録された Southwest
という ID のリモート ドメインから、ファクトリ オブジェクトがインポートされます。RNAME パラメータが指定されていないため、リモート ドメインのファクトリ オブジェクトの名前は、ローカル ドメインのファクトリの名前と同じと見なされます。
次に示す FactoryFinder Domains コンフィグレーション ファイルの定義では、ローカル ドメインの Teller.FactoryInterface という ID で登録されたファクトリ オブジェクトのみをリモート ドメインにエクスポートできます。その他のファクトリに対する要求は拒否されます。
# BEA Tuxedo FactoryFinder Domains
# コンフィグレーション ファイル
#
*DM_LOCAL_FACTORIES
Teller.FactoryInterface
次に示す FactoryFinder Domains コンフィグレーション ファイルでは、Oracle Tuxedo FactoryFinder で登録されたファクトリ オブジェクトがリモート ドメインにエクスポートされないように定義されています。
# BEA Tuxedo FactoryFinder Domains
# コンフィグレーション ファイル
#
*DM_LOCAL_FACTORIES
NONE
UBBCONFIG(5)
、DMCONFIG(5)
、TMFFNAME(5)
、TMIFRSVR(5)
#include "fml.h"
#include "fml32.h”
エラー条件のシンボル名によって表される数値は、多くの FML ライブラリ ルーチンの実行時に発生するエラー用の Ferror
に割り当てられます。
名前 Ferror
は、型 int
を持つ変更可能な lvalue
に拡張できます。この値は、FML ライブラリ ルーチンによって正のエラー番号に設定されます。Ferror
は、オブジェクトの識別子である必要はなく、関数呼び出しによって生じる変更可能な lvalue
に拡張されます。Ferror
がマクロであるかまたは外部リンクで宣言される識別子であるかは特定されていません。実際のオブジェクトにアクセスするための tperrno()
マクロの定義が抑止されている場合、または、あるプログラムが名前 Ferror
を使用して識別子を定義している場合、動作は不確定です。
FML ルーチンのリファレンス ページには、各ルーチンのエラー条件とそのコンテキストにおけるエラーの意味が掲載されています。掲載されているエラーの順番は重要ではなく、優先順位を示すものでもありません。Ferror
の値は、エラーが指摘された後にのみ検査します。つまり、構成要素の戻り値がエラーを示していて、構成要素の定義で tperrno()
のエラー時の設定が指定されている場合です。Ferror
の値を検査するアプリケーションは、ヘッダ ファイル fml.h
をインクルードしなければなりません。
Ferror32
は、同様の機能を FML32 ルーチンのユーザに提供します。Ferror32
の値を検査するアプリケーションは、ヘッダ ファイル fml32.h
をインクルードしなければなりません。
以下に、FML および FML32 のルーチンが返すエラー コードを示します。
#define FMINVAL 0 /* エラー メッセージ コードの最後尾 */
#define FALIGNERR 1 /* フィールド化バッファは整列しない */
#define FNOTFLD 2 /* バッファはフィールド化しない */
#define FNOSPACE 3 /* フィールド化バッファにスペースを入れない */
#define FNOTPRES 4 /* フィールドは存在しない */
#define FBADFLD 5 /* 不明なフィールド番号またはタイプ */
#define FTYPERR 6 /* 不正なフィールド タイプ */
#define FEUNIX 7 /* Unix システム呼び出しエラー */
#define FBADNAME 8 /* 不明なフィールド名 */
#define FMALLOC 9 /* malloc が失敗 */
#define FSYNTAX 10 /* 論理式の構文が不正 */
#define FFTOPEN 11 /* フィールド テーブルが見つからないか、開くことができない */
#define FFTSYNTAX 12 /* フィールド テーブル内に構文エラーがある */
#define FEINVAL 13 /* 関数に対する引数が無効 */
#define FBADTBL 14 /* フィールド テーブルに対する破壊的な同時アクセス */
#define FBADVIEW 15 /* ビューが見つからないか取得できない */
#define FVFSYNTAX 16 /* 不正なビューファイル */
#define FVFOPEN 17 /* ビューファイルが見つからないか、開くことができない */
#define FBADACM 18 /* ACM に負の値が含まれている */
#define FNOCNAME 19 /* cname が見つからない */
ルーチンには、エラーの戻り値がないものもあります。Ferror
をゼロに設定するルーチンはないため、アプリケーションは、Ferror
をゼロに設定し、ルーチンを呼び出してから、エラーが発生したかを調べるために再度 Ferror
をチェックできます。
この変数は、DOS および OS/2 環境では FMLerror
です。
個々の FML ライブラリ ルーチンの ERRORS
の項を参照してください。
「C 言語アプリケーション トランザクション モニタ インタフェースについて」、tperrordetail(3c)、tpstrerror(3c)、tpstrerrordetail(3c)、「FML 関数の紹介」、F_error、F_error32(3fml)
field_tables
- フィールド名に対する FML マッピング ファイル
フィールド操作言語 (FML) の関数は、フィールド化バッファの実装と管理を行います。フィールド化バッファの各フィールドには、short 整数のタグを付けます。可変長フィールド (文字列など) には、長さを示す修飾子を付けます。したがって、フィールド化バッファは、数値識別子/データの組み合わせ、または数値識別子/長さ/データの組み合わせから構成されることになります。
フィールドの数値識別子をそのフィールドのフィールド識別子といい、FLDID
によりそのタイプを定義します。フィールドの名前は、フィールド テーブルの FLDID
と英数字の文字列 (名前) を組み合わせて指定します。
従来の FML インタフェースでは、16 ビットのフィールド識別子、フィールド長、およびバッファ サイズをサポートします。新しい 32 ビット インタフェースである FML32 では、より大きい識別子、フィールド長、およびバッファ サイズをサポートします。すべてのタイプや関数名などには、接尾辞として "32" (たとえば、フィールド識別子タイプ定義は FLDID32
) を付けます。
FML 関数では、フィールド値の型を決めることができます。現在サポートされているタイプは、char
、string
、short
、long
、float
、double
、carray
(文字配列)、ptr
(バッファへのポインタ)、FML32
(埋め込み型の FML32 バッファ)、および VIEW32
(埋め込み型の VIEW32 バッファ) です。ptr
型、FML32
型、および VIEW32
型は、FML32 インタフェースでのみサポートされています。フィールド タイプの定数は fml.h
(FML32 では fml32.h
) で定義します。フィールド化バッファは完全な自己記述型であるため、フィールドの型は FLDID でエンコードされてフィールドと共に渡されます。したがって、FLDID はフィールドの型とフィールド番号という 2 つの要素から構成されます。32 ビット FML では、フィールド番号の範囲は 10,001 ~ 30,000,000 です。1 ~ 10,000 および 30,000,001 ~ 33,554,431 の番号はシステム用に予約されています。16 ビット FML では、フィールド番号の範囲は 101 ~ 8,191 です。
1 ~ 100 の番号はシステム用に予約されています。
フィールド名からフィールド識別子へのマッピングは、コンパイル時に実行できると効率的です。また、実行時にもマッピングできればより実用的です。この両方を満たすため、FML ではテキスト ファイルにフィールド テーブルを保持し、対応する C ヘッダ ファイルを生成するコマンドも用意されています。これにより、コンパイル時のマッピングは C プリプロセッサ (cpp
) で通常の #define
マクロを使用して実行でき、実行時のマッピングは関数 Fldid()
(FML32 では Fldid32()
) で実行できます。この関数は、ソース フィールド テーブル ファイルを参照して、その引数 (フィールド名) をフィールド識別子にマップするものです。
フィールド テーブルを格納しているファイルの形式は以下のとおりです。
mkfldhdr()
で生成されたヘッダ ファイルに渡されます。このとき $ は除去されます (FML32 ではコマンド名は mkfldhdr32()
。mkfldhdr、mkfldhdr32(1) を参照)。これにより、たとえば C 言語のコメントや what
文字列などを、生成されたヘッダ ファイルに渡すことができます。*base
で始まる行には、後続のフィールド番号をオフセットするためのベース値が含まれています。この機能により、関連するフィールドのセットをグループ化し、簡単に番号を付け直すことができます。name rel-numb type
rel-numb
は、フィールドの相対番号を示す数値です。この数値を現在の基数に加算すると、フィールドのフィールド番号を取得できます。type
は、フィールドの型を示します。指定できる型は、char
、string
、short
、long
、float
、double
、carray
、ptr
、FML32
、または VIEW32
のいずれかです。
エントリは空白類 (タブとスペースを任意に組み合わせたもの) で区切ります。
すでに説明したとおり、mkfldhdr
(または mkfldhdr32
) コマンドを実行すると、フィールド テーブルが C コンパイラ処理に対応したファイルに変換されます。生成されたヘッダ ファイルの各行の形式は次のとおりです。
#define name fldid
name
はフィールドの名前、fldid
はそのフィールド識別子です。このフィールド識別子は、前述したようにフィールド タイプとフィールド番号から構成されています。フィールド番号は絶対数、つまり base に rel-number を足した数です。生成されたファイルは、C プログラムに組み込むことができます。
フィールド テーブルにアクセスする Fldid()
などの関数と、それらを使用する mkfldhdr()
および vuform()
などのコマンドを使用する場合、メモリ内のフィールド テーブルを作成するために、シェル変数 FLDTBLDIR
と FIELDTBLS
(FML32 では FLDTBLDIR32
と FIELDTBLS32
) にそれぞれソース ディレクトリとソース ファイルを指定しておく必要があります。FIELDTBLS
は、フィールド テーブル ファイル名の、カンマで区切られたリストを指定します。FIELDTBLS
を指定しない場合は、フィールド テーブル ファイルの名前として fld.tbl
が使用されます。FLDTBLDIR
環境変数は、コロンで区切られたディレクトリのリストで、この中から名前が絶対パス名でないフィールド テーブルが検索されます (フィールド テーブルの検索は、PATH
変数を使用する実行可能コマンドの検索とほぼ同じです)。FLDTBLDIR
を定義しない場合、カレント ディレクトリと見なされます。したがって、FIELDTBLS
と FLDTBLDIR
が設定されていない場合は、カレント ディレクトリから取得した fld.tbl
がデフォルトとなります。
フィールドをグループ (アプリケーションによってのみ使用されるデータベースのフィールドのグループなど) に分けるには、複数のフィールド テーブルを使用すると便利です。ただし、フィールド名はフィールド テーブル全体でユニークになるようにします。これは、フィールド テーブルが mkfldhdr
コマンドによって C ヘッダ ファイルに変換される可能性があり、同一のフィールド名があるとコンパイラ名の矛盾が生じるおそれがあるためです。また、Fldid
関数は、名前を FLDID
にマップしますが、その際に複数のテーブルを検索します。最初に一致するものが見つかった時点で検索は終了します。
ベース値を 500 から 700 に変更した場合のフィールド テーブルの例を以下に示します。
# 従業員 ID フィールドは 500 を基準にする
*base 500
#name rel-numb type comment
#---- -------- ---- -------
EMPNAM 1 string emp's name
EMPID 2 long emp's id
EMPJOB 3 char job type: D,M,F or T
SRVCDAY 4 carray service date
# アドレス フィールドは 700 を基準にする
*base 700
EMPADDR 1 string street address
EMPCITY 2 string city
EMPSTATE 3 string state
EMPZIP 4 long zip code
#define EMPADDR ((FLDID)41661) /* 番号: 701 型: string */
#define EMPCITY ((FLDID)41662) /* 番号: 702 型: string */
#define EMPID ((FLDID)8694) /* 番号: 502 型: long */
#define EMPJOB ((FLDID)16887) /* 番号: 503 型: char */
#define EMPNAM ((FLDID)41461) /* 番号: 501 型: string */
#define EMPSTATE ((FLDID)41663) /* 番号: 703 型: string */
#define EMPZIP ((FLDID)8896) /* 番号: 704 型: long */
#define SRVCDAY ((FLDID)49656) /* 番号: 504 type:carray */
『FML を使用した Oracle Tuxedo アプリケーションのプログラミング』
GAUTHSVR SRVGRP=”
identifier
“ SRVID=
number
other_parms
CLOPT="-A -- -f
filename
”
GAUTHSVR
は、System /T で用意された、認証サービスを提供するサーバです。このサーバを保護されたアプリケーションで使用することにより、クライアントがアプリケーションに参加するときにユーザ単位の認証を行うことができます。このサーバは、パスワードとして TPINIT 型付きバッファを含むサービス要求を受け付け、これを LDAP サーバに格納されたコンフィグレーション済みパスワードによって検証します。要求が妥当であると認められると、クライアントが使用するためのチケットとしてアプリケーション キーが返されます。
デフォルトでは、$TUXDIR/udataobj/tpgauth
ファイルを使用して、LDAP のコンフィグレーション情報を取得します。このファイルは、ファイル名を指定することでオーバーライドできます。ファイル名は、サーバのコマンドライン オプションで “-f
filename
”
オプションを使用して指定します。たとえば、CLOPT="-A -- -f/usr/tuxedo/myapp/myldap”
のように指定します。
このコンフィグレーション ファイルを、マスタ マシンから Tuxedo UBBCONFIG ファイル内の他のマシンに自動的に伝播することはできません。複数の GAUTHSVR を使用するには、複数のマシンを別々にコンフィグレーションする必要があります。
GAUTHSVR
の詳細については、「GAUTHSVR に関する追加情報」を参照してください。
SECURITY
が USER_AUTH
以上に設定されている場合は、強制的にユーザ単位での認証が実行されます。認証サービスの名前は、アプリケーションに対してコンフィグレーションできます。これを指定しない場合は、GAUTHSVR
用に宣言されたデフォルト サービスである AUTHSVC
がデフォルトで設定されます。
認証要求は、LDAP データベース内で最初に一致するユーザ名に対してのみ認証されます。複数のエントリに対する認証はサポートされていません。
SECURITY
が ACL
または MANDATORY_ACL
に設定されている場合、ユーザ単位の認証が強制的に実行され、サービスや、アプリケーションのキュー、イベントにアクセスするためのアクセス制御リストがサポートされます。認証サービスの名前は AUTHSVC
(これらのセキュリティ レベル用に GAUTHSVR
によって宣言されたデフォルト サービス) である必要があります。
GAUTHSVR
によって返されるアプリケーション キーは、下位 17 ビット内のユーザ識別子です。グループ識別子はその次の 14 ビットです。上位ビットは管理キー用に予約されています。
GAUTHSVR
は、Tuxedo System /T に付属のサービスとして非 Workstation プラットフォームでサポートされます。
# GAUTHSVR の使用
*RESOURCES
AUTHSVC "..AUTHSVC"
SECURITY ACL
*SERVERS
GAUTHSVR SRVGRP="AUTH" SRVID=100
CLOPT="-A -- -f /usr/tuxedo/udataobj/tpgauth”
GWADM
SRVGRP
= "identifier
"SRVID
= "number
"REPLYQ
= "N"
CLOPT
= "-A -- [-a
{on
|off
}] [-t
{on
|off
}]”
ゲートウェイ管理サーバ (GWADM
) は、Oracle Tuxedo システムに組み込まれているサーバであり、Domains のゲートウェイ グループ用の管理機能を提供します。
GWADM
は、UBBCONFIG
ファイルの SERVERS
セクションで、特定のゲートウェイ グループ内で動作するサーバとして定義する必要があります。つまり、SRVGRP
を、GROUPS
セクションで指定した GRPNAME
タグに設定する必要があります。SVRID
も必須パラメータです。このパラメータの値を指定する際は、ゲートウェイ グループ内で使用できるゲートウェイの最大数を考慮する必要があります。
GWADM
のインスタンスは、Domains ゲートウェイ グループごとに 1 つしか存在できず、そのインスタンスを、グループと関連付けられたゲートウェイに対して定義した MSSQ の一部にすることはできません。また、GWADM
では REPLYQ
属性を N
に設定する必要があります。
CLOPT
オプションは、GWADM
の起動時に渡されるコマンドライン オプションの文字列です。このオプション文字列の形式は次のとおりです。
CLOPT="-A -- gateway group runtime_parameters
"
次のパラメータは、ゲートウェイ グループの実行時パラメータとして認識されます。
-a
{on
| off
}
off
または on
に切り替えます。デフォルト値は off
です。この設定は、ゲートウェイ グループの実行中に、dmadmin
プログラムを使用して変更できます (dmadmin(1) を参照)。
-t
{on
| off
}
off
または on
に切り替えます。デフォルト値は off
です。この設定は、ゲートウェイ グループの実行中に、dmadmin
プログラムを使用して変更できます (dmadmin(1) を参照)。
GWADM
サーバは、対応するゲートウェイを起動する前に起動する必要があります。
GWADM
は、サポートされているすべてのサーバ プラットフォームで Oracle Tuxedo システム提供のサーバとしてサポートされます。
GWADM
は、Oracle Tuxedo リリース 4.2.1 以降にインストールする必要があります。リリース 4.2.2 のゲートウェイが存在するドメイン内の他のマシンの場合は、リリース 4.1 以降でも構いません。
次の例は、UBBCONFIG
ファイルで管理サーバを定義する方法を示しています。この例では、GWTDOMAIN
ゲートウェイ プロセスを使用して別の Oracle Tuxedo ドメインと通信します。
#
*GROUPS
DMADMGRP GRPNO=1
gwgrp GRPNO=2
#
*SERVERS
DMADM SRVGRP="DMADMGRP" SRVID=1001 REPLYQ=N RESTART=Y GRACE=0
GWADM SRVGRP="gwgrp" SRVID=1002 REPLYQ=N RESTART=Y GRACE=0
CLOPT="-A -- -a on -t on"
GWTDOMAIN SRVGRP="gwgrp" SRVID=1003 RQADDR="gwgrp" REPLYQ=N RESTART=Y MIN=1 MAX=1
dmadmin(1)、tmboot(1)、DMADM(5)
、DMCONFIG(5)
、servopts(5)
、UBBCONFIG(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『Oracle Tuxedo Domains コンポーネント』
GWTDOMAIN
- TDomain ゲートウェイ プロセス
GWTDOMAIN
SRVGRP
= "identifier
" SRVID
= "number
" RQADDR
= "queue_name
"REPLYQ
= value
RESTART
= Y
[MAXGEN
= value
] [GRACE
= value
]CLOPT =
"-A -- [-s][-U inbound-message-size-limit-in-bytes ]-x limit[:{[duration]:[period]}]”
GWTDOMAIN
は、ドメイン間の通信を実現するドメイン ゲートウェイ プロセスです。GWTDOMAIN
プロセスは、リモート ドメインにある他の GWTDOMAIN
プロセスと通信します。
注意 : | Tuxedo リリース 9.0 以降では、GWTDOMAIN のデフォルトはマルチスレッド モードです。このデフォルト モードは複数の CPU が搭載されたマシンでのみ有用です。 |
ドメイン ゲートウェイは、UBBCONFIG
ファイルおよび BDMCONFIG
ファイルの SERVERS
セクションに記述されます。ドメイン ゲートウェイは、常に特定のゲートウェイ グループと関連付ける必要があります。つまり、SRVGRP
には、GROUPS
セクションで指定された GRPNAME
タグに対応する値を設定する必要があります。
SVRID
も必須パラメータです。このパラメータの値を指定する際は、ドメイン グループ内で使用できるゲートウェイの最大数を考慮する必要があります。RESTART
パラメータは Y
に設定します。REPLYQ
パラメータは Y
または N
に設定できます。
CLOPT
オプションは、GWTDOMAIN
の起動時に渡されるコマンドライン オプションの文字列です。次のパラメータは、ゲートウェイ プロセスの実行時パラメータとして認識されます。
s
U
inbound-message-size-limit-in-bytes
-x
GWTDOMAIN
プロセスは、GWADM(5)
プロセスと同じグループ (先頭は GWADM
) に指定する必要があります。1 つのドメインに対して複数の GWTDOMAIN
プロセスをコンフィグレーションすることもできますが、その場合は各プロセスを異なる Oracle Tuxedo グループにコンフィグレーションする必要があります。
次の例は、UBBCONFIG
ファイル内のドメイン ゲートウェイ グループの定義を示しています。
*GROUPS
DMADMGRP LMID=mach1 GRPNO=1
gwgrp LMID=mach1 GRPNO=2
*SERVERS
DMADM SRVGRP="DMADMGRP" SRVID=1001 REPLYQ=N RESTART=Y MAXGEN=5 GRACE=3600
GWADM SRVGRP="gwgrp" SRVID=1002 REPLYQ=N RESTART=Y MAXGEN=5 GRACE=3600
GWTDOMAIN SRVGRP="gwgrp" SRVID=1003 RQADDR="gwgrp" REPLYQ=N RESTART=Y MAXGEN=5 GRACE=3600 CLOPT="-A -r -- -U 65536"
UBBCONFIG(5)
および DMCONFIG(5)
の使用例も参照してください。
tmadmin(1)、tmboot(1)、DMADM(5)
、DMCONFIG(5)
、GWADM(5)
、servopts(5)
、UBBCONFIG(5)
『Oracle Tuxedo Domains コンポーネント』
『Oracle Tuxedo アプリケーション実行時の管理』
IIOP を使用した、リモート Oracle Tuxedo クライアントからの Oracle Tuxedo オブジェクトへのアクセスを有効化
ISL SRVGRP="identifier"
SRVID="number"
CLOPT="[-A ] [ servopts options ] -- -n netaddr
[-C {detect|warn|none} ]
[-d device ]
[-E principal_name]
[-K {client|handler|both|none} ]
[-m minh ]
[-M maxh ]
[-T Client-timeout]
[-x mpx-factor ]
[-H external-netaddr]
# アウトバウンド IIOP のオプション
[-O]
[-o outbound-max-connections]
[-s Server-timeout]
[-u out-mpx-users]
# SSL のオプション
[-a]
[-R renegotiation-interval]
[-S secure port]
[-v {detect|warn|none} ]
[-z [0|40|56|128|256]]
[-Z [0|40|56|128|256]]"
IIOP サーバ リスナ (ISL) は Oracle Tuxedo が提供するサーバ コマンドです。このコマンドを使用すると、IIOP を使用してリモートの Oracle Tuxedo クライアントから Oracle Tuxedo オブジェクトにアクセスできるようになります。アプリケーション管理者は、SERVERS
セクションで IIOP サーバ リスナをアプリケーション サーバとして指定することで、アプリケーション オブジェクトへのアクセスを可能にできます。関連するコマンドライン オプションを使用して、IIOP サーバ リスナおよび IIOP サーバ ハンドラのパラメータを指定します。
位置指定、サーバ グループ、サーバ ID
、およびその他の汎用サーバ関連パラメータは、サーバ用の標準コンフィグレーション ファイルのメカニズムを使用して ISL に関連付けられます。ISL コマンドライン オプションを使用してカスタマイズすることもできます。
各 ISL はアプリケーションの一部として起動されるため、リモートの Oracle Tuxedo クライアントが多数存在しても、1 つの周知のネットワーク アドレスを使用すればアプリケーションに簡単にアクセスできます。IIOP サーバ ハンドラは、着信時の負荷の状況に基づき、必要に応じて ISL によって動的に起動および停止されます。
共同クライアント/サーバの場合、リモートの共同クライアント/サーバ ORB が双方向の IIOP 接続をサポートしていれば、ISL はリモート共同クライアント/サーバに対するアウトバウンド呼び出しに同じインバウンド呼び出しを使用できます。また、ISL は、ISH に接続されていない共同クライアント/サーバ内のオブジェクトに対してアウトバウンド呼び出し (アウトバウンド IIOP) を行うこともできます。この機能は、-O
オプションが指定されると有効になります。関連するコマンドライン オプションを使用して、アウトバウンド IIOP サポートをコンフィグレーションすることができます。
-A
--
) は、起動後に ISL に渡されるパラメータの開始位置を示します。
CLOPT
パラメータでは、CLOPT
文字列の二重ダッシュ (--
) の後に、以下のオプションを指定します。
-n netaddr
TOBJADDR
) にこの値を設定しておくか、Bootstrap オブジェクトのコンストラクタで値を指定する必要があります。詳細については、『C++ プログラミング リファレンス』を参照してください。これは必須パラメータです。
注意 : | ホスト名は文字で始まる必要があります。 |
"#.#.#.#"
は、10 進数がドットで区切られたものです。ドット区切りの 10 進数形式では、それぞれの #
に 0 ~ 255 の数字を指定します。このドット区切りの 10 進数は、ローカル マシンの IP アドレスを表します。
port_number
には、ドメイン プロセスが受信する要求をリスンする TCP ポート番号を指定します。port_number
には、0 ~ 65535 の数字または名前を指定します。port_number
に指定する名前は、ローカル マシンのネットワーク サービス データベース内に存在する名前でなければなりません。
注意 : | Java の Tobj_Bootstrap オブジェクトは、port_number を short 型として格納します。したがって、Java クライアントからの接続をサポートする場合には、port_number に指定する値は 0 ~ 32,767 になります。 |
注意 : | プログラマが Bootstrap オブジェクトのコンストラクタまたは TOBJADDR で指定するネットワーク アドレスは、アプリケーションの UBBCONFIG ファイルのネットワーク アドレスと正確に一致する必要があります。アドレスの形式や、大文字/小文字も識別されます。これらのアドレスが一致しないと、Bootstrap コンストラクタの呼び出しが失敗し、一見無関係と思われる以下のエラー メッセージが表示されます。ERROR: クライアントからの非公式の接続 (アドレス <tcp/ip address>/<port-number>) です。: たとえば、ISL コマンドライン オプションで、ネットワーク アドレスが //TRIXIE:3500 に指定されている場合、Bootstrap コンストラクタまたは TOBJADDR で //192.12.4.6:3500 や //trixie:3500 を指定すると、接続が失敗します。UNIX システムでは、ホスト システムの uname -n コマンドを使用して大文字/小文字を指定します。Windows NT システムでは、[コントロール パネル] の [ネットワーク] を開いて、大文字と小文字のどちらが使用されているかを判断できます。 |
注意 : | Oracle Tuxedo システムのワークステーション リスナ (WSL) とは異なり、ネットワーク アドレスの形式には //host:port しか使用できません。Oracle Tuxedo サーバではホスト名とポート番号が使用されることが理由です。そのため、ホスト名が 16 進数形式で表されることはなく、ホスト名はドット区切りの IP アドレス形式でのみサーバに渡されます。 |
[-a]
[-C detect|warn|none]
注意 : | 非公式な接続を使用すると、トランザクションを使用するリモート クライアント アプリケーションで問題が発生する可能性があります。アプリケーションは、同じトランザクション内での公式および非公式な両方の接続で呼び出しが成功していると認識しますが、実際には、公式な接続での呼び出しにしか ACID (原子性、一貫性、隔離性、持続性) は保証されません。 |
NO_PERMISSION
例外を発行します。warn を指定すると、ISL/ISH は非公式な接続が検出された場合に、ユーザ ログ例外にメッセージを書き込みますが、例外は発行しません。none
を指定すると、ISL/ISH は非公式な接続を無視します。
[-d device]
[-E
principal_ name
]
[-K {client|handler|both|none}]
KEEPALIVE
オプションをアクティブにします。このオプションを使用すると、プロトコル スタック レベルでアイドル接続の状態が頻繁にテストされるので、ネットワーク障害がすばやく検出され、その信頼性も向上します。この機能の利用度とタイムアウトのしきい値は、オペレーティング システムの調整可能なパラメータによって決まります。
KEEPALIVE
オプションはコンフィグレーションされません。
注意 : | KEEPALIVE の間隔はオペレーティング システムのパラメータによって決まるので、この値を変更すると KEEPALIVE が有効になっているその他のアプリケーションにも影響します。多くのプラットフォームではデフォルト値は長めの 2 時間に設定されています。 |
KEEPALIVE
オプションを指定しても ISH のマシンで使用できない場合は、ユーザ ログ警告メッセージが生成されます。KEEPALIVE
が要求されていてもクライアントのマシンで使用できない場合は、その設定は無視されます。
[-m minh]
[-M maxh]
MAXWSCLIENTS
の設定値を割った値です。多重係数については、後述の -x
オプションを参照してください。このパラメータの有効範囲は 1 ~ 4096 です。この値は minh
以上でなければなりません。
[-T
Client-timeout
]
[-x
mpx-factor
]
[-H external netadder]
CLOPT
-n
netaddr
オプションと同じです。この機能は、IIOP、つまりリモート クライアントがファイアウォールを越えて ISL に接続する必要がある場合に便利です。
注意 : | Tuxedo IPv6 アドレッシングでは、16 進数形式はサポートされません。 |
[-O]
-O
オプションは多少のリソースを必要とするので、デフォルトではアウトバウンド IIOP は使用しないように設定されます。
[-o outbound-max-connections]
-O
(大文字 O) オプションも指定する必要があります。このオプションの値は 0 より大きく 4096 以下でなければなりません。また、このオプションの値 (outbound-max-connections
) とハンドラの最大数をかけた数は、32767 未満でなければなりません。デフォルト値は 20 です。
[-R renegotiation-interval]
[-S secure-port]
-S
および -n
オプションで指定するポート番号に同じ値を設定します。
[-s Server-timeout]
-O
(大文字 O) オプションも指定する必要があります。この値は 1 以上でなければなりません。このオプションが指定されていない場合は、デフォルトで 60 (1 時間) が設定されます。
[-u out-mpx-users]
out-mpx-users
個までの新しいユーザを処理するために、必要に応じて新しい ISH を起動します。このオプションを指定する場合は、-O (大文字 O) オプションも指定する必要があります。このオプションは 0 (ゼロ) より大きく 1024 以下でなければなりません。デフォルト値は 10 です。
[-v {detect|warn|none}]
detect
を指定すると、Oracle ORB は、接続確立に使用するオブジェクト参照で指定されたホストが、ピア サーバのデジタル証明書で指定されたドメイン名と一致するかどうかを確認します。比較に失敗した場合、Oracle ORB はピアの認証を拒否し、接続をドロップします。detect
は、デフォルト値です。
warn
を指定すると、Oracle ORB は、接続確立に使用するオブジェクト参照で指定されたホストが、ピア サーバのデジタル証明書で指定されたドメイン名と一致するかどうかを確認します。比較に失敗した場合、Oracle ORB はユーザ ログにメッセージを書き込みますが、接続は継続して処理されます。
-v
パラメータは、SSL および LLE (リンクレベル暗号化) のライセンスがインストールされている場合にのみ使用できます。
[-z [|0|40|56|128|256]]
[-Z [|0|40|56|128|256]]
UNIX および Microsoft Windows NT オペレーティング システムでは、IIOP サーバ リスナは Oracle Tuxedo が提供するサーバとしてサポートされます。
リモート オブジェクトのタイプおよび目的のアウトバウンド IIOP コンフィグレーションによっては、追加のプログラミング作業が必要となる場合もあります。表 39 に、オブジェクトのタイプおよびアウトバウンド IIOP コンフィグレーション別の要件を示します。
ISL を実行するローカル マシンが TCP/IP アドレッシングを使用している場合を考えます。ローカル マシンの名前は backus.company.com
、アドレスは 155.2.193.18
です。ISL はポート番号 2334 で要求を受け付けます。-l
オプションで指定されるアドレスは、次のとおりです。
//155.2.193.18:2334
//backus.company.com:2334
*SERVERS
ISL SRVGRP="ISLGRP" SRVID=1002 RESTART=Y GRACE=0
CLOPT="-A -- -n //piglet:1900 -d /dev/tcp"
KAUTHSVR
- Tuxedo Kerberos ベースのネットワーク認証サーバ
KAUTHSVR SRVGRP=SECGRP SRVID=100 GRACE=0 MAXGEN=2 CLOPT="-A -- -k /etc/krbauth.kt -p krbauth@host.yourcomany.com"
KAUTHSVR
は Kerberos ベースの Tuxedo 認証サーバです。その目的は次の 2 つです。
Kerberos をデフォルト認証メカニズムとして使用する場合、Tuxedo ユーザ認証を完了するには、UBBCONFIG
ファイルで KAUTHSVR
を手動でコンフィグレーションする必要があります。UNIX プラットフォームと Windows プラットフォームでは、KAUTHSVR
のコンフィグレーション方法が若干異なります。詳細については、「Kerberos 認証プラグインの使用」を参照してください。
Kerberos では、キー テーブルと呼ばれるローカル ファイル ベースのデータベースにプリンシパル名とサービス キーを格納できます。このキー テーブルを使用すると、ホスト上で実行されるサービスは Key Distribution Center の認証を受けることができます。KAUTHSVR
は Kerberos Key Distribution Center の認証の代わりにはなりません。ただし、Kerberos ベースの認証を使用する場合、AUTHSVR(5)
および LAUTHSVR(5)
の代わりになります。
KAUTHSVR
には独自のプリンシパル名を関連付ける必要があります。KAUTHSVR
で使用するプリンシパル名を指定するには、UBBCONFIG
ファイルでプリンシパル名をコンフィグレーションする必要があります。CLOPT
オプションで -p
パラメータを使用してプリンシパル名を確立します。たとえば -p <プリンシパル名>
のように指定します。Kerberos データベースとローカル キー テーブルで、プリンシパル名とそのパスワードをコンフィグレーションする必要があります。
注意 : | プリンシパル名は、KAUTHSVRPRINC パラメータまたは同じ名前の環境変数を使用してコンフィグレーションすることもできます。詳細については、「Kerberos 認証プラグインの使用」を参照してください。 |
Kerberos を使用するようにサーバを設定する前に、サーバを実行するホスト上でキー テーブルを設定する必要があります。KAUTHSVR
は起動時にサーバ キー テーブル (KTAB)
にアクセスする必要があります。サーバ キー テーブルを指定するには 2 つの方法があります。
注意 : | キー テーブルを更新しても Kerberos データベースには影響を与えません。キー テーブル内のキーを変更する場合は、Kerberos データベースでも対応する変更を行う必要があります。 |
Windows プラットフォームで KAUTHSVR
をコンフィグレーションする場合、キー テーブルは必要ありません。ただし、アカウント パスワードが必要です。KAUTHSVR
パスワードの設定方法は 2 つあります。
TUXCONFIG
を作成する場合は、コマンド プロンプトでパスワードを入力する必要があります。
注意 : | SEC_PRINCIPAL_NAME の kauthsvc という名前は例としてのみ使用しています。 |
『Oracle Tuxedo のセキュリティ機能』の「Kerberos 認証プラグインの使用」
MIT による Kerberos の紹介 (http://web.mit.edu/kerberos/www/)
#include <langinfo.h>
このヘッダ ファイルには、langinfo
データの項目の識別に使用する定数が格納されています。各項目のモードは nl_types(5)
で定義されています。
DAY_1
DAY_2
DAY_3
DAY_4
DAY_5
DAY_6
DAY_7
ABDAY_1
ABDAY_2
ABDAY_3
ABDAY_4
ABDAY_5
ABDAY_6
ABDAY_7
MON_1
MON_2
MON_3
MON_4
MON_5
MON_6
MON_7
MON_8
MON_9
MON_10
MON_11
MON_12
ABMON_1
ABMON_2
ABMON_3
ABMON_4
ABMON_5
ABMON_6
ABMON_7
ABMON_8
ABMON_9
ABMON_10
ABMON_11
ABMON_12
RADIXCHAR
THOUSEP
YESSTR
NOSTR
CRNCYSTR
D_T_FMT
D_FMT
T_FMT
AM_STR
PM_STR
この情報は、nl_langinfo(3c) を使用して検索します。
項目は、LANGINFO
という特別なメッセージ カタログから検索します。このカタログは、各ロケールごとに生成され、適切なディレクトリにインストールしておきます (mklanginfo(1) を参照)。
mklanginfo(1)、nl_langinfo(3c)、strftime(3c)、nl_types(5)
LAUTHSVR
- WebLogic Server 組み込み LDAP ベース認証サーバ
LAUTHSVR SRVGRP=”
identifier
“ SRVID=
number
other_parms
CLOPT="-A -- -f
filename
”
LAUTHSVR
は System /T サーバで、ユーザ セキュリティ情報が WebLogic Server に保持されている場合でも認証サービスを提供します。このサーバを保護されたアプリケーションで使用することにより、クライアントがアプリケーションに参加するときにユーザ単位の認証を行うことができます。このサーバは、パスワードとして TPINIT 型付きバッファを含むサービス要求を受け付け、これを WebLogic Server に格納されたコンフィグレーション済みパスワードによって検証します。要求が妥当であると認められると、クライアントが使用するためのチケットとしてアプリケーション キーが返されます。
注意 : | tpsysadm と tpsysop に対応するアプリケーション キーは、それぞれ 0x80000000 と 0xC0000000 です。 |
デフォルトでは、$TUXDIR/udataobj/tpldap
ファイルを使用して、LDAP のコンフィグレーション情報を取得します。このファイルは、ファイル名を指定することでオーバーライドできます。ファイル名は、サーバのコマンドライン オプションで “-f
filename
”
オプションを使用して指定します。たとえば、CLOPT="-A -- -f/usr/tuxedo/myapp/myldap”
のように指定します。このコンフィグレーション ファイルを、マスタ マシンから Tuxedo UBBCONFIG ファイル内の他のマシンに自動的に伝播することはできません。複数の LAUTHSVR を使用するには、複数のマシンを別々にコンフィグレーションする必要があります。
注意 : | LAUTHSVR では IPv6 がサポートされます。 |
LAUTHSVR
の詳細については、「LAUTHSVR に関する追加情報」を参照してください。
SECURITY
が USER_AUTH
以上に設定されている場合は、強制的にユーザ単位での認証が実行されます。認証サービスの名前は、アプリケーションに対してコンフィグレーションできます。これを指定しない場合は、LAUTHSVR
用に宣言されたデフォルト サービスである AUTHSVC
がデフォルトで設定されます。
認証要求は、LDAP データベース内で最初に一致するユーザ名に対してのみ認証されます。複数のエントリに対する認証はサポートされていません。
SECURITY
が ACL
または MANDATORY_ACL
に設定されている場合、ユーザ単位の認証が強制的に実行され、サービスや、アプリケーションのキュー、イベントにアクセスするためのアクセス制御リストがサポートされます。認証サービスの名前は AUTHSVC
(これらのセキュリティ レベル用に LAUTHSVR
によって宣言されたデフォルト サービス) である必要があります。
LAUTHSVR
によって返されるアプリケーション キーは、下位 17 ビット内のユーザ識別子です。グループ識別子はその次の 14 ビットです。上位ビットは管理キー用に予約されています。
LAUTHSVR
は、Tuxedo System /T に付属のサービスとして非 Workstation プラットフォームでサポートされます。
# LAUTHSVR の使用
*RESOURCES
AUTHSVC "..AUTHSVC"
SECURITY ACL
*SERVERS
LAUTHSVR SRVGRP="AUTH" SRVID=100
CLOPT="-A -- -f /usr/tuxedo/udataobj/tpldap”
METAREPOS
- Tuxedo サービス メタデータ リポジトリのバッファ形式
#include <fml32.h>
#include <fml1632.h> /* 省略可能 */
#inlcude <tpadm.h>
このリファレンス ページでは、管理者、オペレータ、またはユーザが Tuxedo メタデータ リポジトリの定義済みコンポーネントと対話するためのインタフェースについて説明します。サービス メタデータ リポジトリはプログラム的にアクセス可能であり、TMMETADATA(5)
サーバで提供される .TMMETAREPOS
サービスを通じて更新することができます。または、tpgetrepos(3c) および tpsetrepos(3c) を使用して直接アクセスしたり更新したりできます。
Tuxedo サービス メタデータ リポジトリにプログラム的にアクセスするには、Tuxedo MIB
で使用されるバッファと形式がよく似た FML32
バッファを使用します。実際に、Tuxedo サービス メタデータ リポジトリでは、同じ種類の汎用 MIB(5)
FML32
入力および出力バッファ フィールドを使用し、サポートしています。
入力バッファ フィールド
出力バッファ フィールド
注意 : | METAREPOS には、以下のような汎用 MIB(5) フィールドの制限があります。 |
注意 : | TAOK - メタデータ リポジトリに対してサービスの更新は行われませんでした。 |
注意 : | TAUPDATED - メタデータ リポジトリに対してすべてのサービスの更新が行われました。 |
注意 : | TAPARTIAL - メタデータ リポジトリに対して一部のサービスの更新が行われました。 |
特定のメタデータ リポジトリ属性に関連する FML32 フィールドでは、接頭辞 TA_REPOS
を使用し、その後に大文字のリポジトリ キーワード名が続きます。メタデータ リポジトリのサービスおよびパラメータ キーワードの詳細については、tmloadrepos(1) を参照してください。
METAREPOS
のサービスレベルの属性フィールドはサービスの記述に使用します。TA_REPOSSERVICE
属性は、サービスの名前を指定し、検索または get
操作でサービスをユニークに識別するために使用されるキー フィールドです。rex(1) で定義されているように、TA_REPOSSERVICE
では正規表現を使用できます。たとえば、TA_REPOSSERVICE
で正規表現値 “*”
を使用すると、メタデータ リポジトリ内のすべてのサービス情報が検索されます。
set
操作の場合は、TA_REPOSSERVICE
に Tuxedo サービス名を指定する必要があり、正規表現として解釈することはできません。
サービスレベルのキーワードの詳細については、「Tuxedo サービス メタデータ リポジトリの管理」の「Tuxedo サービス メタデータ リポジトリを作成する」を参照してください。
METAREPOS
のパラメータレベルの属性フィールドはサービス パラメータの記述に使用します。さまざまな属性フィールドを共通のパラメータの一部として関連付けるために、共通のオカレンス番号が使用されます。すべてのパラメータレベルの属性フィールドにおける n 番目のサービス パラメータをオカレンス番号 n-1 で表します。
たとえば、最初のサービス パラメータは属性フィールドの最初のオカレンスであり "0" と表します。2 番目のサービス パラメータは属性フィールドの 2 番目のオカレンスであり "1" と表します。
前方の番号のパラメータではなく、後方の番号のパラメータで特定の属性フィールドのオカレンスが必要となった場合、前方の属性フィールド オカレンスの値を指定して、以降のオカレンスが適切に番号付けされるようにする必要があります。
TA_REPOSEMBED
を指定する場合は、FML32 レコードを格納する必要があります。この FML32 レコードは、関連付けられた TA_REPOSPARAM
フィールドで記述されたレコード内で、各サブパラメータ (FML
フィールドまたは VIEW
要素) に対応するパラメータレベルのフィールドで構成されます。
TA_REPOSEMBED
パラメータ値は、repository_input
ファイルまたはアンロードされた -t
repository_file
内の、対の括弧 “(”
と “)”
で囲まれた情報に対応しています。repository_input
ファイルと repository_file
の詳細については、tmloadrepos(1) と tmunloadrepos(1) を参照してください。
TA_REPOSSERVICE: string[1...255]
注意 : | このフィールドの文字列長は、Tuxedo 9.1 では [1...15] でした。 |
TA_STATE:
TA_REPOSTUXSERVICE: string[1...15]
TA_REPOSSERVICETYPE: "{service|oneway|queue}”
この用語は Tuxedo の制御によるものです。
"service" は、同期要求/応答をサポートします。
"oneway" は、応答のない要求をサポートします。
"queue" は、tpenqueue と tpdequeue をサポートします。
TA_REPOSSERVICEMODE: "{tuxedo|webservice}”
この用語は BEA SALT によるものです。
”
tuxedo”
は、Tuxedo から生成したサービス定義を表します。
”
webservice”
は、BEA SALT wsdlcvt ユーティリティによって生成された SALT プロキシ サービス定義を表します。
TA_REPOSEXPORT: "{ Y | N }”
TA_REPOSINBUF: string[1...8]
FML
、FML32
、VIEW
、VIEW32
、STRING
、CARRAY
、XML
、X_OCTET
、X_COMMON
、X_C_TYPE
、MBSTRING
、またはカスタム定義のタイプです。1 タイプのみ指定できます。
注意 : | 制限事項 : カスタム タイプの文字列は 8 文字以内で指定します。『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』の「型付きバッファの管理」を参照してください。 |
TA_REPOSOUTBUF: string[0...8]
TA_REPOSINBUF
と同じです。この属性を NULL にすることはできません。
TA_REPOSERRBUF: string[0...8]
TA_REPOSINBUF
と同じです。この属性を NULL にすることはできません。
TA_REPOSINVIEW: string[0...32]
TA_REPOSOUTVIEW: string[0...32]
TA_REPOSERRVIEW: string[0...32]
TA_REPOSINBUFSCHEMA: string[0...1023]
TA_REPOSOUTBUFSCHEMA: string[0...1023]
TA_REPOSERRBUFSCHEMA: string[0...1023]
TA_ REPOSSVCDESCRIPTION: string[0...1024]
TA_REPOSSENDQSPACE: string[0...15]
TA_REPOSSENDQUEUE: string[0...15]
TA_REPOSRPLYQUEUE: string[0...15]
TA_REPOSERRQUEUE: string[0...15]
TA_REPOSRCVQSPACE: string[0...15]
TA_REPOSRCVQUEUE: string[0...15]
TA_REPOSVERSION: string[0...1024]
TA_REPOSATTRIBUTES: string[0...1024]
TA_REPOSFIELDTBLS: string[0...1024]
FML
または FML32
フィールドの検索に使用するフィールド テーブルのカンマ区切りのリストを指定します (省略可能)。各フィールド テーブル ファイルの記述には絶対パスを使用します。
TA_REPOSPARAM: string[0...32]
TA_REPOSTYPE: "{ byte | short | integer | float | double | string | carray | dec_t | xml | ptr | fml32 | view32 | mbstring }”
TA_REPOSSUBTYPE : string[0...32]
TA_REPOSACCESS: '{ in | out | err | inout | inerr | outerr | inouterr | noaccess }'
TA_REPOSCOUNT: 0<=num<=32767
TA_REPOSPARAMDESC: string[0...1024]
TA_REPOSSIZE: 0<=num
TA_REPOSREQUIREDCOUNT: 0<=num<=32767
TA_REPOSFLDNUM: 0<=num
TA_REPOSFLDID: 0<=num
TA_REPOSVFBNAME: string[0...30]
TA_REPOSVFLAG: string[0...6]
TA_REPOSVNULL: string[0...32]
TA_REPOSPARAMSCHEMA: string[0...1023]
TA_REPOSPRIMETYPE: xml プリミティブ データ型
TA_REPOSEMBED
fml32
または view32
の場合にのみ省略可能です。パラメータのサブパラメータを記述するための埋め込み FML32
フィールドです。
注意 : | TA_REPOSEMBED フィールドは、1 つの FML32 バッファに複数のサービスがある場合に、各サービスの属性をカプセル化するのにも使用されます。詳細については、図 1 および図 2 を参照してください。 |
現在、METAREPOS
の入力と出力は FML32
バッファ形式であり、サービス メタデータ情報の 1 つまたは複数のインスタンスを記述するために使用します。この FML32
型付きバッファの形式には、標準モードとシングル モードの 2 つのモードがあります。
標準モードでは、各サービスは 1 つの埋め込み TA_REPOSEMBED
FML32 フィールドにカプセル化されます。METAREPOS
のサービスレベルおよびパラメータレベルの属性表で定義された制限に従って、METAREPOS
の属性を設定します。
注意 : | SET 操作の場合は、各サービスの set の結果を示すために、各 TA_REPOSEMBED バッファに TA_ERROR および TA_STATUS が含まれます。 |
1. 未処理の複数のサービスに対する SET
操作 (追加または更新)
2. ユーザがシングル モードではなく標準モードの使用を選択する場合
シングル モードは、1 つのサービスだけを指定する METAREPOS
入力バッファでのみ使用することができます。シングル モードは以下の場合にのみ適用されます。
TA_OPERATION SET
A_CLASS T_REPOSITORY
TA_STATE DEL
TA_REPOSSERVICE deposit,transfer
tmloadrepos(1)、tpgetrepos(3c)、tpsetrepos(3c)、MIB(5)
、TMMETADATA(5)
#include <fml32.h>
#include <fml1632.h> /* 省略可能 */
#include <tpadm.h>
#include<cmib.h>
/* コンポーネント MIB ヘッダ */
Oracle Tuxedo システムのアプリケーションは、いくつかの異なるコンポーネント (Oracle Tuxedo、Workstation など) で構成され、それぞれのコンポーネントはそのコンポーネント専用に定義された管理情報ベース (MIB) を利用して管理されます。これらのコンポーネントの MIB は、それぞれシステムの特定の部分に対応した MIB 関連のリファレンス ページで定義されています。たとえば、TM_MIB(5)
のリファレンス ページでは、Oracle Tuxedo アプリケーションの基本的な側面の管理に使用する MIB について定義しています。
ただし、これらのコンポーネントの MIB は、必要なアクセスを提供するための関連インタフェースについて十分に定義したものではありません。この MIB
(5) リファレンス ページでは、管理者、オペレータ、あるいはユーザが、定義済みコンポーネント MIB と相互作用するための汎用的なインタフェースを記述しています。Oracle Tuxedo システムの MIB に対する汎用インタフェースは、2 つの主要部分から構成されます。
その 1 つでは、Oracle Tuxedo システムの既存のインタフェースが、コンポーネント MIB をサポートする管理サービスへのアクセスを提供する際にどのように使用されるかを記述しています。Oracle Tuxedo システムのバッファ タイプの 1 つである FML32 は、コンポーネント MIB に入力データを渡したり、コンポーネント MIB から出力データを受け取ったりするために使用します。ATMI 要求/応答関数は、システム提供のサービスとして組み込まれており、コンポーネント MIB に対するインタフェースとして使用します。FML32 バッファの ATMI 関数を使用した管理ユーザとコンポーネント MIB との相互作用については、このリファレンス ページの「FML32」および「ATMI」で詳しく説明します。
汎用インタフェースのもう 1 つの部分では、すべてのコンポーネント MIB との相互作用に使用する FML32 の追加の入出力フィールドについて記述しています。FML32 の追加のフィールドを使用すると、要求の機能を拡張したり (操作コードの指定など)、新たな応答属性 (エラー コード、説明文など) を使用したりできます。FML32 の追加フィールドについては、このリファレンス ページの「入力」および「出力」で詳しく説明します。
「使用方法」では、管理を目的としたコンポーネント MIB との相互作用に使用できる既存の ATMI 関数や追加の FML32 フィールドの使用例を示します。
また、このリファレンス ページでは、アプリケーションを管理する際のユーザとコンポーネント MIB とのインタフェースを定義するのに加え、コンポーネント MIB のリファレンス ページでクラスの定義に使用する形式を制定しています (「クラスの説明」を参照)。
このリファレンス ページでは、T_CLASS
および T_CLASSATT
という 2 つの汎用クラスを定義しています。これら 2 つのクラスは、管理クラスの識別や、クラスまたは属性のパーミッションの調節に使用します。MIB(5)
のすべてのクラス定義の追加情報については、「MIB(5) に関する追加情報」を参照してください。「診断」のセクションでは、コンポーネント MIB のシステム サービスが返す可能性のあるエラー コードのリストを示します。
ユーザがアプリケーションに結合しようとすると、その権限があるかどうかの認証が行われます (tpinit(3c) を参照)。管理者およびオペレータは、tpinit()
の実行時に tpsysadm
または tpsysop
というクライアント名のアプリケーションへの結合を要求できます。2 つの cltname
値は予約されており、これらに関連付けることができるのはアプリケーションの管理者およびオペレータのみです。
アプリケーションを最初にコンフィグレーションする管理者が、特定のセキュリティ タイプを選択することでセキュリティのレベルを決定します。選択できるセキュリティ タイプは以下のとおりです。
セキュリティ タイプを選択することで、管理者やオペレータが AdminAPI を介してコンポーネント MIB にアクセスする際の柔軟性とセキュリティが決まります。
最も確実で柔軟なセキュリティ タイプは、アプリケーション パスワードとアプリケーション固有の認証サーバによる認証 (AUTHSVR(5)
を参照) です。この方法では、任意のユーザまたは指定されているユーザが適切なパスワードを認証サーバに提供すると、そのユーザによるアクセスが許可されます。
アプリケーション固有の認証サーバが存在しない場合、クライアントはアプリケーションの認証要求 (「セキュリティなし」または「アプリケーション パスワードによる認証」のどちらか) を満たし、TPINIT
構造体の cltname
フィールドに特別なクライアント名の 1 つを指定した上で、ローカルの UNIX システムの Oracle Tuxedo 管理者として実行することで管理者またはオペレータの特別なパーミッションを取得する必要があります。いずれの場合も、正常に結合されたクライアントにはシステムによってキーが割り当てられます。このキーは、クライアントが行うすべての要求に対して与えられます。tpsysadm
または tpsysop
として正しく認証されたクライアントには、特別な権限を持っていることを示す認証キーが割り当てられます。
管理者用認証を指定した場合、API にアクセスする前にシステムに結合するクライアントに対してのみ適用されます。API を使用するサーバは、このサーバがサービスするクライアントと同様に扱われます。tpsvrinit()
または tpsvrdone()
から発行されるサービス要求は、管理者からの要求として処理されます。
Oracle Tuxedo システムが定義したコンポーネント MIB を使用するアプリケーション管理は、FML32 バッファ タイプでのみサポートされています。MIB 情報にアクセスするアプリケーション プログラムは、FML32 型付きバッファの割り当て、処理、更新を行うように記述する必要があります。ここでは、FML32 を使用する 2 通りの方法について簡単に説明します。詳細については Fintro()
を参照してください。
FML32 と対話する最も直接的な方法は、標準の fml.h
ヘッダ ファイルではなく <fml32.h>
ヘッダ ファイルをインクルードし、『Oracle Tuxedo FML リファレンス』で指定されている関連の各 FML インタフェースの FML32 バージョンを使用する方法です。たとえば、Fchg()
の代わりに Fchg32()
を使用します。
FML32 と対話するもう 1 つの方法は、<fml32.h>
と <fml1632.h>
の両方のヘッダ ファイルをインクルードする方法です。この 2 つのヘッダ ファイルを組み合わせて使用することで、ベースの FML インタフェース (たとえば Fchg()
) 用にプログラミングしても、実際には各インタフェースの FML32 バージョンを呼び出すことができます。
アプリケーション プログラムでコンポーネント MIB 固有の属性情報にアクセスしたり更新したりするには、FML32 型付きバッファを割り当て、要求されたデータをそのバッファに格納した上でサービス要求を送出し、サービス要求に対する応答を受け取って結果に関する情報を取り出します。FML32 型付きバッファでの情報の格納および抽出には、前述した FML32 インタフェースを使用します。バッファの割り当て、要求の送出、および応答の受信は、下記の汎用 ATMI ルーチンを使用して、そのガイドラインと制約の範囲内で行われます。すべてのコンポーネントに対する MIB 要求は、コアの Oracle Tuxedo コンポーネント MIB サービスである ".TMIB
" に送出する必要があります。このサービスは、TM_MIB(5)
要求を処理するエージェントとしての役割を果たすだけでなく、他のコンポーネント MIB に対する要求を転送します。これにより、ユーザ側でサービス名を MIB やクラスとマッチングする必要がなくなります。
tpalloc()
tprealloc()
tpcall()
.TMIB
" を呼び出します。FML32 は自己記述型バッファ タイプであるため、入力バッファのバッファ サイズに 0 を指定することができます。この呼び出しがトランザクション内で発行される場合は TPNOTRAN
フラグを使用する必要があります。トランザクション内でない場合、この関数に対して定義されたフラグの使用についての条件や制約は一切ありません。
tpacall()
.TMIB
" を非同期で呼び出します。FML32 は自己記述型バッファ タイプであるため、入力バッファのバッファ サイズに 0 を指定することができます。この呼び出しがトランザクション内で発行される場合は TPNOTRAN
フラグを使用する必要があります。トランザクション内でない場合、この関数に対して定義されたフラグの使用についての条件や制約は一切ありません。
tpgetrply()
.TMIB
" の非同期呼び出しに対する応答を受信します。応答は、すでに割り当てられている FML32 型付きバッファに格納されます。この関数に対して定義されたフラグの使用についての条件や制約は一切ありません。
tpenqueue()
.TMIB
" に対する要求を、後で処理するためにキューに登録します。FML32 は自己記述型バッファ タイプであるため、入力バッファのバッファ サイズに 0 を指定することができます。この関数に対して定義されたフラグの使用についての条件や制約は一切ありません。ただし、アプリケーションによってこのような要求の転送を処理するようにコンフィグレーションされた TMQFORWARD(5)
サーバを起動する際は、-n
(TPNOTRAN
フラグが設定された tpcall()
) と -d
(削除) オプションを指定する必要があります。
tpdequeue()
.TMIB
" に対してこれ以前にキューに登録された要求への応答をキューから取り出します。応答は、すでに割り当てられている FML32 型付きバッファに格納されます。この関数に対して定義されたフラグの使用についての条件や制約は一切ありません。
Oracle Tuxedo システム MIB に対する管理要求の特徴付けや制御には、それぞれ特定の FML32 フィールドを使用します。これらのフィールドは、ヘッダ ファイル <tpadm.h>
だけでなく、このリファレンス ページでも定義されています。対応するフィールド テーブルは、${TUXDIR}/udataobj/tpadm
にあります。これらのフィールドは、管理サービス要求を行う前に必要なコンポーネント MIB 固有のフィールドのほかに、FML32 要求バッファにも追加されます。以下ではこれらのフィールドについて説明し、最後に各フィールドが必須、省略可能、または未使用となる操作をまとめて表に示します。
TA_OPERATION
TA_CLASS
TA_CURSOR
GET
または GETNEXT
操作時にシステムが返した文字列値の FML32 フィールド。アプリケーションでは、返された値を以後の要求に転送する必要があります。これにより、システムが現在の検索位置を判別することが可能になります。
TA_OCCURS
GET
または GETNEXT
操作時に検索されたオブジェクトの数を示す long 値の FML32 フィールド。このフィールドを指定しない場合、スペースがある限り、一致するすべてのオブジェクトが返されます。
TA_FLAGS
MIB
に定義されている特定のクラスからの検索方法を変更する場合に使用します。この MIB
内のいくつかのクラスには、グローバル情報 (アクティブ アプリケーションの任意のサイトで入手可能) とローカル情報 (オブジェクトがアクティブな特定のアプリケーションで入手可能) の両方があります。これらのクラスから情報を検索する要求では、検索を効率的に行うため、デフォルトではローカル情報ではなくグローバル情報のみを検索します。アプリケーション ユーザが複数のサイトからローカル情報を収集する必要がある場合は、検索要求時にこのフラグをセットする必要があります。ローカル情報のあるクラスの場合、属性表の最後にローカル属性が表示されています。ローカル属性かどうかは副見出しに示されています。ローカル情報のみのクラスでは、このフラグ値がセットされていなくてもローカル情報が検索されます。
SET
操作が実行される前にプレイメージ チェックにパスする必要があることを示します。プレイメージ チェックでは、MIB
固有のクラス属性のオカレンス 0 が既存のオブジェクトと一致することを確認します。一致した場合、そのオブジェクトは MIB
固有のクラス属性のオカレンス 1 で更新されます。2 回以上発生しない属性は、プレイメージ チェックの対象にはなりません。複数回出現するフィールドは、その対応するカウント属性が 2 度指定されている場合にチェックされます。
TA_CLIENTID
を追加し、サーバの場合は TA_GRPNO
と TA_SRVID
を追加します。
TA_FILTER
TA_MIBTIMEOUT
TA_CURSORHOLD
GET
または GETNEXT
の要求が満たされた後、最初の GET
操作で生成されたシステム スナップショットを処分せずに保持しておく時間 (秒数) を示す long 値の FML32 フィールド。0 以下の値を指定した場合、現在の要求が満たされるとスナップショットが処分されます。この値を指定しない場合、デフォルトで 120 に設定されます。
次の表では、R は必須の INPUT
属性、O は省略可能な INPUT
属性、- は使用されない INPUT
属性を示します。
正常終了した管理要求からの出力は、1 つまたは複数の MIB 固有オブジェクトと汎用出力フィールドの 1 つのオカレンスからなります。通常、複数の MIB 固有オブジェクトは、返された各クラス属性の複数のオカレンスによって出力に反映されます。各属性のオカレンス 0 は 1 番目のオブジェクトに、オカレンス 1 は 2 番目のオブジェクトに関連します (オカレンス 2 以降も同様)。このガイドラインの例外は、コンポーネント MIB のリファレンス ページに記載されています。特定の属性値が設定されていない中間オカレンスでは、プレース ホルダとして FML32 定義の NULL
フィールド値が挿入されます。SET
操作が正常に終了すると、操作実行後のオブジェクトを反映した単一のオブジェクトが返されます。GET
操作または GETNEXT
操作が正常に終了すると、要求されたオカレンス数 (後述の TA_OCCURS
を参照) や MIB 固有システム サービス内の指定されたキー フィールドおよびスペース制限と一致したオカレンス数に応じて、0 またはそれ以上のオカレンスが返されます。
重要な点は、任意のクラスに対して定義されたすべての属性が、どの要求に対しても返されるわけではないことです。属性が返されるかどうかは、オブジェクトの状態、相互運用のリリース環境、入力要求フィルタによって決まります。管理プログラマは、属性値が出力バッファ内に存在することを前提にするのではなく、属性値が存在するかどうかを明示的に確認する必要があります。
繰り返しになりますが、正常に処理された管理要求には、すべての MIB に適用する汎用のフィールドが含まれています。これらのフィールドは、ヘッダ ファイル <tpadm.h>
に定義されています。対応するフィールド テーブルは、${TUXDIR}/udataobj/tpadm
にあります。汎用応答フィールドは応答バッファに追加され、コンポーネント MIB 固有フィールドで返されます。以下では、各汎用応答フィールドについて説明します。
TA_CLASS
TA_OCCURS
TA_MORE
TA_CURSOR
GETNEXT
操作では、このフィールドを要求バッファに追加する必要があります。このフィールドの値は、アプリケーション ユーザが解釈したり変更したりすることはできません。このフィールドは SET
操作では返されません。
TA_ERROR
MIB 固有のシステム サービス処理において管理要求が失敗すると、アプリケーションに対してアプリケーション サービス エラーが返されます。このエラーには、元々の要求とエラーの特徴を示す汎用フィールドが含まれます。アプリケーション サービスの失敗は、tpcall()
または tpgetrply()
から返される TPESVCFAIL
エラーによって示されます。TMQFORWARD(5)
サーバを介して返されたアプリケーション サービス エラーは、元の要求で指定されたエラー キューに登録されます (サーバのコマンドラインで -d
オプションを指定した場合)。以下に、失敗した管理要求の特徴を示す汎用フィールドを示します。
TA_ERROR
DIAGNOSTICS
" セクションに記述されます。コンポーネント MIB 固有のエラー コードの場合は、それぞれのコンポーネント MIB のリファレンス ページに記述されます。
TA_STATUS
TA_BADFLD
コンポーネント MIB とインタフェースを目的として記述されたアプリケーション プログラムには、一定のヘッダ ファイルをインクルードする必要があります。<fml32.h>
は、FML32 型付きバッファのアクセスおよび更新に必要なマクロ、構造体、および関数のインタフェースを定義します。<fml1632.h>
は、汎用 FML インタフェースのマクロ、構造体、および関数から FML32 バージョンへのマッピングを定義します。このヘッダ ファイルのインクルードは任意です。<tpadm.h>
は、このリファレンス ページに含まれている FML32 フィールド名を定義します。さらに、任意のコンポーネント MIB 固有ヘッダ ファイルをインクルードして、そのコンポーネント MIB 固有の FML32 フィールド定義にアクセスできるようにする必要があります。
#include <fml32.h>
#include <tpadm.h>
#include<cmib.h>
/* コンポーネント MIB ヘッダ */
コンポーネント MIB と相互作用するには、FML32 型付きバッファから該当するサービスに要求を送る必要があります。ATMI 関数 tpalloc()
は、FMLTYPE32
(<fml32.h>
で定義) を使用してバッファを type
引数の値に割り当てます。FML32 バッファにはサブタイプがないため、tpalloc()
の subtype
引数は NULL にできます。FML32 バッファのデフォルトの最小サイズは 1024 バイトです。tpalloc()
の size
引数に 0 を指定すると、最小サイズのバッファが割り当てられます。より大きなバッファが必要な場合には、システム最小値より大きな値を size
に指定して割り当てることができます。
rqbuf = tpalloc(FMLTYPE32, NULL, 0);
FML32 型付きバッファを割り当てたら、ユーザはそのバッファに汎用 MIB フィールドの値とコンポーネント MIB 固有の値を格納する必要があります。要求バッファへの値の追加に使用する最も一般的なインタフェースは Fadd32()
および Fchg32()
です。要求バッファがいっぱいでフィールドを追加できない場合は、ATMI 関数 tprealloc()
を使用してバッファを再割り当てする必要があります。
/*
* エラー処理は含まない。bigger_size
はシステム側で提供されるのではなく、
* ユーザ側で指定。バッファを再利用する場合は、Fchg32 を使用して
* フィールド オカレンス 0 に設定する
*/
if (Fchg32(rqbuf, TA_MIBFIELD, 0, "ABC", 0) == -1) {
if (Ferror32 == FNOSPACE) {
rqbuf = tprealloc(rqbuf,bigger_size
);
Fchg32(rqbuf, TA_MIBFIELD, 0, "ABC", 0);
}
}
各コンポーネント MIB に固有の属性のほかに、コンポーネント MIB から要求された操作を制御する必須および省略可能な属性があります。これらの属性はこのリファレンス ページに定義されています。
必須の汎用属性は TA_OPERATION
と TA_CLASS
の 2 つです。
TA_OPERATION
は、アクセスする MIB 上で実行する操作を指定します。有効な操作は GET
、GETNEXT
、および SET
です。
TA_CLASS
は、アクセスする MIB クラスを指定します。クラス名はコンポーネント MIB のリファレンス ページで定義されています。TA_OPERATION
が GETNEXT
の場合には、TA_CURSOR
属性も指定する必要があります。TA_CURSOR
は、直前の GET
または GETNEXT
操作で返されたフィールドです。このフィールドは、以降の要求時に検索位置を調べるために使用します。
省略可能属性の TA_OCCURS
、TA_FLAGS
、TA_FILTER
、TA_MIBTIMEOUT
、および TA_CURSORHOLD
は、要求をさらに細かく指定するときに、必須属性に加えて使用することができます。
TA_OCCURS
TA_FLAGS
TA_FILTER
TA_MIBTIMEOUT
TA_CURSORHOLD
GET
または GETNEXT
の要求が満たされた後、最初の GET
操作で生成されたシステム スナップショットを処分せずに保持しておく時間 (秒数) を指定します。0 以下の値を指定した場合、現在の要求が満たされるとスナップショットが処分されます。この値を指定しない場合、デフォルトで 120 に設定されます。
/* 最初の 5 オブジェクトを取得 (GET) */
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "classname", 0);
n = 5;
Fchg32(rqbuf, TA_OCCURS, 0, n, 0);
/* 要求を作成、後述の「MIB 要求の送信」を参照 */
/* 応答は rpbuf に格納。カーソルも含まれる */
/*
* 次の 5 オブジェクトを取得 (GETNEXT)。rpbuf から TA_CURSOR を転送
* すでに生成した rqbuf を再利用。要求後にスナップショットを破棄
* (TA_CURSORHOLD を 0 に設定)
*/
Fchg32(rqbuf, TA_OPERATION, 0, "GETNEXT", 0);
Fchg32(rqbuf, TA_CURSOR, 0, Ffind32(rpbuf, TA_CURSOR, 0, NULL), 0);
n = 0;
Fchg32(rqbuf, TA_CURSORHOLD, 0, n, 0);
/* 要求を作成。後述の「MIB 要求の送信」を参照 */
GET
または GETNEXT
で指定したコンポーネント MIB キー フィールドは、オブジェクトの集合を選択する際に使用します。キー フィールド以外のフィールドは、コンポーネント MIB では無視されます。
SET
操作で指定したコンポーネント MIB キー フィールドは、更新する特定のオブジェクトを識別するために使用します。キー フィールド以外のフィールドは、キー フィールドで指定されたオブジェクトの更新値として処理されます。ユーザは、更新 (SET
) が許可される前に、現在のオブジェクト イメージと一致する必要のあるプレイメージを指定することもできます。ユーザは、要求の TA_FLAGS
属性の MIB_PREIMAGE
ビットをセットすることでプレイメージを提供することを示します。更新するオブジェクトを指定するキー フィールドは、プレイメージ (フィールド オカレンス 0) から取得されます。キー フィールドがポストイメージにも指定されている場合には、それらのフィールドが正確に一致している必要があります。一致していない場合は要求が失敗します。プレイメージのマッチングで考慮されるのは、クラスの一部であり、かつ入力バッファで指定された 2 つの属性値を持つ属性のみです。1 つの値しか持たない属性は、指定されたクラス オブジェクト用に設定する新しい値として処理されます。
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "classname", 0);
Fchg32(rqbuf, TA_MIBKEY, 0, "keyvalue", 0);
n = 1;
Fchg32(rqbuf, TA_OCCURS, 0, n, 0); /* 最初に一致したオカレンスを取得 (GET) */
/* 要求を作成。後述の「MIB 要求の送信」を参照。応答は rpbuf に格納 */
/* rpbuf をプレイメージとして使用し、一致する場合は
* TA_MIBFIELD の値を更新
*/
Fcpy32(newrq, rpbuf);
Fconcat32(newrq, rpbuf); /* 2 番目に一致したコピーを追加 */
Fchg32(newrq, TA_OPERATION, 0, "SET", 0);
n = MIB_PREIMAGE;
Fchg32(newrq, TA_FLAGS, 0, n, 0);
Fchg32(newrq, TA_MIBFIELD, 1, "newval", 0); /* ポストイメージ */
/* 要求を作成。後述の「MIB 要求の送信」を参照 */
すべてのコンポーネント MIB 要求は、コア Oracle Tuxedo コンポーネント MIB サービスである ".TMIB
" を通ります。このサービスは、TM_MIB(5)
要求を処理するエージェントとしての役割を果たすだけでなく、他のコンポーネント MIB に対する要求を転送します。これにより、ユーザ側でサービス名を MIB やクラスとマッチングする必要がなくなります。サービス要求は、ATMI 内の任意の要求/応答指向サービス (tpcall()
、tpacall()
、および tpenqueue()
) を使用して生成できます。ユーザは、これらのインタフェース関数に対して定義されたすべてのフラグと機能にアクセスできます。ここでの唯一の制約は、".TMIB
" サービスをトランザクションのスコープ外で呼び出す必要がある点です。つまり、トランザクション内で tpcall()
や tpacall()
を使用して管理要求を送信する場合、TPNOTRAN
フラグを使用しないと異常終了 (TPETRAN
) してしまいます。tpenqueue()
を使用して要求を発行する場合は、TMQFORWARD
サーバを -n
オプションを指定して起動し、転送されるサービス要求をトランザクション境界の外で行えるようにする必要があります。
/* 上記に従って要求を作成 */
/* 要求を送信し、応答を待機 */
flags = TPNOTRAN | TPNOCHANGE | TPSIGRSTRT;
rval = tpcall(".TMIB", rqbuf, 0, rpbuf, rplen, flags);
/* 要求を送信し、記述子を取得 */
flags = TPNOTRAN | TPSIGRSTRT;
cd = tpacall(".TMIB", rqbuf, 0, flags);
/* キューから要求を取り出す。qctl は設定済みと仮定 */
flags = TPSIGRSTRT;
rval = tpenqueue("queue", ".TMIB", qctl, rqbuf, 0, flags);
コンポーネント MIB からの応答は、元の要求がどのように生成されたかに応じて 3 通りの方法で受信できます。元の要求が tpcall()
で生成された場合、tpcall()
が正常に終了すると、応答が受信されたことを示す値を返します。元の要求が tpacall()
で生成された場合は、tpgetrply()
を使用して応答を受信できます。元の要求が tpenqueue()
で生成され、かつキュー制御構造体で応答キューが指定されている場合は、tpdequeue()
を使用して応答を受信できます。これらの呼び出しでサポートされているフラグを適宜使用できます。
/* 上記に従って要求を作成 */
/* 要求を送信し、応答を待機 */
flags = TPNOTRAN | TPNOCHANGE | TPSIGRSTRT;
rval = tpcall(".TMIB", rqbuf, 0, rpbuf, rplen, flags);
/* 呼び出し記述子を使用して応答を受信 */
flags = TPNOCHANGE | TPSIGRSTRT;
rval = tpgetrply(cd, rpbuf, rplen, flags);
/* TPGETANY を使用して応答を受信。バッファ タイプの変更が必要な場合もある */
flags = TPGETANY | TPSIGRSTRT;
rval = tpgetrply(rd, rpbuf, rplen, flags);
/* キューから要求を取り出す。qctl は設定済みと仮定 */
flags = TPNOCHANGE | TPSIGRSTRT;
rval = tpdequeue("queue", "replyq", qctl, rpbuf, rplen, flags);
管理要求に対しては、コンポーネント MIB 固有の属性のほかに、特定の汎用 MIB フィールドが返されることがあります。これらの追加属性は、元の要求の結果の特徴を示すもので、必要に応じて後続の要求で使用できる値を提供します。
GET
または GETNEXT
操作が正常に終了すると以下の値が返されます。
TA_CLASS
TA_ERROR
負の値でない戻り値に設定します。TAOK
は、要求が正常に終了したにもかかわらず、情報が更新されなかったことを示します。こうした現象は、変更が指定されていない場合や、指定された変更がオブジェクトの現在の状態と一致していない場合に発生します。TAUPDATED
は、要求が正常に終了し、情報が更新されたことを示します。TAPARTIAL
は、要求が成功したにもかかわらず、システム内の一部しか更新されなかったことを示します。こうした現象は、ネットワークの障害やメッセージの輻湊が原因で発生することがあり、更新されていないサイトはシステムによってできるだけ早く同期されます。
一度に 1 つのオブジェクトしか更新できないため、返されるオブジェクトは 1 つのみです。返された属性には、更新後のオブジェクトが反映されています。
フィールドの複数のオカレンスを持つ FML32 バッファでは、オカレンスのシーケンス内に空のフィールドを持つことはできません。たとえば、オカレンス 1 の値をセットし、オカレンス 0 が存在していない場合、FML32 は FML32 定義の NULL
値でオカレンス 0 を自動的に作成します。FML32 定義の NULL 値は、数値フィールドに対しては 0、文字列フィールドに対しては長さゼロの (NULL) 文字列、文字フィールドに対しては文字 '¥0' になります。このような制約があるため、異なる属性の集合を持つオブジェクトが返されることのある GET
操作では、オブジェクトの状態を正確に反映しない NULL
の FML32 フィールドが含まれないよう、ユーザに返されたオブジェクトの集合を人為的に分割することがあります。
DOS、Windows、および OS/2 上のワークステーション クライアントは、64K の FML32 バッファにリンクされています。このため、戻りバッファのサイズは、バッファあたり 64K に制限されています。
COBOL では FML32 バッファ タイプが限定的にしかサポートされていないため、COBOL バージョンの ATMI では管理 API にアクセスできません。
コンポーネント MIB に対する要求を、アプリケーション トランザクションの一部にすることはできません。したがって、アクティブ トランザクション内でコンポーネント MIB に対して発行する tpcall()
または tpacall()
呼び出しでは、呼び出し時に TPNOTRAN
フラグを設定する必要があります。ただし、コンポーネント MIB への今後の送出に備え、トランザクション内で ATMI 関数 tpenqueue()
を使用して要求をキューに登録することができます。この要求のキューへの登録はトランザクション内で実行されますが、コンポーネント MIB 内の処理はトランザクション内では実行されません。このコンテキストで TMQFORWARD(5)
サーバを使用するためには、要求が非トランザクション モードで MIB サービスに送出されるよう、-n
コマンドライン オプションを指定して TMQFORWARD
を起動する必要があります。コンポーネント MIB サービスはトランザクション非対応であるため、TMQFORWARD
で -d
オプションを指定することもお奨めします。これにより、サービスが失敗しても、要求が再試行されることなく即座に失敗キューに送出されます。
汎用 MIB フィールドとコンポーネント MIB のフィールド識別子は 6,000 ~ 8,000 の範囲で割り当てられます。したがって、管理アクションとユーザ アクションの両方を行うアプリケーションでは、フィールド識別子を適切に割り当てる必要があります。
各クラスの説明セクションには、次の 4 つのサブセクションがあります。
前述のように、各クラスは 4 つの部分に分けて定義されています。その 1 つが属性表です。属性表はクラス内の属性のリファレンス ガイドであり、管理者、オペレータ、一般ユーザがそれらの属性を使用してアプリケーションと対話するための方法を説明しています。属性表の各属性の説明には、5 つの構成要素 (名前、型、パーミッション、値、デフォルト値) があります。各要素については、以下を参照してください。
SET
キーとなるフィールドSET
キーで SET
操作を実行する場合 (上記の * を参照) は、SET
キーとして定義された属性の値が 1 つ以上含まれている必要があります。指定する SET
キーは、クラス内の 1 つのオブジェクトをユニークに識別できるキーでなければなりません。SET
キーは常にオブジェクト検索用のキー フィールドであるため、わざわざ (k) と表記することはしていません。ただし、NEW
オブジェクトを作成するときに SET
キーが必ず必要というわけではなく、(r) は必要に応じて表記されています。
long
、char
、および string
) で定義されます。プログラム内では、FML32 関数 Fldtype32()
を使用してデータ型を判別できます。この関数は、データ型を表す FML32 の define
(FLD_LONG
、FLD_CHAR
、および FLD_STRING
) を返します (Fldtype、Fldtype32(3fml) を参照)。
INValid
から NEW
に変更するときに使用するデフォルト値。オブジェクトがアクティブなときにのみ必要になる属性、派生する属性、および使用可能な属性は N/A と表記されています。
TA_STATE
属性フィールドは、定義された各クラスのメンバーです。この属性の意味はクラスごとに定義されています。TA_STATE
値は、多くの場合 3 文字の簡略名で指定できます。TA_STATE
値の完全名を表示する場合は、3 文字の簡略名を大文字で、残りの文字を小文字で示します。TA_STATE
値は、簡略名でも完全名でも入力できます。大文字/小文字は区別されません。TA_STATE
値の出力は常に大文字の完全名です。以下に、TA_STATE
属性の使用例を示します。
Full Name : ACTive
Shorthand : ACT
Output Value : ACTIVE
Valid Input : ACT, act, AcTiVe, active
T_CLASS
クラスは、Oracle Tuxedo システム アプリケーション内の管理クラスの属性を表します。このクラスは、主にクラス名の識別に使用します。
TA_CLASSNAME
: string
TA_STATE
:
GET
操作は、選択した T_CLASS
オブジェクトの情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
の意味を示します。以下に示されていない状態は返されません。
TA_GETSTATES
: string
TA_INASTATES
: string
TA_SETSTATES
: string
T_CLASSATT
クラスは、管理属性の特性をクラス/属性ごとに表します。
TA_CLASSNAME
: string
TA_ATTRIBUTE
: long
TA_STATE
:
SET
操作は、選択した T_CLASSATT
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_PERM
: 0000
<= num
<= 0777
T_MACHINE
クラスの TA_TYPE
属性のパーミッションは rw-r--r--
と記述されており、最大パーミッションは rw-rw-rw-
です。
TA_FACTPERM
: 0000
<= num
<= 0777
TA_STATE
を INValid
に変更する SET
操作の後に適用されます。
TA_MAXPERM
: 0000
<= num
<= 0777
TA_ATTFLAGS
: long
TA_DEFAULT
: string
NEW
オブジェクトを作成する際のこの属性のデフォルト。Admin API を使用して NEW
オブジェクトを作成できないクラスでは、この属性は必ず長さゼロの文字列として返されます。また、NEW
オブジェクトの作成時に SET
できない属性も長さゼロの文字列として返されます。long
値を持つ属性には、long 値を表す文字列として返されるデフォルト値があります。属性の中には、ここで返される以下のような値で示される特殊な性質を持つものもあります。
TA_VALIDATION
: string
コンポーネント MIB への接続時には、2 つの一般的なタイプのエラーがユーザに返される場合があります。1 つは、管理要求に対する応答を検索する 3 つの ATMI 関数 (tpcall()
、tpgetrply()
、および tpdequeue()
) が返すエラーです。これらのエラーは、それぞれの関数のリファレンス ページに定義されています。
2 つ目は、要求がその内容に対応できるシステム サービスに正常にルーティングされても、システム サービス側でその要求を処理できないと判断されると、アプリケーション レベルのサービス障害として返されるエラーです。このような場合、tpcall()
と tpgetrply()
は、tperrno()
を TPESVCFAIL
に設定してエラーを返し、以下のようにエラーの詳細を示す TA_ERROR
、TA_STATUS
、および TA_BADFLD
フィールドと一緒に、元の要求を含む応答メッセージを返します。TMQFORWARD(5)
サーバ経由でシステムに転送された要求に対してサービス障害が発生すると、元の要求で識別される異常終了キューに障害応答メッセージが追加されます (TMQFORWARD
に対して -d
オプションが指定されたと見なされる)。
管理要求の処理中にサービス エラーが発生すると、TA_STATUS
という FML32 フィールドにエラーの内容を説明したテキストが設定され、TA_ERROR
という FML32 フィールドにはエラーの原因 (下記参照) を示す値が設定されます。TA_BADFLD
に設定される値は、下記の各エラーに関する説明の中で示します。以下のエラー コードは、いずれもマイナスであることが保証されています。
TAEAPP
]
TAECONFIG
]
TAEINVAL
]
TAEOS
]
TAEPERM
]
SET
しようとしたか、読み取りパーミッションのないクラスに対して GET
を実行しようとしました。フィールド識別子がパーミッション チェックにパスしなかったことを示すため、TA_BADFLD
が設定されます。
TAEPREIMAGE
]
TAEPROTO
]
TAEREQUIRED
]
TAESUPPORT
]
TAESYSTEM
]
TAEUNIQ
]
other
]
以下の診断コードは TA_ERROR
で戻されるもので、管理要求が正常に完了したことを示します。これらのコードはマイナスでないことが保証されています。
TAOK
]
TAUPDATED
]
TAPARTIAL
]
FML32 インタフェースへのアクセス、および Oracle Tuxedo システムのアプリケーション管理に使用できるコンポーネント MIB へのアクセスは、Oracle Tuxedo システム リリース 4.2.2 以降のバージョンで可能です。汎用 MIB 属性を定義するヘッダ ファイルおよびフィールド テーブルは、Oracle Tuxedo リリース 5.0 以降で利用できます。各コンポーネント MIB に固有の相互運用性の問題については、それぞれのリファレンス ページで説明しています。
Oracle Tuxedo システムの MIB を使用した管理作業をサポートするために必要な既存の FML32 および ATMI 関数、さらにこのリファレンス ページに定義するヘッダ ファイルとフィールド テーブルは、すべてのサポート対象ネイティブ プラットフォームとワークステーション プラットフォームで使用可能です。
汎用 MIB 処理とのインタフェースにおいて既存の API を使用する例については、前述の使用方法のセクションを参照してください。詳しい使用例については、各コンポーネント MIB のリファレンス ページで実際のコンポーネント MIB のクラスや属性を使用して説明しています。
${TUXDIR}/include/tpadm.h
、${TUXDIR}/udataobj/tpadm
tpacall(3c)、tpalloc(3c)、tpcall(3c)、tpdequeue(3c)、tpenqueue(3c)、tpgetrply(3c)、tprealloc(3c)、「FML 関数の紹介」、Fadd、Fadd32(3fml)、Fchg、Fchg32(3fml)、Ffind、Ffind32(3fml)、AUTHSVR(5)
、TM_MIB(5)
、TMQFORWARD(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』
『FML を使用した Oracle Tuxedo アプリケーションのプログラミング』
nl_types.h
ヘッダ ファイルには、以下の定義が含まれています。
nl_catd
nl_item
NL_SETD
$set
宣言が指定されていない場合に gencat()
で使用します。この定数は、以降の catgets()
への呼び出しの際に、識別子設定パラメータの値として使用できます。
NL_MGSMAX
NL_SETMAX
NL_TEXTMAX
DEF_NLSPATH
gencat(1)、catgets(3c)、catopen、catclose(3c)、nl_langinfo(3c)、langinfo(5)
AOUT CLOPT= [-A][-s{@filename
|service
[,service
...][:func
]}]
[-estderr_file
][-h][-llocktype
][-nprio
]
[-ostdout_file
][-P][-p [L][low_water
][,[terminate_time
]]
[:[high_water
][,create_time
]][-r][-t][ --uargs
][-v]
servopts
はコマンドではなく、Oracle Tuxedo システムのサーバが認識する実行時オプションのリストです。
これらのオプションを使用するのは Oracle Tuxedo システム提供のサーバ、または buildserver(1) コマンドによって作成されたアプリケーション提供のサーバです。
Oracle Tuxedo システムでサーバを実行するには、アプリケーションのコンフィグレーション ファイルで指定したサーバ (およびその他のリソース) で機能する tmboot(1) および tmadmin(1) コマンドを使用します。servopts
リストで選択したオプションは、コンフィグレーション ファイルのサーバに対して指定されます。認識されるオプションは以下のとおりです。
-A
-s
{ @filename
| service
[,service
...][:func
] }
x
サービスは関数 x
によって実行されます。たとえば、次のように指定したとします。
-s x,y,z
x
、y
、および z
を最初から提供するサーバが実行され、各サービスは同じ名前を持つ関数によって処理されます。その他のケースでは、異なる名前の関数でサービスが実行されることもあります。たとえば、次のように指定したとします。-s x,y,z:abc
TM_MIB(5)
によりファイルを取得した場合は、名前の最初の 15 文字だけが表示されます。
-s
オプションの引数と見なされます。このファイルには、コメントを入れることができます。コメントは必ず「#」または「:」で始めます。-s
オプションは何度でも指定できます。
tmadmin
advertise
コマンドを使用します。
-e
stderr
というデフォルトのファイルが、$APPDIR
で指定したディレクトリに作成されます。
-h
-l
locktype
locktype
の引数は t
、d
、または p
です。どの引数を使用するかは、ロックの対象がテキスト (TXTLOCK
) であるか、データ (DATLOCK
) であるか、プロセス全体 (テキストおよびデータ - PROCLOCK
) であるかによって決まります。詳細については、plock
(2) を参照してください。ルートとして実行されていないサーバはロックできません。また、いったんロックされたサーバのロックを解除することはできません。
-n
prio
prio
引数に応じ、サーバに対して nice
を実行します。プロセスに高い優先順位 (負の引数) を付与するには、そのプロセスを root
の UID
で実行する必要があります。詳細については nice
(2) を参照してください。
-o
stdout_file
stdout
というデフォルトのファイルが、$APPDIR
で指定したディレクトリに作成されます。
-P
SUSP
(停止) 起動時に tpsvrinit
()
が実行されている。停止しているサービスへの要求は失敗し、TPNOENT
が即座に返されます。tpsvrinit
()
が長時間にわたって実行されている場合、-P
オプションを使用して起動時にサービス要求のタイムアウトを回避できます。AVAIL
(使用可能) tpsvrinit
()
が完了し、サーバが要求を受信できる状態になった。 注意 : | この CLOPT はアプリケーション サーバでのみ使用することをお勧めします。デフォルトの CLOPT は使用しないでください。これは、すべてのシステム サーバ (TMUSREVT 、TMSYSEVT 、GWTDOMAIN 、GWADM 、TMS 、TMQUEUE など) に影響を与える場合があります。 |
注意 : | -P オプションは、CORBA アプリケーション サーバでも使用できます。 |
-p
[L
][low_water
][,[terminate_time
]][:[high_water
][,create_time
]]
L
] 引数を使用している場合は、各要求のロード ファクタも考慮されます。
注意 : | UNIX プラットフォームのみ - alarm() システム呼び出しは、サーバ プール管理下で実行しているサーバではうまく機能しません。アイドル状態のサーバを終了するコードでは alarm() 呼び出しを使用するため、Usignal() への呼び出しがエラーでない場合でも、ユーザが独自のシグナル ハンドラを確立するために作成したコードは異常終了します。 |
-p
オプションの引数は、以下のように使用しているサーバの種類によって意味が異なります。
SHM/LDBAL=Y
が設定されていない場合、ユーザ ログ メッセージ (LIBTUX_CAT:1542
) が出力され、生成および廃棄は発生しません。
create_time
秒以上にわたって high_water
を超えると、新しいサーバが生成されます。ロードが terminate_time
秒以上にわたって low_water
を下回ると、1 つのサーバが廃棄されます。
low_water
のデフォルト値は、MSSQ 上のサーバあたり 1 メッセージの平均値、または負荷 50 です。high_water
のデフォルト値は、サーバあたり 2 メッセージの平均値、または負荷 100 です。create_time
のデフォルト値は 50 秒、terminate_time
のデフォルト値は 60 秒です。注意 : | Oracle Tuxedo 以降では、マルチスレッドまたは非 MSSQ の会話型サーバの自動生成に制限はありません。ただし、これらのサーバには自動廃棄機能は実装されません。 |
low_water
の最小パーセンテージと high_water
の最大パーセンテージをチェックします。これらのパーセンテージが、それぞれに関連付けられた時間パラメータ terminate_time
または create_time
の値を超えると、サーバの数が最小数または最大数に達していない限りサーバが生成または廃棄されます。
low_water
パーセンテージのデフォルト値は 0%、high_water
のパーセンテージは 80% です。terminate_time
のデフォルト値は 60 秒、create_time
のデフォルト値は 0 秒です。-r
-r
オプションを使用する場合は、ULOGDEBUG
変数が "y" に設定されていないことを確認してください。ULOGDEBUG
変数が "y" に設定されていると、デバッグ メッセージが stderr
に送信されず、txrpt
がファイル内のデバッグ メッセージを間違って解釈してしまいます。
-t
GWTDOMAIN
) プロセス、システム プロセス、またはアプリケーション サーバ プロセスを使用できます。ワークステーション リスナ プロセスの場合は、-t
オプションを使用して起動すると、すべてのワークステーション ハンドラ (WSH) プロセスで相互運用が可能になります。
--
--
の前に、アプリケーションの引数をその後に指定します。アプリケーションの引数は、ユーザが定義した tpsvrinit()
関数で処理できますが、引数の解析には getopt()
を使用します。すべてのシステム引数は tpsvrinit()
への呼び出しの前に処理されるため、呼び出しの際には外部整数 optind
がユーザのフラグの開始点を指しています。--
引数の後であれば、同じオプション文字 (たとえば -A
) をアプリケーション固有の意味付けで再使用してもかまいません。
v
#
# サーバに組み込まれるサービスおよび対応ハンドラ関数のリスト
#
<servicename>:<functionname><NEWLINE>
<servicename>:<functionname><NEWLINE>
<servicename>:<functionname><NEWLINE>
. . . .
. . . .
#
で始まる最初の 3 行はコメントです。その後の各行は、実行可能ファイルに組み込まれるサービス名とそれに対応する関数名を示しています。buildserver
コマンドラインに -s:
functionname
が指定されている場合、その行の servicename
フィールドは空文字列にできます。functionname
フィールドは必ず指定します。
注意 : | Oracle Tuxedo システムの実行時には、各サーバのそれぞれのコマンドラインに次のオプションが自動的に追加されます。 |
注意 : | -c dom= domainid |
注意 : | -c オプションを使用すると、指定したドメイン ID を示すコメントラインを、そのドメインに関連付けられたプロセスで通知されるすべてのコマンド出力 (たとえば ps コマンドの出力) に追加できます。複数のドメインを管理する管理者は、このコメントによって、複数のドメインを参照する単一の出力ストリームを理解しやすくなります。 |
UBBCONFIG(5)
の使用例を参照してください。
buildserver(1)、tmadmin(1)、tmboot(1)、txrpt(1)、tpsvrinit(3c)、UBBCONFIG(5)
『Oracle Tuxedo アプリケーション実行時の管理』
UNIX システム リファレンス マニュアルの nice
(2)、plock
(2)、getopt
(3)
TM_MIB
- Oracle Tuxedo システムの管理情報ベース
#include <fml32.h>
#include <tpadm.h>
Oracle Tuxedo システムの MIB は、アプリケーションの基本的な側面を設定および管理するための一連のクラスを定義します。MIB を使用することで、マシン、サーバ、ネットワークなどを管理できます。
管理要求のフォーマットと管理応答の解釈を行うには、TM_MIB(5)
を共通 MIB リファレンス ページ MIB(5)
と一緒に使用します。このリファレンス ページで説明するクラスや属性を使用し、MIB(5)
の説明に従ってフォーマットした要求を使用すると、アクティブなアプリケーションの既存の ATMI インタフェースの 1 つを通じて管理サービスを要求できます。非アクティブなアプリケーションは、tpadmcall()
関数インタフェースを使用して管理することもできます。TM_MIB(5)
のすべてのクラス定義の追加情報については、「TM_MIB(5) に関する追加情報」を参照してください。
各クラスの説明は、次の 4 つのセクションで構成されています。
概要
- このクラスに関連付けられている属性の概要について説明します。属性表
- 属性表の形式を以下に要約します。詳細については、MIB(5)
で説明します。属性の意味
- クラスに含まれる各属性の意味を定義します。制限事項
- このクラスにアクセスし、このクラスを解釈する場合の制限事項について説明します。
以降のセクションでは、この MIB に含まれる各クラスが 4 つの部分に分けて定義されています。その 1 つが属性表です。属性表はクラス内の属性のリファレンス ガイドであり、管理者、オペレータ、一般ユーザがそれらの属性を使用してアプリケーションと対話するための方法を説明しています。
属性表の各属性の説明には、5 つの構成要素 (名前、型、パーミッション、値、デフォルト値) があります。各要素については、MIB(5)
を参照してください。
MIB(5)
は、共通 TA_FLAGS
属性を定義します。この属性は long
型で、共通 MIB フラグ値とコンポーネント MIB 固有フラグ値の両方を持ちます。以下は、サポートされる TM_MIB(5)
固有フラグ値です。これらのフラグ値は、共通 MIB フラグと一緒に使用する必要があります。
TMIB_ADMONLY
TMIB_APPONLY
T_MACHINE
オブジェクトをアクティブまたは非アクティブにする際に、アプリケーション プロセスのみを考慮することを示すために使用します。このフラグは、T_SERVER
と T_SERVERCTXT
での検索を、アプリケーション サーバに限定するためにも使用できます。
TMIB_CONFIG
TMIB_NOTIFY
T_MACHINE
、T_GROUP
、または T_SERVER
オブジェクトをアクティブまたは非アクティブにする際に、選択した各サーバ オブジェクトをアクティブ化または非アクティブ化する直前および直後に非請求メッセージが発信元のクライアントに送信されるようにするために使用します。
このリファレンス ページで説明する属性のフィールド テーブルは、システムにインストールした Oracle Tuxedo システム ソフトウェアのルート ディレクトリからの相対パスで指定される udataobj/tpadm
ファイルにあります。${TUXDIR}/udataobj
ディレクトリは、FLDTBLDIR
環境変数で指定されるコロン区切りのリストにアプリケーションによって追加される必要があり、フィールド テーブル名 tpadm
は、FIELDTBLS
環境変数で指定されるカンマ区切りのリストに追加される必要があります。
この MIB のヘッダ ファイルとフィールド テーブルには、Oracle Tuxedo リリース 6.1 以降のサイト (ネイティブとワークステーションの両方) からのみアクセスできます。
ワークステーションによるこの MIB へのアクセスは、実行時のみのアクセスに制限されており、関数 tpadmcall(3c) はワークステーションではサポートされません。
プレイメージ処理 (MIB_PREIMAGE
フラグ ビットのセット) を目的として、グローバル属性を持つクラスのローカル属性が考慮されることはありません。また、インデックス付きのフィールド、およびそれらのフィールドと共に送出されるインデックスも考慮されません (たとえば、T_TLOG
クラス、TA_TLOGCOUNT
、TA_TLOGINDEX
、TA_GRPNO
、TA_TLOGDATA
など)。
T_BRIDGE
クラスは、アプリケーションを構成する論理マシン間の接続性に関する実行時の属性を表します。これらの属性の値は、接続の状態および統計値を表します。
注 1 T_BRIDGE
クラスのすべての属性はローカル属性です。
注 2 TA_LMID
属性は、SET
操作に対してはすべて (LMID1、LMID2
) を指定する必要があります。
注 3 SET
操作は、Oracle Tuxedo リリース 6.4 では TA_NETGROUP DEFAULTNET
しか使用できません。GET
操作は、両方の LMID
値用に定義された TA_NETGROUP
を使用できます。
注 4 TA_SUSPTIME
を SET
できるのは、TA_STATE
がすでに SUSPENDED
になっている場合か、これから SUSPENDED
に SET
しようとしている場合に限られます。
注 5 リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。
TA_LMID
: ”
LMID1
[,
LMID2
]”
TA_NETGROUP
: string
[1 . .30]
TA_LMID
マシン識別子が同じ TA_NETGROUP
である場合、T_BRIDGE
クラスは TA_NETGROUP
ごとに関連しているフィールドのすべてのインスタンスを提供します。TA_NETGROUP
は、GET
要求のキー フィールドとして使用できます。Oracle Tuxedo リリース (リリース 6.4) の SET
操作では、DEFAULTNET
以外の TA_NETGROUP
値は使用できません。
TA_STATE
:
GET
操作は、選択した T_BRIDGE
オブジェクトの実行時情報を検索します。論理マシン識別子を 1 つしか持たない TA_LMID
属性値は、アプリケーションの他のマシンに対する LMID1
からのすべてのアクティブな接続と一致します。この場合、取得した各レコードには、接続先の LMID
が書き込まれて拡張された TA_LMID
属性値が含まれます。
以下に示す状態は、GET
要求への応答で返される TA_STATE
の意味を示します。
SET
操作は、選択した T_BRIDGE
オブジェクトの実行時情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_CURTIME
: 0 <= num
T_BRIDGE
:TA_LMID
で time(2) システム呼び出しから返される 1970 年 1 月 1 日の 00:00:00 UTC から現在までの時間 (単位は秒)。この属性は、以下の属性値からの経過時間を算出するために使用できます。
TA_CONTIME
: 0 <= num
T_BRIDGE
:TA_LMID
で time(2) システム呼び出しから返される 1970 年 1 月 1 日の 00:00:00 UTC から、この接続が初めて確立された時点までの時間 (単位は秒)。開かれている経過時間 (秒) は、TA_CURTIME
- TA_CONTIME
を使用して計算できます。
TA_SUSPTIME
: 0 <= num
TA_RCVDBYT
: 0 <= num
TA_SENTBYT
: 0 <= num
TA_RCVDNUM
: 0 <= num
TA_SENTNUM
: 0 <= num
TA_FLOWCNT
: 0 <= num
TA_CURENCRYPTBITS
: ”
{0
| 40
| 56
| 128
}”
T_CLIENT
クラスは、アプリケーション内のアクティブなクライアントの実行時属性を表します。これらの属性値により、実行中のアプリケーション内のクライアントのアクティビティを識別して追跡できます。
注 1 T_CLIENT
クラスのすべての属性はローカル属性です。
注 2 リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。
注 3 Oracle Tuxedo 8.0 以前のリリースの場合、この属性の文字列の長さは最大 78 バイトです。
TA_STATE
:
GET
操作は、選択した T_CLIENT
オブジェクトの実行時情報を検索します。クライアント情報は、ローカルの掲示板テーブルにしか記録されません。したがって、パフォーマンスを最大にするには、クライアントの状態の照会にはできる限りキー フィールドを使用する必要があります。以下に示す状態は、GET
要求への応答で返される TA_STATE
の意味を示します。
SET
操作は、選択した T_CLIENT
オブジェクトの実行時情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_CLIENTID
: string
[1..78]
TA_CLTNAME
: string
[0..30]
TA_IDLETIME
: 0 <= num
TA_SCANUNIT
(T_DOMAIN
クラスを参照) の秒数以内です。キー フィールドとして指定した場合、正の値であればアイドル時間が指定値以上のすべてのクライアントが一致し、負の値であればアイドル時間が指定値以下のすべてのクライアントが一致します。ゼロのときは、すべてのクライアントが一致します。
TA_TPBLK_ALL
: 0 <= num
TA_LMID
: LMID
TA_PID
: 1 <= num
GET
操作で負の値を指定すると、呼び出し側のプロセスのクライアント情報を検索できます。呼び出し側のプロセスがクライアントでない場合はエラーが返されます。
TA_CONTEXTID
: -2 <= num
< 30,000
TA_SRVGRP
: string
[0..30]
TA_USRNAME
: string
[0..30]
TA_WSC
: ”
{Y
| N
}”
TA_WSH
: ”
{Y
| N
}”
TA_WSHCLIENTID
: string
[1..78]
TA_WSH
== Y
) は、関連付けられたワークステーション ハンドラ (WSH) のクライアント識別子が返されます。それ以外の場合は、長さゼロの文字列が返されます。
TA_RELEASE
: 0 <= num
TA_SWRELEASE
とは異なる場合があります。ワークステーション クライアントの場合 (TA_WSC
== Y
)、アプリケーションへのアクセスに使用するアプリケーション管理のマシンのメジャー リリースがこの値とは異なる場合があります。
TA_WSPROTO
: 0 <= num
TA_WSC
== N
) に関連付けられている場合は、値としてゼロが返されます。
TA_NUMCONV
: 0 <= num
TA_NUMDEQUEUE
: 0 <= num
TA_NUMENQUEUE
: 0 <= num
TA_NUMPOST
: 0 <= num
TA_NUMREQ
: 0 <= num
TA_NUMSUBSCRIBE
: 0 <= num
TA_NUMTRAN
: 0 <= num
TA_NUMTRANABT
: 0 <= num
TA_NUMTRANCMT
: 0 <= num
TA_CMTRET
: ”
{COMPLETE
| LOGGED
}”
TA_CURCONV
: 0 <= num
TA_CURENCRYPTBITS
: ”
{0
| 40
| 56
| 128
}”
TA_CURREQ
: 0 <= num
TA_CURTIME
: 1 <= num
T_CLIENT
:TA_LMID
で time(2) システム呼び出しから返される 1970 年 1 月 1 日の 00:00:00 UTC から現在までの時間 (単位は秒)。この属性は、T_CLIENT
:TA_TIMESTART
属性値からの経過時間を算出するために使用できます。
TA_LASTGRP
: 1 <= num
< 30,000
TA_NADDR
: string
[1..256] (Oracle Tuxedo 8.0 以前は最大で 78 バイト)
#
記号は、0 から 255 の範囲の 10 進数を表しています。port_number
の値は、0 から 65535 の範囲の 10 進数です。
注意 : | 一部のポート番号は、お使いのシステムで使用されるトランスポート プロトコル (TCP/IP など) のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート プロトコルのマニュアルを調べてください。 |
TA_NOTIFY
: ”
{DIPIN
| SIGNAL
| THREAD
| IGNORE
}”
TA_NUMUNSOL
: 0 <= num
TA_RPID
: 1 <= num
TA_TIMELEFT
: 0 <= num
TA_TIMESTART
: 1 <= num
T_CLIENT
:TA_LMID
で time(2) システム呼び出しから返される 1970 年 1 月 1 日の 00:00:00 UTC から起算されます。
TA_TRANLEV
: 0 <= num
T_CONN
クラスは、アプリケーション内のアクティブな会話の実行時属性を表します。
注 1 T_CONN
クラスのすべての属性はローカル属性です。
TA_LMID
: LMID
TA_STATE
:
TA_SERVICENAME
: string
[1..15]
TA_CLIENTID
: string
[1..78]
TA_CONNOGRPNO
: 1 <= num
< 30,001
TA_CONNOLMID
: LMID
TA_CONNOPID
: 1 <= num
TA_CONNOSNDCNT
: 0 <= num
TA_CONNOSRVID
: 1 <= num
< 30,001
TA_CONNSGRPNO
: 1 <= num
< 30,001
TA_CONNSLMID
: LMID
TA_CONNSPID
: 1 <= num
TA_CONNSSNDCNT
: 0 <= num
TA_CONNSSRVID
: 1 <= num
< 30,001
T_DEVICE
クラスは、Oracle Tuxedo システムのデバイス リストの格納に使用する raw ディスク スライスまたは UNIX システム ファイルのコンフィグレーション属性と実行時属性を表します。このクラスを使用すると、raw ディスク スライスまたは UNIX システム ファイルに格納するデバイス リストのエントリを作成および削除できます。
注 1 T_DEVICE
クラスのすべての属性はローカル属性です。
注 2 SET
操作では、デバイス リストの特定のエントリを識別するために TA_DEVINDEX
が必要となります。ただし、新たなデバイス リスト エントリを作成する目的で状態を NEW
にセットする場合は例外です。この場合、TA_DEVINDEX
は設定しないでください。値は、システムによって割り当てられ、エントリが正常に作成された時点で返されます。
注 3 TA_DEVSIZE
は、オブジェクトの作成時にのみ SET
されます。
TA_LMID
: LMID
T_MACHINE
エントリが定義されている) アプリケーションでは、そのアプリケーションが起動されていても起動されていなくてもキー フィールドとして使用できます。SET
操作では、起動されたアプリケーションにアクセスする際にこの属性がキー フィールドとして必要になります。コンフィグレーションの済んでいないアプリケーションで T_DEVICE
クラスにアクセスする場合、この属性は指定されていても無視されます。
TA_CFGDEVICE
: string
[2..64]
TA_DEVICE
: string
[2..64]
TA_DEVOFFSET
: 0 <= num
TA_CFGDEVICE
で指定した Oracle Tuxedo システム VTOC で使用する TA_DEVICE
の領域の開始点を示すオフセット (単位はブロック)。制限事項 : Oracle Tuxedo ファイル システム (TA_CFGDEVICE
) 上の最初のデバイス リスト エントリ (TA_DEVICE
) では、この属性をゼロに設定する必要があります。
TA_DEVSIZE
: 0 <= num
TA_DEVINDEX
: 0 <= num
TA_CFGDEVICE
が指すデバイス リスト内の TA_DEVICE
のデバイス インデックス。この属性の値は、Oracle Tuxedo ファイル システムの特定のデバイスに関係のある属性を取得または設定する場合に限り、識別子として使用できます。
TA_STATE
:
SET
操作は、選択した T_DEVICE
オブジェクトの情報の更新、または指定したオブジェクトの追加を実行します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
T_DOMAIN
クラスは、グローバルなアプリケーションの属性を表します。これらの属性値は、Oracle Tuxedo システム アプリケーションの識別、カスタマイズ、サイズの指定、セキュリティ保護に使用します。以下で示す属性値の多くは、この MIB で示す他のクラスでアプリケーションのデフォルト値として使用します。
個々のアプリケーションには、T_DOMAIN
クラスのオブジェクトが 1 つだけ存在します。したがって、このクラスにはキー フィールドは定義されません。このクラスに対する GET
操作は、常にこの唯一のオブジェクトに関する情報を返します。同様に、SET
操作は常にその唯一のオブジェクトを更新します。GETNEXT
は、このクラスでは使用できません。
注 1 UNIX システムが認識できる UID
と GID
注 2 num
は 2 または 5 の倍数でなければなりません。
注 3 num
は、num
と TA_SCANUNIT
の積がほぼデフォルト値と同じになるように設定します。
TA_IPCKEY
: 32,769 <= num
< 262,144
TA_MASTER
: ”
LMID1
[,
LMID2
]”
LMID1
) とバックアップ論理マシン (LMID2
) の識別子。INActive
状態のアプリケーションでは、マスタの識別子 (LMID1
) がローカル マシンと一致する必要があります。SHM
モードのアプリケーション (後述の TA_MODEL
を参照) では、マスタ論理マシンの識別子のみ設定できます。ACTive MP
状態のアプリケーション (後述の TA_MODEL
を参照) では、この属性値の変更は次のような意味を持ちます。
A
、現在のバックアップ マスタ LMID を B
、セカンダリ LMID をそれぞれ C、D、. . .
とすると、MP
モードで実行中のアプリケーションの TA_MASTER
属性で可能な変更は、次のようなシナリオによって定義されます。
A,B -> B,A - マスタを A から B に移行。
A,B -> A,C - バックアップ マスタ LMID を C に変更。
ACTive
状態でアクセス可能な場合に行われます。それ以外の場合には分断方式で移行します。ネットワークへの接続を新たに確立する場合や確立し直す際は、接続する 2 つのサイトがマスタ マシンの場所に関する情報を共有しているかどうかが確認されます。この点が確認できない場合、接続は拒否され、適切なログ メッセージが生成されます。ACTive
状態のアプリケーションのマスタ マシンとバックアップ マシンの Oracle Tuxedo リリース番号は、アプリケーション内の他のすべてのマシンのリリース番号と同じかそれ以上である必要があります。また、マスタ マシンとバックアップ マシンのリリース番号は同じでなければなりません。TA_MASTER
属性を変更する際は、この関係を維持する必要があります。
TA_MODEL
: ”
{SHM
| MP
}”
SHM
は単一のマシンのコンフィグレーションを設定します。指定できるのは、T_MACHINE
オブジェクトのみです。MP
は、複数のマシンを使用する環境、つまりネットワーク コンフィグレーションを設定します。ネットワーク化されたアプリケーションを定義する場合は、MP
を指定する必要があります。
TA_STATE
:
SET
操作は、T_DOMAIN
オブジェクトのコンフィグレーション情報および実行時情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_DOMAINID
: string
[0..30]
TA_PREFERENCES
: string
[0..1023]
TA_UID
: 0 <= num
T_MACHINE
クラスで新たにコンフィグレーションするオブジェクトの属性のデフォルト設定。制限事項 : この属性を変更しても、コンフィグレーション済みの T_MACHINE
オブジェクトおよびアクティブなオブジェクトには影響しません。
TA_GID
: 0 <= num
T_MACHINE
クラスで新たにコンフィグレーションするオブジェクトの属性のデフォルト設定。制限事項 : この属性を変更しても、コンフィグレーション済みの T_MACHINE
オブジェクトおよびアクティブなオブジェクトには影響しません。
TA_PERM
: 0001 <= num
<= 0777
T_MACHINE
クラスで新たにコンフィグレーションするオブジェクトの属性のデフォルト設定。制限事項 : この属性を変更しても、コンフィグレーション済みの T_MACHINE
オブジェクトおよびアクティブなオブジェクトには影響しません。
TA_LICEXPIRE
: string
[0..78]
TA_LICMAXUSERS
: 0 <= num
< 32,768
TA_LICSERIAL
: string
[0..78]
TA_MIBMASK
: 0 <= num
<= 0777
0003
と設定した場合は、管理者およびオペレータ以外のユーザに対する更新が禁止されます。
TA_MAXACCESSERS
: 1 <= num
< 32,768
T_DOMAIN
の値は、マシンごとに T_MACHINE
クラスでオーバーライドできます。
restartsrv
、cleanupsrv
、tmshutdown()
、tmadmin()
などのシステム管理プロセスを含める必要はありません。ただし、DBBL、すべてのブリッジ プロセス、すべてのシステム提供サーバ プロセスとアプリケーション サーバ プロセス、および特定のサイトで使用する可能性があるクライアント プロセスはこの数に含めます。システム提供のサーバには、AUTHSVR
、TMQUEUE
、TMQFORWARD
、TMUSREVT
、TMSYSEVT
、TMS
(T_GROUP:TA_TMSNAME
属性を参照)、TMS_QM
、GWTDOMAIN
、WSL
などがあります。アプリケーションが特定のサイトでワークステーション リスナ (WSL) を起動する場合は、起動する WSL と使用する可能性があるワークステーション ハンドラ (WSH) の両方をこの数に含める必要があります。
TA_MAXACCESSERS
属性と TA_MAXSERVERS
属性が使用されていました。つまり、アプリケーションで実行中の 1 台以上のマシンの TA_MAXACCESSERS
の数と、特定のマシンの TA_MAXACCESSERS
の数の合計が、TA_MAXSERVERS
の数とユーザ ライセンス数の合計より大きい場合、マシンを起動することはできませんでした。したがって、アプリケーションの TA_MAXACCESSERS
パラメータには、TA_MAXSERVERS
の数とユーザ ライセンス数の合計か、またはそれより小さい値を指定しなければなりませんでした。
T_MACHINE
オブジェクトおよびアクティブなオブジェクトには影響しません。
TA_MAXCONV
: 0 <= num
< 32,768
T_SERVER
クラスに会話サーバが定義されている場合は 64、そうでない場合は 1 になります。1 つのサーバで、最大 64 個の会話を同時に行うことができます。
この属性の T_DOMAIN
の値は、マシンごとに T_MACHINE
クラスでオーバーライドできます。TA_MAXGTT
: 0 <= num
< 32,768
T_DOMAIN
の値は、マシンごとに T_MACHINE
クラスでオーバーライドできます。
TA_MAXBUFSTYPE
: 1 <= num
< 32,768
TA_MAXBUFTYPE
: 1 <= num
< 32,768
TA_MAXDRT
: 0 <= num
< 32,768
T_ROUTING
クラス オブジェクトごとに、エントリが 1 つずつ必要です。実行時にテーブルを拡張できるようにするには、追加のエントリを割り当てる必要があります。
TA_MAXGROUPS
: 100 <= num
< 32,766
TA_MAXNETGROUPS
: 1 <= num
< 8,192
TUXCONFIG
ファイルの NETWORK
セクションに対応するコンフィグレーション済みのネットワーク グループの最大数を指定します。この値には、1 以上 8192 未満を指定します。指定しない場合は、デフォルト値の 8 が設定されます。
TA_MAXMACHINES
: 256 <= num
< 8,191
TA_MAXQUEUES
: 1 <= num
< 8,192
TA_MAXQUEUES
の設定が TA_MAXSERVERS
の設定に等しい場合に限り、アクティブなアプリケーションに結合することができます。
TA_MAXRFT
: 0 <= num
< 32,768
TA_RANGES
の設定に含まれる範囲ごとに 1 つのエントリが必要です。これに加え、T_ROUTING
クラス オブジェクトごとに 1 つの追加エントリが必要です。実行時にテーブルを拡張できるようにするには、追加のエントリを割り当てる必要があります。
TA_MAXRTDATA
: 0 <= num
< 32,761
TA_RANGES
の値で指定した文字列と CARRAY が格納されます。実行時にテーブルを拡張できるようにするには、追加の領域を割り当てる必要があります。
TA_MAXSPDATA
0 <= num
<= 2147483640
TA_MAXSPDATA
属性を使用して共通文字列プールのサイズを増やすことができます。共通文字列プールのサイズを調整しても、TA_MAXRTDATA
属性で制御するルーティング文字列プールのサイズには影響しません。これら 2 つの文字列プールは別々に制御されます。
TA_MAXSPDATA
にどのような値を指定しても、Oracle Tuxedo システムが計算した範囲外の文字列プール領域への割り当ては行われません。この範囲の計算は、(1) TUXCONFIG
ファイルに実際に指定した文字列、および (2) 指定された文字列が最大長の 256 バイトである場合に必要となる領域の長さ、の 2 つに基づいて行われます。tmloadcf(1)
コマンドは、指定された値がこの範囲を外れている場合に警告を表示し、その値を最も近い許容値に設定します。
TUXCONFIG
パラメータのうち、GROUPS
セクションの TMSNAME
パラメータと SERVERS
セクションの AOUT
および RCMD
パラメータだけが実際に掲示板に格納されます。それ以外のパラメータは、プロセス起動時に読み込まれるか、またはプロセス メモリに格納されます。
TA_MAXTRANTIME
0 <= num
<= 2147483647
TA_MAXTRANTIME
タイムアウト値が、AUTOTRAN
サービスに対して指定した TRANTIME
タイムアウト値またはトランザクションを開始する際に tpbegin(3c)
呼び出しで渡されたタイムアウト値よりも小さい場合、トランザクションのタイムアウトは TA_MAXTRANTIME
値まで減少します。TA_MAXTRANTIME
は Oracle Tuxedo 8.0 以前を実行するマシン上で開始されるトランザクションには影響を与えません。ただし、Oracle Tuxedo 8.1 以降が動作するマシンがトランザクションの影響を受ける場合は、そのマシンに対してコンフィグレーションされている TA_MAXTRANTIME
値までトランザクション タイムアウト値が制限 (必要に応じて減少) されます。
UBBCONFIG
ファイルの SERVICES
セクションに指定されている TRANTIME
の値が TA_MAXTRANTIME
の値より大きい場合は、tmloadcf(1)
コマンドによってコンフィグレーションがエラーなしでロードされます。Oracle Tuxedo 8.1 以降のマシンが AUTOTRAN
トランザクションの影響を受ける場合は、そのマシンに対してコンフィグレーションされている TA_MAXTRANTIME
値までトランザクション タイムアウト値が自動的に減少されます。
TA_MAXSERVERS
: 1 <= num
< 8,192
AUTHSVR
、TMQUEUE
、TMQFORWARD
、TMUSREVT
、TMSYSEVT
、TMS
(T_GROUP:TA_TMSNAME
属性を参照)、TMS_QM
、GWTDOMAIN
、WSL
などがあります。
TA_MAXSERVERS
の数に含めます。
TA_MAXSERVICES
: 1 <= num
< 1,048,575
TA_MAXACLGROUPS
: 1 <= num
< 16, 384
TA_CMTRET
: ”
{COMPLETE
| LOGGED
}”
TP_COMMIT_CONTROL
特性の初期設定。LOGGED
の場合、TP_COMMIT_CONTROL
特性は TP_CMT_LOGGED
に初期化され、それ以外の場合は TP_CMT_COMPLETE
に初期化されます。この特性の設定の詳細については、Oracle Tuxedo System ATMI 関数 tpscmt()
の説明を参照してください。
TA_LDBAL
: ”
{Y
| N
}”
TA_NOTIFY
: ”
{DIPIN
| SIGNAL
| THREAD
| IGNORE
}”
tpinit()
フラグ値を使用して、クライアントごとにオーバーライドできます。非請求メッセージが検出されると、tpsetunsol()
関数で指定されたアプリケーション定義の非請求メッセージ処理ルーチンを使用して、アプリケーションからメッセージを使用できるようになります。
DIPIN
は、ディップイン方式で通知検出を行うことを示します。この方式では、クライアント プロセスに代わってシステムが ATMI 呼び出しの間に通知メッセージのみを検出します。特定の ATMI 呼び出しでの検出ポイントは、システムによって定義されるものではありません。したがって、システムによるブロッキング呼び出しがディップイン検出によって割り込みされることはありません。DIPIN
は、デフォルトの通知検出手段です。
SIGNAL
は、シグナルベース方式で通知検出を行うことを示します。この方式では、通知メッセージが使用可能になると、システムが対象のクライアント プロセスにシグナルを送出します。システムは、通知方式を選択したクライアントに代わって、シグナル検出ルーチンをインストールします。
THREAD
は、THREAD
方式で通知を行うことを示します。この方式では、非請求メッセージを受け取るための専用のスレッドが作成され、そのスレッドに非請求メッセージ ハンドラがディスパッチされます。1 つの Oracle Tuxedo アプリケーションで同時に実行できる非請求メッセージ ハンドラは 1 つのみです。この値は、マルチスレッドをサポートするプラットフォーム専用です。COBOL クライアントでは、THREAD
通知は使用できません。THREAD
を指定した場合は、デフォルトで DIPIN
に設定されます。
IGNORE
は、アプリケーション クライアントがデフォルトで通知メッセージを無視することを示します。この設定は、tpinit()
時の通知を要求するクライアントのみが非請求メッセージを受信するアプリケーションに適しています。
SIGNAL
方式を使用して通知できるのは、アプリケーション管理者と同じ UNIX システム ユーザ識別子で実行されているネイティブ クライアントのみです。ワークステーション クライアントの場合は、どのユーザ識別子で実行されているかに関係なく、SIGNAL
方式を使用できます。
注意 : | SIGNAL 通知方式は、MS-DOS クライアントでは使用できません。 |
TA_SYSTEM_ACCESS
: {FASTPATH
| PROTECTED
}[,NO_OVERRIDE
]
FASTPATH
は、Oracle Tuxedo システム ライブラリが、高速アクセス用の保護されていない共有メモリを使用して Oracle Tuxedo システムの内部テーブルにアクセスできることを示します。PROTECTED
は、Oracle Tuxedo システム ライブラリが、アプリケーションのコードによって破壊されないよう保護された共有メモリを使用して Oracle Tuxedo システムの内部テーブルにアクセスできることを示します。NO_OVERRIDE
は、アプリケーション プロセスが tpinit(3c) または TPINITIALIZE(3cbl) で使用可能なフラグを使用して選択モードをオーバーライドできないことを示します。
T_SERVER
オブジェクトにしか反映されません。TA_SYSTEM_ACCESS
を PROTECTED
に設定しても、マルチスレッド サーバには効果がない場合があります。これは、あるスレッドが Oracle Tuxedo コードを実行しているとき (つまりスレッドが掲示板にアタッチされているとき) に別のスレッドがユーザ コードを実行できるからです。Oracle Tuxedo システムでは、このような状況を回避することはできません。
TA_OPTIONS
: ”
{[LAN
| SSL
| MIGRATE
| ACCSTATS
| NO_XA
| NO_AA
],
*}”
LAN
- ネットワーク対応のアプリケーション
SSL
- SSL
セキュリティを開始する。指定しない場合は、LLE
セキュリティが使用されます。
MIGRATE
- サーバ グループの移行を許可する。
ACCSTATS
- 正確な統計値 (SHM
モードの場合のみ)。
NO_XA
- XA トランザクションの使用を許可しない。
NO_AA
- 監査および認可のプラグイン関数を呼び出さない。
ACCSTATS
のみを設定または再設定できます。
TA_USIGNAL
: ”
{SIGUSR1
| SIGUSR2
}”
TA_SECURITY
: ”
{NONE
| APP_PW
| USER_AUTH
| ACL
| MANDATORY_ACL
}”
NONE
は、セキュリティ機能をオフにすることを示します。識別子 APP_PW
は、アプリケーション パスワードによるセキュリティを有効にすることを示します。クライアントは、初期化時にアプリケーション パスワードを提示する必要があります。この属性の設定には、長さがゼロでない TA_PASSWORD
属性が必要です。識別子 USER_AUTH
は APP_PW
とほぼ同じですが、クライアントの初期化時にユーザごとの認証を実行する点が異なります。識別子 ACL
は USER_AUTH
とほぼ同じですが、サービス名、キュー名、およびイベント名に対してアクセス制御チェックを実行する点が異なります。ある名前に対応する ACL
が見つからなかった場合は、パーミッションが付与されているものと見なされます。識別子 MANDATORY_ACL
は ACL
とほぼ同じですが、名前に対応する ACL
が見つからない場合にパーミッションを付与しない点が異なります。
注意 : | TA_OPTIONS パラメータで NO_AA 値が有効になっている場合、セキュリティ値 NONE 、APP_PW 、および USER_AUTH は正しく機能しますが、認証や監査は実行されません。また、ACL および MANDATORY_ACL パラメータも正常に機能しますが、デフォルトの Oracle セキュリティ メカニズムのみが使用されます。 |
TA_PASSWORD
: string
[0 . . 30]
TA_SECURITY
属性の値が設定されていない場合は無視されます。アプリケーション パスワードは、システムによって自動的に暗号化されます。
TA_AUTHSVC
: string
[0..15]
TA_SECURITY
属性の値が設定されていない場合または APP_PW
に設定されている場合、この属性は無視されます。
TA_SSL_RENEGOTIATION
: 0 <= num
<= 2147483647
TA_SCANUNIT
: 0 <= num
<= 60 (5 の倍数)
TA_BBLQUERY
属性、TA_BLOCKTIME
属性、TA_DBBLWAIT
属性、および TA_SANITYSCAN
属性は、この値の乗数で指定します。SET
操作においてこの属性値としてゼロを渡すと、属性値がデフォルト値にリセットされます。
TA_BBLQUERY
: 0 <= num
< 32,768
TA_SCANUNIT
属性の乗数。登録された BBL に対する DBBL 状態チェックの間隔を示します。DBBL は、すべての BBL の状態が TA_BBLQUERY
で指定した期間内に報告されるようにします。BBL からの報告がない場合、DBBL はその BBL にメッセージを送信し、状態を照会します。応答がない場合、BBL は分断されます。SET
操作においてこの属性値としてゼロを渡すと、属性値がデフォルト値にリセットされます。この属性は、TA_SANITYSCAN
属性 (後述) の値の 2 倍以上の値に設定する必要があります。
TA_BLOCKTIME
: 0 <= num
< 32,768
TA_SCANUNIT
属性の乗数。ATMI のブロッキング呼び出しがタイムアウトする前にブロックする最短時間を示します。SET
操作においてこの属性値としてゼロを渡すと、属性値がデフォルト値にリセットされます。
TA_DBBLWAIT
: 0 <= num
< 32,768
TA_SCANUNIT
属性の乗数。DBBL がタイムアウトする前に BBL からの応答を待機する最長時間を示します。SET
操作においてこの属性値としてゼロを渡すと、属性値がデフォルト値にリセットされます。
TA_SANITYSCAN
: 0 <= num
< 32,768
TA_SCANUNIT
属性の乗数。システムに対する基本的な正常性チェックの間隔を示します。正常性チェックには、BBL ステータス チェック イン (MP
モードの場合のみ) だけでなく、ローカル マシンで実行しているクライアントまたはサーバの各 BBL によって行われるクライアントまたはサーバの実行可能状態のチェックも含まれます。SET
操作においてこの属性値としてゼロを渡すと、属性値がデフォルト値にリセットされます。
TA_CURDRT
: 0 <= num
< 32,768
TA_CURGROUPS
: 0 <= num
< 32,768
TA_CURMACHINES
: 0 <= num
< 32,768
TA_CURQUEUES
: 0 <= num
< 32,768
TA_CURRFT
: 0 <= num
< 32,768
TA_CURRTDATA
: 0 <= num
< 32,768
TA_CURSERVERS
: 0 <= num
< 32,768
TA_CURSERVICES
: 0 <= num
< 32,768
TA_CURSTYPE
: 0 <= num
< 32,768
TA_CURTYPE
: 0 <= num
< 32,768
TA_HWDRT
: 0 <= num
< 32,768
TA_HWGROUPS
: 0 <= num
< 32,768
TA_HWMACHINES
: 0 <= num
< 32,768
TA_HWQUEUES
: 0 <= num
< 32,768
TA_HWRFT
: 0 <= num
< 32,768
TA_HWRTDATA
: 0 <= num
< 32,768
TA_HWSERVERS
: 0 <= num
< 32,768
TA_HWSERVICES
: 0 <= num
< 32,768
TA_SEC_PRINCIPAL_NAME
: string
[0..511]
TA_SEC_PRINCIPAL_NAME
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVER
クラスの 4 つのレベルのどこでも指定できます。特定のコンフィグレーション レベルでのプリンシパル名は、下位レベルでオーバーライドできます。TA_SEC_PRINCIPAL_NAME
がどのレベルでも指定されていない場合、アプリケーションのプリンシパル名にはこのドメインの TA_DOMAINID
文字列がデフォルトで設定されます。
TA_SEC_PRINCIPAL_NAME
のほかにも、TA_SEC_PRINCIPAL_LOCATION
と TA_SEC_PRINCIPAL_PASSVAR
という属性があります。後の 2 つの属性は、アプリケーション起動時に、Oracle Tuxedo 7.1 以降で動作するシステム プロセスに対して復号化キーを開く処理に関係する属性です。特定のレベルで TA_SEC_PRINCIPAL_NAME
のみが指定されている場合には、それ以外の 2 つの属性に長さゼロの NULL
文字列が設定されます。
TA_SEC_PRINCIPAL_LOCATION
: string
[0..1023]
TA_SEC_PRINCIPAL_NAME
に指定したプリンシパルの復号化 (プライベート) キーを格納するファイルまたはデバイスのロケーション。この属性の最大文字数は、文字列の最後を表す NULL 文字列を除いて 1023 文字です。
TA_SEC_PRINCIPAL_LOCATION
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVER
クラスの 4 つのレベルのどこでも指定できます。この属性は、どのレベルで指定する場合でも TA_SEC_PRINCIPAL_NAME
属性と対になっている必要があり、それ以外の場合には無視されます。TA_SEC_PRINCIPAL_PASSVAR
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
TA_SEC_PRINCIPAL_PASSVAR
: string
[0..31]
TA_SEC_PRINCIPAL_PASSVAR
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVER
クラスの 4 つのレベルのどこでも指定できます。この属性は、どのレベルで指定する場合でも TA_SEC_PRINCIPAL_NAME
属性と対になっている必要があり、それ以外の場合には無視されます。TA_SEC_PRINCIPAL_LOCATION
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
TA_SEC_PRINCIPAL_PASSVAR
に設定した復号化キーの各パスワードを管理者が入力する必要があります。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
TA_SIGNATURE_AHEAD
: 1 <= num
<= 2147483647
TA_SIGNATURE_BEHIND
: 1 <= num
<= 2147483647
TA_SIGNATURE_REQUIRED
: ”
{Y
| N
}”
“Y”
に設定すると、このドメインで実行するすべてのプロセスで、その入力メッセージ バッファのデジタル署名が必要となります。指定しない場合、デフォルト値の “N”
が設定されます。この属性は、Oracle Tuxedo 7.1 以降が動作するアプリケーションにのみ適用されます。
TA_SIGNATURE_REQUIRED
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVICE
クラスの 4 つのレベルのどこでも指定できます。特定のレベルで SIGNATURE_REQUIRED
に “Y”
を設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
TA_ENCRYPTION_REQUIRED
: ”
{Y
| N
}”
“Y”
に設定すると、このドメインで実行するすべてのプロセスで暗号化された入力メッセージ バッファが必要となります。指定しない場合、デフォルト値の “N”
が設定されます。この属性は、Oracle Tuxedo 7.1 以降が動作するアプリケーションにのみ適用されます。
TA_ENCRYPTION_REQUIRED
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVICE
クラスの 4 つのレベルのどこでも指定できます。特定のレベルで TA_ENCRYPTION_REQUIRED
に "Y
" を設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
このクラスの属性の多くは、アプリケーションが非アクティブなときにしか調節できません。つまり、ATMI インタフェース ルーチンを使用してアプリケーションを管理することはできません。そのため、起動されていないアプリケーションをコンフィグレーションしたりコンフィグレーションし直したりするための手段として、tpadmcall()
という関数が用意されています。このインタフェースは、アプリケーションのマスタ サイトとして設定されたサイトのみで、非アクティブなアプリケーションのコンフィグレーション (SET
操作) のためだけに使用します。いったん初期のコンフィグレーションを作成してアクティブにすると、MIB(5)
で説明した標準の ATMI インタフェースを使用してアプリケーションを管理することが可能になります。
T_FACTORY
MIB クラスは、FactoryFinder に登録されているファクトリのオカレンスを表します。アプリケーションで使用可能なファクトリがこの MIB に反映され、管理者は Administration Console またはコマンドライン ツールを使用してそれを確認できます。スコープはグローバルです。
TA_STATE
GET
操作は、選択した T_FACTORY
オブジェクトのコンフィグレーション情報および実行時情報を取得します。
GET
要求への応答で返される TA_STATE
の意味を示します。
TA_FACTORY
TA_INTERFACENAME
T_GROUP
クラスは、特定のサーバ グループに関係のあるアプリケーション属性を表します。これらの属性値は、グループの識別、ロケーション、DTP に関する情報を表します。
注 1 TA_LMID
は、このクラス内でユニークである必要があります。
注 2 Oracle Tuxedo 8.0 以前のリリースの場合、この属性の文字列の長さは最大 78 バイトです。
TA_SRVGRP
: string
[1..30]
T_GROUP
クラスのすべてのグループ名、および T_MACHINE
クラスの TA_LMID
の値と重複しないユニークな名前である必要があります。また、サーバ グループ名にはアスタリスク (*)、カンマ (,)、コロン (:) は使用できません。
TA_GRPNO
: 1 <= num
< 30,000
TA_LMID
: ”
LMID1
[,LMID2
]”
LMID1
) と、セカンダリの論理マシンの識別子 (省略可能)(LMID2
)。セカンダリの LMID は、サーバ グループの移行先のマシンを示します (T_DOMAIN
:TA_OPTIONS
属性の MIGRATE
オプションが指定されている場合)。GET 操作で指定する LMID は、プライマリ、セカンダリのどちらかの LMID と一致します。アクティブなグループのロケーションは、TA_CURLMID
属性で使用できます。TA_LMID
属性で指定する論理マシン識別子はコンフィグレーション済みである必要があります。制限事項 : アクティブなオブジェクトでこの属性を変更しても、グループのバックアップ LMID しか変更されません。
TA_STATE
:
SET
操作は、選択した T_GROUP
オブジェクトのコンフィグレーション情報および実行時情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_CURLMID
: LMID
TA_ENVFILE
: string
[0..256] (Oracle Tuxedo 8.0 以前の場合は最大 78 バイト)
MASTER
上にないリモート サーバが tlisten(1) の環境を継承します。また、対応する T_GROUP
オブジェクトの情報に基づいてサーバが起動されると、TUXCONFIG
、TUXDIR
、および APPDIR
も環境に配置されます。
PATH
は環境内で次のように設定されます。APPDIR:TUXDIR/bin:/bin:/usr/bin:
path
path
は、マシンの環境ファイルの最初の PATH
= 行の値です。これ以降の PATH
= 行はすべて無視されます。この PATH
の値は、サーバの検索パスとして使用され、単純なパス名または相対パス名で指定されます。したがって、先頭はスラッシュではありません。
LD_LIBRARY_PATH
は環境内で次のように設定されます。APPDIR:TUXDIR/lib:/lib:/usr/lib:
lib
lib
は、マシンの環境ファイルの最初の LD_LIBRARY_PATH
= 行の値です。これ以降の LD_LIBRARY_PATH
= 行はすべて無視されます。
ENVFILE
ファイルの変数を読み取ってエクスポートします。変数がマシンとサーバの両方の ENVFILE
ファイルに設定されている場合は、サーバの ENVFILE
ファイルの値によってマシンの ENVFILE
ファイルの値がオーバーライドされます。ただし、PATH
はオーバーライドではなく追加されます。クライアントはマシンの ENVFILE
ファイルのみを処理します。マシンとサーバの ENVFILE
ファイルの処理では、ident
=
の形式でない行は無視されます。ident
に含めることができるのはアンダースコアまたは英数字のみです。
PATH
= 行が見つかると、PATH
が次のように設定されます。
APPDIR:TUXDIR/bin:/bin:/usr/bin:
path
path
は、マシンの環境ファイルの最初の PATH
= 行の値です。これ以降の PATH
= 行はすべて無視されます。マシンとサーバの両方の環境ファイルに PATH
が存在する場合、path
は path1:path2
となります。path1
はマシンの ENVFILE
から読み取ったパス、path2
はサーバの ENVFILE
から読み取ったパスです。LD_LIBRARY_PATH
= 行が見つかると、LD_LIBRARY_PATH
が次のように設定されます。
APPDIR:TUXDIR/lib:/lib:/usr/lib:
lib
lib
は、マシンの環境ファイルの最初の LD_LIBRARY_PATH
= 行の値です。これ以降の LD_LIBRARY_PATH
= 行はすべて無視されます。TUXDIR
、APPDIR
、または TUXCONFIG
をリセットしようとしても、対応する T_GROUP
属性値と値が一致していない場合には無視されて警告メッセージが表示されます。制限事項 : アクティブなオブジェクトでこの属性を変更しても、実行中のサーバやクライアントには反映されません。
TA_OPENINFO
: string
[0..256]
TA_TMSNAME
属性の値に TMS
以外の NULL でない文字列を指定した場合、TA_OPENINFO
属性の値は、リソース マネージャへのアクセスを開始する際に必要なリソース マネージャに依存する情報を提供します。それ以外の場合、TA_OPENINFO
属性の値は無視されます。
TA_OPENINFO
属性の値が NULL 文字列である場合、このグループのリソース マネージャがリソースへの open
アクセスにアプリケーション固有の情報を必要としないことを意味します。
TA_OPENINFO
文字列の形式は、基底のリソース マネージャのベンダごとに異なります。ベンダ固有の情報の先頭には、トランザクション インタフェース (XA インタフェース) の公開名とコロン (:
) が付きます。
OPENINFO
=
“TUXEDO/QM:
qmconfig
:
qspace
”
OPENINFO
=
“TUXEDO/QM:
qmconfig
;
qspace
”
TUXEDO/QM
は、Oracle Tuxedo /Q XA インタフェースの公開名です。qmconfig
は、キュー スペースを設定する QMCONFIG
(qmadmin(1) を参照) の名前です。qspace
はキュー スペースの名前です。Windows では、qmconfig
の後に指定する区切り文字として、セミコロン (;
) を使用します。
TA_OPENINFO
文字列の形式は、基底のリソース マネージャのベンダごとに異なります。
TA_CLOSEINFO
: string
[0..256]
TA_CLOSEINFO
文字列は使用しません。
TA_TMSNAME
属性の値に TMS
以外の NULL でない文字列を指定した場合、TA_CLOSEINFO
属性の値は、リソース マネージャへのアクセスを終了する際に必要なリソース マネージャに依存する情報を提供します。それ以外の場合、TA_CLOSEINFO
属性の値は無視されます。
TA_CLOSEINFO
属性の値が NULL 文字列である場合、このグループのリソース マネージャがリソースへの close
アクセスにアプリケーション固有の情報を必要としないことを意味します。
TA_CLOSEINFO
文字列の形式は、基底のリソース マネージャのベンダごとに異なります。ベンダ固有の情報の先頭には、トランザクション インタフェース (XA インタフェース) の公開名とコロン (:
) が付きます。
TA_TMSCOUNT
: 0 または 2 <= num
< 11
TA_TMSNAME
属性の値に NULL でない文字列を指定した場合、TA_TMSCOUNT
属性値は関連付けられたグループ用に起動するトランザクション マネージャ サーバの数を示します。それ以外の場合、この属性の値は無視されます。
TA_TMSNAME
: string
[0..256] (Oracle Tuxedo 8.0 以前は最大で 78 バイト)
a.out
。分散トランザクション (tpbegin()
で開始し、tpcommit()
/tpabort()
で終了する、複数のリソース マネージャやマシンの間で処理されるトランザクション) に参加するサーバを持つグループ エントリに対しては、この属性を必ず指定する必要があります。
TMS
は、非 XA インタフェースを使用することを示すために予約されています。TMS
以外の空でない値を指定した場合は、このオブジェクトのプライマリおよびセカンダリ論理マシンに関連付けられたマシンに対して TLOGDEVICE
を指定する必要があります。
TA_SEC_PRINCIPAL_NAME
: string
[0..511]
TA_SEC_PRINCIPAL_NAME
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVER
クラスの 4 つのレベルのどこでも指定できます。特定のコンフィグレーション レベルでのプリンシパル名は、下位レベルでオーバーライドできます。TA_SEC_PRINCIPAL_NAME
がどのレベルでも指定されていない場合、アプリケーションのプリンシパル名にはこのドメインの TA_DOMAINID
文字列がデフォルトで設定されます。
TA_SEC_PRINCIPAL_NAME
のほかにも、TA_SEC_PRINCIPAL_LOCATION
と TA_SEC_PRINCIPAL_PASSVAR
という属性があります。後の 2 つの属性は、アプリケーション起動時に、Oracle Tuxedo 7.1 以降で動作するシステム プロセスに対して復号化キーを開く処理に関係する属性です。特定のレベルで TA_SEC_PRINCIPAL_NAME
のみが指定されている場合には、それ以外の 2 つの属性に長さゼロの NULL
文字列が設定されます。
TA_SEC_PRINCIPAL_LOCATION
: string
[0..1023]
TA_SEC_PRINCIPAL_NAME
に指定したプリンシパルの復号化 (プライベート) キーを格納するファイルまたはデバイスのロケーション。この属性の最大文字数は、文字列の最後を表す NULL 文字列を除いて 1023 文字です。
TA_SEC_PRINCIPAL_LOCATION
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVER
クラスの 4 つのレベルのどこでも指定できます。この属性は、どのレベルで指定する場合でも TA_SEC_PRINCIPAL_NAME
属性と対になっている必要があり、それ以外の場合には無視されます。TA_SEC_PRINCIPAL_PASSVAR
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
TA_SEC_PRINCIPAL_PASSVAR
: string
[0..31]
TA_SEC_PRINCIPAL_PASSVAR
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVER
クラスの 4 つのレベルのどこでも指定できます。この属性は、どのレベルで指定する場合でも TA_SEC_PRINCIPAL_NAME
属性と対になっている必要があり、それ以外の場合には無視されます。TA_SEC_PRINCIPAL_LOCATION
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
TA_SEC_PRINCIPAL_PASSVAR
に設定した復号化キーの各パスワードを管理者が入力する必要があります。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
TA_SIGNATURE_REQUIRED
: ”
{Y
| N
}”
“Y”
に設定すると、このグループで実行するすべてのプロセスで、その入力メッセージ バッファのデジタル署名が必要となります。指定しない場合、デフォルト値の “N”
が設定されます。この属性は、Oracle Tuxedo 7.1 以降が動作するアプリケーションにのみ適用されます。
TA_SIGNATURE_REQUIRED
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVICE
クラスの 4 つのレベルのどこでも指定できます。特定のレベルで SIGNATURE_REQUIRED
に “Y”
を設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
TA_ENCRYPTION_REQUIRED
: ”
{Y
| N
}”
“Y”
に設定すると、このグループで実行するすべてのプロセスで暗号化された入力メッセージ バッファが必要となります。指定しない場合、デフォルト値の “N”
が設定されます。この属性は、Oracle Tuxedo 7.1 以降が動作するアプリケーションにのみ適用されます。
TA_ENCRYPTION_REQUIRED
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVICE
クラスの 4 つのレベルのどこでも指定できます。特定のレベルで TA_ENCRYPTION_REQUIRED
に "Y
" を設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
T_IFQUEUE
クラスは、CORBA 環境における特定のサーバ キュー (T_QUEUE
) に関係するクラスで、インタフェースの実行時属性を表します。基本的に読み取り専用で、インタフェースが継承するコンフィグレーション属性へのアクセスを提供するだけでなく、キュー内のインタフェースに関連する統計情報を提供します。また、管理者はこのクラスを使用して、インタフェースをきめ細かく中断したりアクティブにしたりできます。このクラスは、インタフェース名と、インタフェース上のメソッド呼び出しを処理できるサーバ プロセスとの間のリンクを提供します。つまり、TA_RQADDR
を T_SERVER
クラス上のキー検索フィールドとして使用することができます。
TA_INTERFACENAME:
string
[1..128]
TA_SRVGRP:
string
[0..30]
TA_RQADDR:
string
[1..30]
TA_STATE:
GET
操作は、選択した T_IFQUEUE
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
の意味を示します。これら以外の状態は返されません。
INActive
または INValid
から ACTive
への状態変更) はサポートされていません。また、非宣言 (ACTive
から INActive
への状態変更) もサポートされていません。
TA_AUTOTRAN:
”
{Y
| N
}”
T_INTERFACE
の説明を参照してください。
TA_LOAD:
1 <= num
<= 32K
T_INTERFACE
オブジェクトは、システムに対する負荷を設定します。インタフェースの負荷は、ロード バランシングのために使用します。つまり、すでに負荷が大きいキューは、新規の要求ではあまり選択されません。
TA_PRIO:
1 <= num
<= 101
TA_TIMEOUT:
0 <= num
TA_TRANTIME:
0 <= num
T_INTERFACE
オブジェクト用に自動的に開始されたトランザクションのトランザクション タイムアウト値 (単位は秒)。インタフェースの T_INTERFACE:TA_AUTOTRAN
属性値が Y である場合に、トランザクション モードでない要求を受信すると、トランザクションが自動的に開始されます。
TA_FBROUTINGNAME:
string
[1..15]
TA_LMID:
LMID
TA_NUMSERVERS:
0 <= num
TA_RTPOLICY: ”
{always
| never
|}”
implementation configuration
ファイル (ICF) でインタフェース実装を多重呼び出し不変として指定するために使用します。多重呼び出し不変実装は、負の副作用なしで繰り返すことができます。たとえば、SET BALANCE
などです。
TA_TPPOLICY:
”
{method
| transaction
| process
}”
T_INTERFACE
の値を設定します。この値は変更できません。
TA_TXPOLICY:
”
{optional
| always
| never
| ignore
}”
TA_AUTOTRAN
属性の効果に影響します。詳細については、TA_AUTOTRAN
を参照してください。この属性は常に読み取り専用です。この属性は、開発者がサーバの構築時に設定し、サーバの起動時に登録されます。
TA_NCOMPLETED:
0 <= num
TA_NQUEUED:
0 <= num
TA_CUROBJECTS:
0 <= num
TA_CURTRANSACTIONS:
0 <= num
T_INTERFACE
MIB クラスは、ドメインおよびサーバ グループの両方のレベルで CORBA インタフェースのコンフィグレーション属性と実行時属性を表します。
ドメイン レベルの T_INTERFACE
オブジェクトは、サーバ グループに関連付けられていないオブジェクトです。その TA_SRVGRP
属性には、NULL 文字列 (長さ 0 の文字列、"") が格納されます。
サーバ グループ レベルの T_INTERFACE
オブジェクトは、関連付けられたサーバ グループを持つオブジェクトです。つまり、その TA_SRVGRP
属性には、ドメインに対する有効なサーバ グループ名が格納されます。インタフェースのサーバ グループ レベル表現は、インタフェースの状態 (TA_STATE
) の管理や、蓄積された統計情報の収集に使用するコンテナも提供します。
サーバ内でアクティブ化されたすべての CORBA インタフェースに対して、対応するサーバ グループ レベルの T_INTERFACE
オブジェクトが存在する必要があります。サーバ内のインタフェースのアクティブ化は、このインタフェースの T_IFQUEUE
オブジェクトの状態によって制御されます。T_IFQUEUE
オブジェクトをアクティブ化すると、その属性が、対応するサーバ グループ レベルの T_INTERFACE
オブジェクトに指定された値によって初期化されます。このようなオブジェクトが存在しない場合は動的に作成されます。動的に作成されたサーバ グループ レベルの T_INTERFACE
オブジェクトは、インタフェースにドメイン レベルの T_INTERFACE
オブジェクトが存在する場合はその属性によって初期化されます。対応するドメイン レベルの T_INTERFACE
オブジェクトが存在しない場合は、システムが指定するデフォルトの設定値が適用されます。アクティブ化されたインタフェースには、常にサーバ グループ レベルの T_INTERFACE
オブジェクトが関連付けられます。
インタフェースに対する各レベルのコンフィグレーション属性の指定はすべて省略可能です。省略した場合は、システム定義のデフォルト値が設定され、実行時のサーバ グループ レベルの T_INTERFACE
オブジェクトが作成されます。サーバが提供するインタフェースは、サーバ スケルトンのアクティブ化に使用する ICF ファイルで識別され、サーバの起動時にシステムによって自動的に宣言されます。
|
TA_INTERFACENAME:
string
[1..128]
TA_SRVGRP:
string
[0..30]
TA_STATE:
T_INTERFACE
クラスの GET
値および SET TA_STATE
値の実行、指定方法です。グループおよびドメイン レベルのオブジェクト間で実行、指定方法が異なる場合は、その違いを説明しています。
GET
操作は、選択した T_INTERFACE
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
の意味を示します。これら以外の状態は返されません。
SET
操作は、選択した T_INTERFACE
オブジェクトのコンフィグレーション情報および実行時情報を更新します。ドメイン レベルの変更を行うと、複数のサーバ グループに影響することがあります。また、複数のサーバがインタフェースを提供している場合は、実行時の変更が複数のサーバに影響することがあります。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
INActive
または INValid
から ACTive
への状態変更) はサポートされていません。また、非宣言 (ACTive
から INActive
への状態変更) もサポートされていません。
TA_AUTOTRAN:
”
{Y
| N
}”
T_INTERFACE
オブジェクトには反映されず、UBBCONFIG
ファイル内のこの属性に指定した値が TA_TXPOLICY
によってオーバーライドされることがあります。TA_TXPOLICY
の値が、always、never、または ignore のときは、次のようになります。
TA_LOAD:
1 <= num
<= 32K
T_INTERFACE
オブジェクトは、システムに対する負荷を設定します。インタフェースの負荷は、ロード バランシングのために使用します。つまり、すでに負荷が大きいキューは、新規の要求ではあまり選択されません。
TA_PRIO:
1 <= num
<= 101
T_INTERFACE
オブジェクトは、指定された優先順位でキューから取り出されます。複数のインタフェース要求がサービス キューで待機している場合、優先順位の高い要求から処理されます。
TA_TIMEOUT:
0 <= num
TA_TRANTIME:
0 <= num
T_INTERFACE
オブジェクト用に自動的に開始されたトランザクションのトランザクション タイムアウト値 (単位は秒)。インタフェースの T_INTERFACE:TA_AUTOTRAN
属性値が Y
である場合に、トランザクション モードでない要求を受信すると、トランザクションが自動的に開始されます。
TA_FBROUTINGNAME:
string
[1..15]
FBROUTINGNAME
を使用して、メッセージベースのルーティングに他のルーティング基準を設定できるようにしておきます。このほうが、ROUTINGNAME
に負荷をかけるより簡単です。
T_INTERFACE
オブジェクトに対してのみ設定されます (したがって、TA_SRVGRP
は "")。
TA_LMID:
LMID
T_INTERFACE
オブジェクトが関連付けられている現在の論理マシン。ドメイン レベルのオブジェクトでは、ローカルなクエリが実行されない限り (つまり、TA_FLAGS
の MIB_LOCAL
ビットを設定しない限り)、この属性は空白 ("") になります。ローカルの場合、複数のドメイン レベルのオブジェクトが、各オブジェクトで示されているマシンから取得したローカル値と共に、同じインタフェース (マシンごとに 1 つ) に対して返されます。
TA_NUMSERVERS:
0 <= num
TA_RTPOLICY: ”
{always
| never
}”
implementation configuration
ファイル (ICF) でインタフェース実装を多重呼び出し不変として指定するために使用します。多重呼び出し不変実装は、負の副作用なしで繰り返すことができます。たとえば、SET BALANCE
などです。
TA_TPPOLICY:
”
{method
| transaction
| process
}”
T_INTERFACE
の値を設定します。この値は変更できません。
TA_TXPOLICY:
”
{optional
| always
| never
| ignore
}”
TA_AUTOTRAN
属性の効果に影響します。詳細については、TA_AUTOTRAN
を参照してください。この属性は常に読み取り専用です。この属性は、開発者がサーバの構築時に設定し、サーバの起動時に登録されます。
TA_NCOMPLETED:
0 <= num
T_IFQUEUE
オブジェクトが最初に提供されてから、これまでに完了したインタフェース メソッド呼び出しの数。ドメイン レベルのオブジェクトをローカルでクエリ (TA_FLAGS MIB_LOCAL
ビットを設定) すると、マシンごとに 1 つのオブジェクトが、そのマシンで指定されたインタフェースの統計情報と共に返されます。
TA_NQUEUED:
0 <= num
TA_FLAGS MIB_LOCAL
ビットを設定) すると、マシンごとに 1 つのオブジェクトが、そのマシンで指定されたインタフェースの統計情報と共に返されます。
T_INTERFACE
は、インタフェースから Oracle Tuxedo サービスへのマッピングです。MIB サーバは、対応する T_SERVICE
オブジェクトの既存のロジックを呼び出すことにより、インタフェースの get/set 操作の一部を実装できます。
T_MACHINE
クラスは、特定のマシンに関係のあるアプリケーション属性を表します。これらの属性の値は、マシンの特性、マシンごとのサイズ、統計値、カスタマイズ オプション、UNIX システムのファイル名などを表します。
注 1 TA_LMID
および TA_PMID
は、このクラス内でそれぞれユニークである必要があります。SET
操作では、これらのいずれか一方のフィールドのみを使用します。両方を指定する場合は、どちらも同じオブジェクトを指している必要があります。
注 2 デフォルト設定は、T_DOMAIN
クラスでこの属性に指定したのと同じ値になります。
注 3 デフォルト値は、このマシンの TA_APPDIR
の後ろに /ULOG
が続く文字列です。
注 4 リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。
注 5 Oracle Tuxedo 8.0 以前のリリースの場合、この属性の文字列の長さは最大 64 バイトです。
注 6 Oracle Tuxedo 8.0 以前のリリースの場合、この属性の文字列の長さは最大 78 バイトです。
TA_LMID
: string
[1..30]
TA_PMID
: string
[1..30]
TA_TUXCONFIG
: string
[2..256] (Oracle Tuxedo 8.0 以前の場合は最大 64 バイト)
TA_TUXCONFIG
属性値が示すファイルを 1 つのみ保持する必要があります。このファイルに格納される情報は、他の T_MACHINE
オブジェクトがアクティブな状態になると、それらのオブジェクトに自動的に伝播されます。環境内でのこの属性の使用方法については、後述の TA_ENVFILE
を参照してください。
TA_TUXDIR
: string
[2..256] (Oracle Tuxedo 8.0 以前の場合は最大 78 バイト)
TA_APPDIR
: string
[2..256] (Oracle Tuxedo 8.0 以前の場合は最大 78 バイト)
TA_ENVFILE
を参照してください。
TA_STATE
:
GET
操作は、選択した T_MACHINE
オブジェクトのコンフィグレーション情報および実行時情報を取得します。以下に示す状態は、GET
要求への応答で返される TA_STATE
の意味を示します。
SET
操作は、選択した T_MACHINE
オブジェクトのコンフィグレーション情報および実行時情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
ForceINactive
または INActive
への状態の変更は、マスタ マシン以外のマシンに対してのみ実行できます。マスタ サイトの管理プロセスは、T_DOMAIN
クラスを使用して非アクティブに変更します。
TA_UID
: 0 <= num
TA_GID
: 0 <= num
TA_ENVFILE
: string
[0..256] (Oracle Tuxedo 8.0 以前の場合は最大 78 バイト)
MASTER
上にないリモート サーバが tlisten(1) の環境を継承します。また、対応する T_MACHINE
オブジェクトの情報に基づいてサーバが起動されると、TUXCONFIG
、TUXDIR
、および APPDIR
も環境に配置されます。PATH
は環境内で次のように設定されます。APPDIR:TUXDIR/bin:/bin:/usr/bin:
path
path
は、マシンの環境ファイルの最初の PATH
= 行の値です。これ以降の PATH
= 行はすべて無視されます。この PATH
の値は、サーバの検索パスとして使用され、単純なパス名または相対パス名で指定されます。したがって、先頭はスラッシュではありません。LD_LIBRARY_PATH
は環境内で次のように設定されます。APPDIR:TUXDIR/lib:/lib:/usr/lib:
lib
lib
は、マシンの環境ファイルの最初の LD_LIBRARY_PATH
= 行の値です。これ以降の LD_LIBRARY_PATH
= 行はすべて無視されます。
tpsvrinit()
を呼び出す前) には、サーバがマシンとサーバの両方の ENVFILE
ファイルの変数を読み取ってエクスポートします。変数がマシンとサーバの両方の ENVFILE
ファイルに設定されている場合は、サーバの ENVFILE
ファイルの値によってマシンの ENVFILE
ファイルの値がオーバーライドされます。ただし、PATH
はオーバーライドではなく追加されます。クライアントはマシンの ENVFILE
ファイルのみを処理します。マシンとサーバの ENVFILE
ファイルの処理では、ident
=
の形式でない行は無視されます。ident
はアンダースコアまたは英字で始まり、アンダースコアまたは英数字のみを含めることができます。PATH
= 行が見つかると、PATH
が次のように設定されます。
APPDIR:TUXDIR/bin:/bin:/usr/bin:
path
path
は、マシンの環境ファイルの最初の PATH
= 行の値です。これ以降の PATH
= 行はすべて無視されます。マシンとサーバの両方の環境ファイルに PATH
が存在する場合、path
は path1:path2
となります。path1
はマシンの ENVFILE
から読み取ったパス、path2
はサーバの ENVFILE
から読み取ったパスです。LD_LIBRARY_PATH
= 行が見つかると、LD_LIBRARY_PATH
が次のように設定されます。
APPDIR:TUXDIR/lib:/lib:/usr/lib:
lib
lib
は、マシンの環境ファイルの最初の LD_LIBRARY_PATH
= 行の値です。これ以降の LD_LIBRARY_PATH
= 行はすべて無視されます。TUXDIR
、APPDIR
、または TUXCONFIG
をリセットしようとしても、対応する T_MACHINE
属性値と値が一致していない場合には無視されて警告メッセージが表示されます。制限事項 : アクティブなオブジェクトでこの属性を変更しても、実行中のサーバやクライアントには反映されません。
TA_PERM
: 0001 <= num
<= 0777
TA_ULOGPFX
: string
[0..256] (Oracle Tuxedo 8.0 以前の場合は最大 78 バイト)
userlog()
ファイルの絶対パス名の接頭辞。userlog()
ファイルの名前は、TA_ULOGPFX
属性値に文字列 .
mmddyy
を付加することにより作成されます。mmddyy
は、メッセージが生成された月、日、年を表します。このマシン上で実行しているクライアントやサーバが生成するアプリケーションやシステムの userlog()
メッセージは、すべてこのファイルに書き込まれます。
TA_TYPE
: string
[0..15]
TA_TYPE
属性を設定する必要があります。この属性のデフォルト値は長さゼロの文字列です。これは、TA_TYPE
属性値に長さゼロの文字列を持つすべてのマシンと一致します。
TA_MAXACCESSERS
: 1 <= num
< 32,768
restartsrv
、cleanupsrv
、tmshutdown()
、tmadmin()
などのシステム管理プロセスを含める必要はありません。ただし、DBBL、すべてのブリッジ プロセス、すべてのシステム提供サーバ プロセスとアプリケーション サーバ プロセス、およびこのサイトで使用する可能性があるクライアント プロセスはこの数に含めます。システム提供のサーバには、AUTHSVR
、TMQUEUE
、TMQFORWARD
、TMUSREVT
、TMSYSEVT
、TMS
(T_GROUP
TA_TMSNAME
属性を参照)、TMS_QM
、GWTDOMAIN
、WSL
などがあります。アプリケーションがこのサイトでワークステーション リスナ (WSL) を起動する場合は、起動する WSL と使用する可能性があるワークステーション ハンドラ (WSH) の両方をこの数に含める必要があります。
TA_MAXACCESSERS
属性と TA_MAXSERVERS
属性 (T_DOMAIN
:TA_MAXSERVERS
属性を参照) が使用されていました。つまり、アプリケーションで実行中の 1 台以上のマシンの TA_MAXACCESSERS
の数と、特定のマシンの TA_MAXACCESSERS
の数の合計が、TA_MAXSERVERS
の数とユーザ ライセンス数の合計より大きい場合、マシンを起動することはできませんでした。したがって、アプリケーションの TA_MAXACCESSERS
パラメータには、TA_MAXSERVERS
の数とユーザ ライセンス数の合計か、またはそれより小さい値を指定しなければなりませんでした。
TA_MAXCONV
: 0 <= num
< 32,768
T_DOMAIN
クラスで指定した TA_MAXCONV
の値がデフォルト値になります。1 つのサーバで、最大 64 個の会話を同時に行うことができます。
TA_MAXGTT
: 0 <= num
< 32,768
TA_MAXWSCLIENTS
: 0 <= num
< 32,768
TA_MAXWSCLIENTS
を指定しない場合は、デフォルトで 0 が設定されます。
TA_MAXACCESSERS
属性で指定したアクセサ スロットの総数の一部になります。つまり、TA_MAXWSCLIENTS
用に予約したアクセサ スロットは、このマシン上の別のクライアントおよびサーバでは使用できません。この値を TA_MAXACCESSERS
より大きな値に設定した場合はエラーになります。
TA_MAXWSCLIENTS
属性を使用するのは、Oracle Tuxedo システムの Workstation 機能を使用する場合のみです。ワークステーション クライアントからシステムへのアクセスは、Oracle Tuxedo システムに組み込まれている代理プロセス、つまりワークステーション ハンドラによって多重化されます。そのため、この属性を適切に設定すると、プロセス間通信 (IPC) リソースを節約できます。
TA_MAXACLCACHE
: 10 <= num
<= 32,000
TA_SECURITY
が ACL
または MANDATORY_ACL
に設定されている場合のキャッシュ内の ACL 用エントリ数。この属性を適切に設定すると、共有メモリ上のリソースを節約しながら、ACL をチェックするためのディスク アクセスの回数を減らすことができます。
TA_TLOGDEVICE
: string
[0..256] (Oracle Tuxedo 8.0 以前は最大で 64 バイト)
TA_TUXCONFIG
属性で指定したデバイスまたはファイルと同じでもかまいません。
TA_TLOGNAME
: string
[0..30]
TLOGDEVICE
に複数の DTP トランザクション ログがある場合、それぞれの名前はユニークでなければなりません。TA_TLOGNAME
は、DTP トランザクション ログ テーブルが作成される TA_TLOGDEVICE
上のどのテーブル名とも異なっている必要があります。
TA_TLOGSIZE
: 1 <= num
< 2,049
TA_TLOGSIZE
属性の値に対しては、TA_TLOGDEVICE
属性で指定した Oracle Tuxedo ファイル システムの空き容量に基づく制約が適用されます。
TA_BRIDGE
: string
[0..78]
TA_BRTHREADS
: ”
{Y
| N
}”
“Y”
) またはシングルスレッド実行 (“N”
) にコンフィグレーションします。デフォルト値は “N”
です。この属性は、Oracle Tuxedo 8.1 以降が動作するアプリケーションにのみ適用されます。
TA_BRTHREADS
を “Y”
に設定しても、CPU が複数あるマシンにしか影響しません。ただし、複数の CPU がなくても、TA_BRTHREADS
を “Y”
に設定することは可能です。
TA_BRTHREADS
を “Y”
に設定し、リモート マシンで TA_BRTHREADS
を “N”
(デフォルト) に設定することは可能ですが、マシン間のスループットがシングルスレッドのブリッジ プロセスより大きくなることはありません。
注意 : | BRTHREADS=Y に設定し、ブリッジ環境に TMNOTHREADS=Y が含まれている場合、ブリッジはスレッド モードで起動し、ブリッジが TMNOTHREADS の設定を無視したことを示す警告メッセージがログに記録されます。TMNOTHREADS 環境変数は、Oracle Tuxedo リリース 8.0 に追加されました。 |
TA_NADDR
: string
[0..256] (Oracle Tuxedo 8.0 以前は最大で 78 バイト)
T_DOMAIN
:TA_OPTIONS
属性で LAN
オプションを指定した場合は、この属性を設定する必要があります。
string
の形式が “0x
hex-digits
”
または “¥¥x
hex-digits
”
の場合、偶数の有効な 16 進数を含める必要があります。このような形式の文字列は、指定された文字列の 16 進数表現を含む文字配列に内部変換されます。表 54 は IPv4 と IPv6 のアドレス形式を示しています。
TA_NLSADDR
: string
[0..256] (Oracle Tuxedo 8.0 以前は最大で 78 バイト)
TA_NADDR
で指定した形式と同じ形式になります。
TA_FADDR
: string
[0..256] (Oracle Tuxedo 8.0 以前は最大で 78 バイト)
tmboot
、tmloadcf
、BRIDGE などのローカル プロセスが、アウトバウンド接続を確立する前にバインドできる完全なネットワーク アドレスを指定します。このアドレスには、TCP/IP アドレスを指定する必要があります。この属性および TA_FRANGE
属性は、TCP/IP ポート (プロセスがアウトバウンド接続を行う前にバインドするときのバインド先) の範囲を指定します。この属性が NULL または空文字列に設定されている場合、オペレーティング システムはバインド先のローカル ポートをランダムに選択します。
string
の形式が “0x
hex-digits
”
の場合、文字数が偶数の有効な 16 進数値を含める必要があります。このような形式の文字列は、指定された文字列の 16 進数表現を含む文字配列に内部変換されます。
TA_FRANGE:
1<= num
<= 65,535
TA_CMPLIMIT
: ”
remote
[,
local
]”
remote
と local
には、負の数でない数値、またはマシンに設定された最大の long 値に動的に変換される MAXLONG
という文字列を設定できます。remote
のみを設定した場合、local
はデフォルトで MAXLONG
になります。
T_MACHINE
オブジェクトの一部ではなくなります。ただし、サイトのリリースは実行時まで不明であるため、アクティブでないオブジェクトに対してはこの属性を設定してアクセスできます。Oracle Tuxedo リリース 4.2.2 以前を使用しているサイトがアクティブになると、設定された値は使用されなくなります。
TA_TMNETLOAD
: 0 <= num
< 32,768
T_MACHINE
オブジェクトの一部ではなくなります。ただし、サイトのリリースは実行時まで不明であるため、アクティブでないオブジェクトに対してはこの属性を設定してアクセスできます。Oracle Tuxedo リリース 4.2.2 以前を使用しているサイトがアクティブになると、設定された値は使用されなくなります。
TA_SPINCOUNT
: 0 <= num
UBBCONFIG
ファイルで値が設定されていない場合、システムは TMSPINCOUNT
環境変数を使用します。
T_MACHINE
オブジェクトの一部ではなくなります。ただし、サイトのリリースは実行時まで不明であるため、アクティブでないオブジェクトに対してはこの属性を設定してアクセスできます。Oracle Tuxedo リリース 4.2.2 以前を使用しているサイトがアクティブになると、設定された値は使用されなくなります。
TA_ROLE
: ”
{MASTER
| BACKUP
| OTHER
}”
“MASTER”
はこのマシンをマスタ マシンとして使用することを示し、“BACKUP”
はこのマシンをバックアップ用のマスタ マシンとして使用することを示します。“OTHER”
は、このマシンがマスタ マシンでもバックアップ用のマスタ マシンでもないことを示します。
TA_MINOR
: 1 <= num
TA_RELEASE
: 1 <= num
TA_MINENCRYPTBITS
: ”
{0
| 40
| 56
| 128
}”
0
は暗号化が行われないことを示し、40
、56
、および 128
は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルト値は 0
です。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。 |
TA_MAXENCRYPTBITS
: ”
{0
| 40
| 56
| 128
}”
0
は暗号化が行われないことを示し、40
、56
、および 128
は暗号化キーの長さをビット単位で指定します。デフォルト値は 128
です。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。 |
TA_MAXPENDINGBYTES
: 100000 <= num
<= MAXLONG
TA_SICACHEENTRIESMAX
: “0"-"32767”
TA_SEC_PRINCIPAL_NAME
: string
[0..511]
TA_SEC_PRINCIPAL_NAME
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVER
クラスの 4 つのレベルのどこでも指定できます。特定のコンフィグレーション レベルでのプリンシパル名は、下位レベルでオーバーライドできます。TA_SEC_PRINCIPAL_NAME
がどのレベルでも指定されていない場合、アプリケーションのプリンシパル名にはこのドメインの TA_DOMAINID
文字列がデフォルトで設定されます。
TA_SEC_PRINCIPAL_NAME
のほかにも、TA_SEC_PRINCIPAL_LOCATION
と TA_SEC_PRINCIPAL_PASSVAR
という属性があります。後の 2 つの属性は、アプリケーション起動時に、Oracle Tuxedo 7.1 以降で動作するシステム プロセスに対して復号化キーを開く処理に関係する属性です。特定のレベルで TA_SEC_PRINCIPAL_NAME
のみが指定されている場合には、それ以外の 2 つの属性に長さゼロの NULL
文字列が設定されます。
TA_SEC_PRINCIPAL_LOCATION
: string
[0..1023]
TA_SEC_PRINCIPAL_NAME
に指定したプリンシパルの復号化 (プライベート) キーを格納するファイルまたはデバイスのロケーション。この属性の最大文字数は、文字列の最後を表す NULL 文字列を除いて 1023 文字です。
TA_SEC_PRINCIPAL_LOCATION
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVER
クラスの 4 つのレベルのどこでも指定できます。この属性は、どのレベルで指定する場合でも TA_SEC_PRINCIPAL_NAME
属性と対になっている必要があり、それ以外の場合には無視されます。TA_SEC_PRINCIPAL_PASSVAR
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
TA_SEC_PRINCIPAL_PASSVAR
: string
[0..31]
TA_SEC_PRINCIPAL_PASSVAR
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVER
クラスの 4 つのレベルのどこでも指定できます。この属性は、どのレベルで指定する場合でも TA_SEC_PRINCIPAL_NAME
属性と対になっている必要があり、それ以外の場合には無視されます。TA_SEC_PRINCIPAL_LOCATION
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
TA_SEC_PRINCIPAL_PASSVAR
に設定した復号化キーの各パスワードを管理者が入力する必要があります。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
TA_SIGNATURE_REQUIRED
: ”
{Y
| N
}”
“Y”
に設定すると、このマシンで実行するすべてのプロセスで、その入力メッセージ バッファのデジタル署名が必要となります。指定しない場合、デフォルト値の “N”
が設定されます。この属性は、Oracle Tuxedo 7.1 以降が動作するアプリケーションにのみ適用されます。
TA_SIGNATURE_REQUIRED
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVICE
クラスの 4 つのレベルのどこでも指定できます。特定のレベルで SIGNATURE_REQUIRED
に Y
を設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
TA_ENCRYPTION_REQUIRED
: ”
{Y
| N
}”
“Y”
に設定すると、このマシンで実行するすべてのプロセスで暗号化された入力メッセージ バッファが必要となります。指定しない場合、デフォルト値の “N”
が設定されます。この属性は、Oracle Tuxedo 7.1 以降が動作するアプリケーションにのみ適用されます。
TA_ENCRYPTION_REQUIRED
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVICE
クラスの 4 つのレベルのどこでも指定できます。特定のレベルで TA_ENCRYPTION_REQUIRED
に "Y
" を設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
TA_CURACCESSERS
: 0 <= num
< 32,768
TA_CURCLIENTS
: 0 <= num
< 32,768
TA_CURCONV
: 0 <= num
< 32,768
TA_CURGTT
: 0 <= num
< 32,768
TA_CURRLOAD
: 0 <= num
T_DOMAIN
:TA_LDBAL
属性が “N”
に設定されているか、T_DOMAIN
:TA_MODEL
属性が "MP
" に設定されている場合、FML32 NULL
値が返されます (0)。
TA_CURWSCLIENTS
: 0 <= num
< 32,768
TA_HWACCESSERS
: 0 <= num
< 32,768
TA_HWCLIENTS
: 0 <= num
< 32,768
TA_HWCONV
: 0 <= num
< 32,768
TA_HWGTT
: 0 <= num
< 32,768
TA_HWWSCLIENTS
: 0 <= num
< 32,768
TA_NUMCONV
: 0 <= num
TA_NUMDEQUEUE
: 0 <= num
TA_NUMENQUEUE
: 0 <= num
TA_NUMPOST
: 0 <= num
TA_NUMREQ
: 0 <= num
TA_NUMSUBSCRIBE
: 0 <= num
TA_NUMTRAN
: 0 <= num
TA_NUMTRANABT
: 0 <= num
TA_NUMTRANCMT
: 0 <= num
TA_PAGESIZE
: 1 <= num
TA_SWRELEASE
: string
[0..78]
TA_HWACLCACHE
: 0 <= num
TA_ACLCACHEHITS
: 0 <= num
TA_ACLCACHEACCESS
: 0 <= num
TA_ACLFAIL
: 0 <= num
TA_WKCOMPLETED
: 0 <= num
TA_WKINITIATED
: 0 <= num
SHM
モード (T_DOMAIN
:TA_MODEL
属性を参照) のアプリケーションは、T_MACHINE
オブジェクトを 1 つしか持つことができません。LAN
オプション (T_DOMAIN
:TA_MODEL
属性を参照) を設定した MP
モード (T_DOMAIN
:TA_OPTIONS
属性を参照) のアプリケーションは、T_DOMAIN
:TA_MAXMACHINES
属性で定義された T_MACHINE
オブジェクトをコンフィグレーション可能な最大数まで持つことができます。このクラスの属性の多くは、アプリケーションがサイト上で非アクティブなときにしか調節できません。最低限アクティブなアプリケーションにおいても、少なくともマスタ マシンはアクティブでなければならないため、マスタ マシン オブジェクトについては、ATMI インタフェース ルーチンをアプリケーションの管理に使用することはできません。そのため、起動されていないアプリケーションをコンフィグレーションするための手段として tpadmcall()
という関数が用意されています。この関数を使用すると、マスタ マシンのこれらの属性を設定できます。
T_MSG
クラスは、Oracle Tuxedo システムが管理する UNIX システム メッセージ キューの実行時属性を表します。
注 1 T_MSG
クラスのすべての属性はローカル属性です。
TA_LMID
: LMID
TA_MSGID
: 1 <= num
TA_STATE
:
TA_CURTIME
: 1 <= num
T_BRIDGE
:T_MSG
で time(2) システム呼び出しから返される 1970 年 1 月 1 日の 00:00:00 UTC から現在までの時間 (単位は秒)。この属性は、T_MSG
:TA_?TIME
属性値からの経過時間を算出するために使用できます。
TA_MSG_CBYTES
: 1 <= num
TA_MSG_CTIME
: 1 <= num
TA_MSG_LRPID
: 1 <= num
TA_MSG_LSPID
: 1 <= num
TA_MSG_QBYTES
: 1 <= num
TA_MSG_QNUM
: 1 <= num
TA_MSG_RTIME
: 1 <= num
TA_MSG_STIME
: 1 <= num
このクラスは UNIX システムに固有のクラスであり、UNIX を実装していない Oracle Tuxedo システムではサポートされません。
T_NETGROUP
クラスは、ネットワーク グループのアプリケーション属性を表します。ネットワーク グループは LMID のグループで、T_NETMAP
クラスに定義された TA_NADDR
ネットワーク アドレスで通信できます。
TA_NETGROUP
: string
[1..30]
TA_NETGRPNO
: 1 <= num
<= 8192
TA_STATE
:
SET
操作は、選択した T_NETGROUP
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_NETPRIO
: 1 <= num
< 8,192
NETGRPNO
) で優先付けされます。今後のリリースでは、並列のデータ回線の優先順位を別のアルゴリズムを使用して決めることができます。
T_NETMAP
クラスは、TM_MIB
の T_MACHINE
クラスからの TA_LMID
を、T_NETGROUP
クラスからの TA_NETGROUP
オブジェクトに関連付けます。つまり、このクラスには論理マシンのネットワーク グループへの割り当てが格納されます。TA_LMID
は、複数の TA_NETGROUP
グループに含めることができます。ある LMID が別の LMID に接続している場合、ブリッジ プロセスは 2 つの LMID が属すネットワーク グループのサブセットを決定します。一対の LMID がいくつかの共通したグループに存在する場合、それらの LMID は TA_NETPRIO
の降順にソートされます (TA_NETGRPNO
は二次キー)。TA_NETPRIO
が同じネットワーク グループは、ネットワーク データを並列で送信します。ネットワークのエラーにより、最も優先順位の高いグループを使用してデータが送信できない場合は、次に優先順位の高いネットワーク グループを使用します。これをフェイルオーバと呼びます。データを送信しているネットワーク グループよりも優先順位の高いすべてのネットワーク グループが定期的に試行されます。TA_NETPRIO
値のより高いネットワーク接続が確立すると、優先順位の低い接続へのデータ送信はスケジューリングされなくなります。優先順位の低い接続は、必要がなくなると順番に切断されます。これをフェイルバックと呼びます。
注 1 Oracle Tuxedo 8.0 以前のリリースの場合、この属性の文字列の長さは最大 78 バイトです。
注 2 リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。
TA_NETGROUP
: string
[1..30]
TA_LMID
: LMID
TA_STATE
:
SET
操作は、選択した T_NETMAP
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_NADDR
: string
[1..256] (Oracle Tuxedo 8.0 以前は最大で 78 バイト)
T_DOMAIN:TA_OPTIONS
属性値で LAN
オプションが設定されているときには必ず設定します。
string
の形式が “0x
hex-digits
”
の場合、文字数が偶数の有効な 16 進数値を含める必要があります。このような形式の文字列は、指定された文字列の 16 進数表現を含む文字配列に内部変換されます。
TA_FADDR
: string
[0..256] (Oracle Tuxedo 8.0 以前は最大で 78 バイト)
tmboot
、tmloadcf
、BRIDGE などのローカル プロセスが、アウトバウンド接続を確立する前にバインドできる完全なネットワーク アドレスを指定します。このアドレスには、TCP/IP アドレスを指定する必要があります。この属性および TA_FRANGE
属性は、TCP/IP ポート (プロセスがアウトバウンド接続を行う前にバインドするときのバインド先) の範囲を指定します。この属性が NULL または空文字列に設定されている場合、オペレーティング システムはバインド先のローカル ポートをランダムに選択します。
string
の形式が “0x
hex-digits
”
の場合、文字数が偶数の有効な 16 進数値を含める必要があります。このような形式の文字列は、指定された文字列の 16 進数表現を含む文字配列に内部変換されます。
TA_FRANGE:
1<= num
<= 65,535
TA_MINENCRYPTBITS
: ”
{0
| 40
| 56
| 128
}”
0
は暗号化が行われないことを示し、40
、56
、および 128
は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルト値は 0
です。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。 |
TA_MAXENCRYPTBITS
: ”
{0
| 40
| 56
| 128
}”
0
は暗号化が行われないことを示し、40
、56
、および 128
は暗号化キーの長さをビット単位で指定します。デフォルト値は 128
です。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。 |
TA_MAXENCRYPTBITS
のデフォルト値は 128
になります。56 ビット暗号化の使用が許可されている場合には、デフォルト値は 56
になります。暗号化の使用が許可されていない場合には、デフォルト値は 0
ビットになります。ブリッジ プロセスは接続の際、共通の最も高い TA_MAXENCRYPTBITS
に調整されます。
T_QUEUE
クラスは、アプリケーション内のキューの実行時属性を表します。これらの属性の値によって、実行中のアプリケーションでサーバに割り当てられた Oracle Tuxedo システムの要求キューを識別できます。また、それぞれのキュー オブジェクトに関連付けられたアプリケーションの作業負荷に関する統計値も記録できます。
複数のマシンが存在するアプリケーションで MIB_LOCAL
フラグを使用して GET
操作を実行する場合は、アクティブな各キューに対して複数のオブジェクト (ローカル属性を収集する論理マシンごとに 1 つずつ) が返されます。
注 1 Oracle Tuxedo 8.0 以前のリリースの場合、この属性の文字列の長さは最大 78 バイトです。
TA_RQADDR
: string
[1..30]
T_SERVER
:TA_RQADDR
属性の値を持つサーバは、複数サーバ単一キュー (MSSQ) セットにまとめられます。T_QUEUE
オブジェクトで返される属性値は、このシンボリックなキュー アドレスに関連付けられたすべてのアクティブなサーバに適用されます。
TA_SERVERNAME
: string
[1..78]
T_QUEUE
:TA_LMID
属性が示すマシンで、TA_SERVERNAME
が示すサーバを実行していることを示します。この属性を GET
操作でキー フィールドとして指定した場合は、関連パス名を指定することができ、すべての適切な絶対パスが一致します。
TA_STATE
:
GET
操作は、選択した T_QUEUE
オブジェクトの実行時情報を検索します。T_QUEUE
クラスは、コンフィグレーション情報を直接示すわけではありません。ここで説明したコンフィグレーション関連の属性は、関連のある T_SERVER
オブジェクトの一部として設定する必要があります。以下に示す状態は、GET
要求への応答で返される TA_STATE
の意味を示します。
SET
操作は、選択した T_QUEUE
オブジェクトの実行時情報を更新します。状態の変更は、T_QUEUE
オブジェクトの情報の更新時にのみ可能です。既存の T_QUEUE
オブジェクトの変更は、オブジェクトが ACTive
状態にある場合にのみ可能です。
TA_GRACE
: 0 <= num
T_QUEUE
:TA_MAXGEN
の制限が適用される期間を示します (単位は秒)。この属性は、再起動が可能なサーバに対してのみ (T_QUEUE
:TA_RESTART
属性が "Y
" にセットされている場合にのみ) 有効です。この属性を 0 に設定すると、サーバはいつでも再起動できます。
TA_MAXGEN
: 1 <= num
< 256
T_QUEUE
:TA_GRACE
) において、このキューに関連付けられた再起動可能なサーバ (T_QUEUE
:TA_RESTART == "Y”
) に許可された最大の世代数。各サーバを最初にアクティブにする動作を 1 つの世代としてカウントし、その後の再起動もそれぞれ 1 つの世代としてカウントします。
TA_RCMD
: string
[0..256] (Oracle Tuxedo 8.0 以前の場合は最大 78 バイト)
TA_RESTART
: ”
{Y
| N
}”
TA_CONV
: ”
{Y
| N
}”
TA_LMID
: LMID
TA_RQID
: 1 <= num
TA_SERVERCNT
: 1 <= num
< 8,192
TA_TOTNQUEUED
: 0 <= num
T_DOMAIN
:TA_LDBAL
属性が "N
" に設定されている場合、および T_DOMAIN
:TA_MODEL
属性が "MP
" の場合、TA_TOTNQUEUED
は返されません。また、同様のコンフィグレーションでは、この属性に対する更新は無視されます。したがって、この属性が返される場合には、TA_LMID
と TA_SOURCE
が同じ値になります。
TA_TOTWKQUEUED
: 0 <= num
T_DOMAIN
:TA_LDBAL
属性が "N
" に設定されている場合、および T_DOMAIN
:TA_MODEL
属性が "MP
" の場合、TA_TOTWKQUEUED
は返されません。また、同様のコンフィグレーションでは、この属性に対する更新は無視されます。したがって、この属性が返される場合には、TA_LMID
と TA_SOURCE
が同じ値になります。
TA_SOURCE
: LMID
TA_NQUEUED
: 0 <= num
T_DOMAIN
:TA_LDBAL
属性が "N
" に設定されている場合、および T_DOMAIN
:TA_MODEL
属性が "MP
" の場合、TA_NQUEUED
は返されません。したがって、この属性が返される場合には、TA_LMID
と TA_SOURCE
が同じ値になります。
TA_WKQUEUED
: 0 <= num
TA_SOURCE
の論理マシンから現在このキューに登録されている負荷。T_DOMAIN
:TA_MODEL
属性が SHM
に設定されており、T_DOMAIN
:TA_LDBAL
属性が "Y
" に設定されている場合、TA_WKQUEUED
属性はアプリケーション全体を通じてこのキューに登録されている負荷を示します。ただし、TA_MODEL
が MP
に設定されており、TA_LDBAL
が"Y
" にセットされている場合は、最近のタイムスパンにおいて TA_SOURCE
の論理マシンからこのキューに登録された負荷を示します。この属性は、ロード バランシングのために使用します。そのため、新たに起動したサーバが排除されないよう、BBL
が各マシンのこの属性値を定期的にゼロにリセットします。
T_ROUTING
クラスは、アプリケーションに対するルーティング指定のコンフィグレーション属性を表します。これらの属性値によって、フィールド名、バッファ タイプ、およびルーティングの定義に関して、アプリケーション データに依存するルーティング基準を識別できます。
注 1 TA_BUFTYPE
は、ATMI のデータ依存型ルーティング基準にのみ適用されます。TA_FIELDTYPE
は、CORBA のファクトリベース ルーティング基準にのみ適用されます。u
(ユニーク性) パーミッションは、該当する場合にのみ適用されます。つまり、TA_ROUTINGNAME
、TA_TYPE
、および TA_BUFTYPE
の組み合わせは、TA_TYPE=SERVICE
でユニークである必要があります。また、TA_ROUTINGNAME
、TA_TYPE
、および TA_FIELD
の組み合わせは、TA_TYPE=FACTORY
でユニークである必要があります。
TA_TYPE
属性は、TA_ROUTING
オブジェクトに許可する属性を決定します。TYPE=SERVICE
は、ATMI のデータ依存型ルーティング基準に対応します。TYPE=FACTORY
は、CORBA のファクトリベース ルーティングに対応します。デフォルト値は SERVICE
です。TA_TYPE
が指定されていない場合、SET
操作はデータ依存型ルーティングに対する操作と見なされます。TA_FIELDTYPE
を指定しても、データ依存型ルーティングに対しては無効です。TA_BUFTYPE
を指定しても、ファクトリベース ルーティングに対しては無効です。
TA_ROUTINGNAME
: string
[1..15]
TA_ROUTINGTYPE:
type
TYPE=SERVICE
で、ATMI 環境で使用される既存の UBBCONFIG
ファイルが引き続き正常に動作することを保証します。CORBA インタフェース用にファクトリベース ルーティングを実装する場合は、TYPE=FACTORY
を使用します。
TA_BUFTYPE:
”
type1
[:subtype1
[,subtype2
.. . ]][;type2
[:subtype3
[,. . .]]]
. . . ”
FML
、FML32
、XML
、VIEW
、VIEW32
、X_C_TYPE
、および X_COMMON
に制限されています。FML
、FML32
、または XML
に対してはサブタイプを指定できず、VIEW
、VIEW32
、X_C_TYPE
、および X_COMMON
ではサブタイプを指定する必要があります ("*" は使用できません)。サブタイプの名前には、セミコロン (;)、コロン (:)、カンマ (,)、アスタリスク (*) は使用できません。タイプとサブタイプのペアのうち、重複するものは同じルーティング基準名として指定できません。タイプとサブタイプのペアがユニークな場合、複数のルーティング エントリは同じ基準名を持つことができます。単一のルーティング エントリに複数のバッファ タイプが指定される場合、各バッファ タイプに対するルーティング フィールドのデータ型は同じでなければなりません。
TA_FIELD
: string
[1..30]
TA_TYPE
=FACTORY
である場合、このファクトリ ルーティング基準に関連付けられているインタフェースの PortableServer::POA::create _reference_with_criteria に対する NVList
パラメータで指定されたフィールドと見なされます。詳細については、ファクトリベース ルーティングに関するセクションを参照してください。
TA_TYPE=SERVICE
の場合、TA_FIELD
フィールドは、FML バッファまたは FML32 バッファ、XML バッファ、FML フィールド テーブル (環境変数の FLDTBLDIR
と FIELDTBLS
、または FLDTBLDIR32
と FIELDTBLS32
を使用) で識別されるビュー フィールド名 (文字の長さは 254)、または FML ビュー テーブル (環境変数の VIEWDIR
と VIEWFILES
、または VIEWDIR32
と VIEWFILES32
を使用) と見なされます。この情報は、メッセージの送信時に、データ依存型ルーティングに関連するフィールド値を取得するために使用されます。
XML
バッファ タイプの場合、TA_FIELD
には、ルーティング要素のタイプ (または名前) か、ルーティング要素の属性名のいずれかが含まれます。
XML
バッファ タイプの場合、TA_FIELD
属性の構文は次のとおりです。“root_element
[/child_element
][/child_element
][/.. .][/@attribute_name
]"
XML
バッファを処理する際に、与えられた要素タイプの最初のオカレンスだけを認識します。この情報は、メッセージの送信時に、データ依存型ルーティングに関連する要素の内容を取得するために使用されます。内容は UTF-8 でエンコードされた文字列である必要があります。
TA_FIELDTYPE
属性で指定できます。
TA_FIELDTYPE
: ”
{char
| short
| long
| float
| double
| string
}”
TA_FIELD
属性で指定したルーティング フィールドの型。フィールドの型には、char
、short
、long
、float
、double
、または string
を指定できますが、指定できる型は 1 つのみです。この属性は、XML バッファをルーティングする場合にのみ使用されます。ルーティング フィールドのデフォルトのデータ型は string
です。
TA_FIELDTYPE
(ファクトリベース ルーティングのみ)
TA_TYPE=FACTORY
の場合にのみ有効です。指定可能な型は、SHORT
、LONG
、FLOAT
、DOUBLE
、CHAR
、STRING
です。この属性の指定は、ファクトリベース ルーティング基準に対してのみ有効です。
TA_RANGES
: carray
[1..2048]
string
の形式は、カンマで区切って並べられた範囲とグループ名の組み合わせです。範囲とグループ名の組み合わせの形式は次のとおりです。
lower[-upper]:group
lower
と upper
は、符号を持つ数値、または一重引用符で囲んだ文字列です。lower
には、upper
以下の値を設定する必要があります。文字列値で一重引用符を使用する場合は、引用符の前に円マークを 2 つ入力します (例 : 'O¥¥'Brien'
)。マシン上の関連するフィールドのデータ型の最小値を示すには、MIN
を使用します。マシン上の関連するフィールドのデータ型の最大値を示すには、MAX
を使用します。したがって、“MIN - -5 ”
は -5 以下のすべての数を表し、“6-MAX”
は 6 以上のすべての数を表します。
*
" (ワイルドカード) は、すでにエントリとして指定した範囲では使用されなかった任意の値を示します。各エントリでは、1 つのワイルドカードによる範囲指定のみ可能です。1 つのエントリで使用できるワイルドカード範囲は 1 つのみで、最後になければなりません (その後の範囲は無視されます)。
atof(3)
で使用できる浮動小数点数は、まず任意の符号、次に数字列 (小数点が入ってもよい)、任意の e
または E
、任意の符号またはスペース、最後に整数という形式を取ります。
*
" は、サーバが必要なサービスを提供するグループであればどのグループにでも要求をルーティングできることを示します。
TA_STATE
:
GET
操作は、選択した T_ROUTING
オブジェクトのコンフィグレーション情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
の意味を示します。これら以外の状態は返されません。
SET
操作は、選択した T_ROUTING
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_TYPE
FACTORY
" または "SERVICE
" です。"FACTORY
" を指定すると、ルーティング基準は CORBA インタフェース用のファクトリベース ルーティングに適用されます。ファクトリベース ルーティング基準では、必ず TYPE=FACTORY
を指定する必要があります。"SERVICE
" を指定すると、ルーティング基準は ATMI サービス用のデータ依存型ルーティングに適用されます。デフォルト値は "SERVICE
" です。したがって、データ依存型ルーティングを使用する場合はこの属性の指定を省略できます。ここで指定するルーティング基準のタイプは、この MIB クラスに対して定義される他のフィールドの値に影響します。これらのフィールドで指定できる値については個別に説明します。ファクトリベース ルーティング基準に対する SET
操作では、TA_TYPE
の指定が必須です。
T_SERVER
クラスは、アプリケーション内のサーバのコンフィグレーション属性と実行時属性を表します。これらの属性値によって、コンフィグレーション済みのサーバを識別したり、各サーバ オブジェクトに関連する統計値やリソースを実行時に追跡したりできます。返される情報には、サーバのすべてのコンテキストで共通のフィールドが常に含まれています。また、システムにマルチコンテキストとして定義されていないサーバ (TA_MAXDISPATCHTHREADS
の値が 1) の場合は、このクラスにサーバのコンテキストに関する情報が含まれます。システムにマルチコンテキストとして定義されているサーバの場合は、プレースホルダの値がコンテキストごとの属性に対して通知されます。コンテキストごとの属性は、常に T_SERVERCTXT
クラスにあります。T_SERVERCTXT
クラスは、シングルコンテキストのサーバに対しても定義されます。
TA_CLTLMID
、TA_CLTPID
、TA_CLTREPLY
、TA_CMTRET
、TA_CURCONV
、TA_CURREQ
、TA_CURRSERVICE
、TA_LASTGRP
、TA_SVCTIMEOUT
、TA_TIMELEFT
、および TA_TRANLEV
の各属性は、サーバ ディスパッチ コンテキストごとに固有な属性です。これら以外の属性は、すべてのサーバ ディスパッチ コンテキストで共通です。
注 1 デフォルト設定は、T_DOMAIN
クラスでこの属性に指定したのと同じ値になります。
注 2 Oracle Tuxedo 8.0 以前のリリースの場合、この属性の文字列の長さは最大 78 バイトです。
TA_SRVGRP
: string
[1..30]
TA_SRVID
: 1 <= num
< 30,001
TA_SERVERNAME
: string
[1..78]
TA_SERVERNAME
によって識別されるサーバは、このサーバのサーバ グループの T_GROUP
:TA_LMID
によって識別されるマシン上で実行されます。相対パス名を指定すると、実行ファイルの検索が、最初 TA_APPDIR
で実行されてから、TA_TUXDIR/bin
、/bin
、/usr/bin
、path
の順番で実行されます。なお、path
はマシン環境ファイルで最初に現れる PATH=
行の値です。アクティブなサーバに返される属性値は、常に絶対パス名になることに注意してください。TA_APPDIR
と TA_TUXDIR
の値は、適切な T_MACHINE
オブジェクトから取得します。環境変数の処理方法については、T_MACHINE
:TA_ENVFILE
属性の項を参照してください。
TA_GRPNO
: 1 <= num
< 30,000
TA_STATE
:
GET
: ”
{ACTive
| INActive
| MIGrating
| CLEaning
| REStarting
| SUSpended
| EXIting | PARtitioned
| DEAd
}”
SET
操作は、選択した T_SERVER
オブジェクトのコンフィグレーション情報および実行時情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
MIB(5) の TA_MIBTIMEOUT を参照) 後もまだサーバが動作している場合に、サーバに SIGTERM シグナルと SIGKILL シグナルを送信して T_SERVER オブジェクトを非アクティブ化します。デフォルトでは、SIGTERM シグナルによってサーバの順序立てた停止が開始され、サーバは再起動可能であっても非アクティブになります。サーバが 1 つのサービスを長時間にわたって処理している場合、または SIGTERM シグナルが無効になっている場合は、SIGKILL が使用され、システムはそれを異常終了として処理します。状態の変更は、ACTive 状態または SUSpended 状態でのみ可能です。正常に終了すると、オブジェクトの状態は INActive 、CLEaning 、または REStarting になります。
|
TA_BASESRVID
: 1 <= num
< 30,001
TA_MAX
属性値が 1 のサーバの場合、この属性は常に TA_SRVID
と同じになります。一方、TA_MAX
値が 1 より大きいサーバの場合、この属性は同一の環境設定を持つサーバの集まりが同一のベース サーバ識別子であることを示します。
TA_CLOPT
: string
[0..1024]
servopts(5)
のリファレンス ページを参照してください。制限事項 : この属性を実行時に変更しても、実行中のサーバには反映されません。
TA_ENVFILE
: string
[0..256] (Oracle Tuxedo 8.0 以前の場合は最大 78 バイト)
T_MACHINE
:TA_ENVFILE
を参照してください。制限事項 : この属性を実行時に変更しても、実行中のサーバには反映されません。
TA_GRACE
: 0 <= num
T_SERVER
:TA_MAXGEN
の制限が適用される期間を示します (単位は秒)。この属性は、再起動が可能なサーバに対してのみ (T_SERVER
:TA_RESTART
属性が "Y
" にセットされている場合にのみ) 有効です。再起動しているサーバが TA_MAXGEN
制限値を超えても、TA_GRACE
の期限が切れている場合は、システムは現在の世代 (T_SERVER
:TA_GENERATION
) を 1 にリセットし、初期起動時間 (T_SERVER
:TA_TIMESTART
) を現在の時刻にリセットします。この属性を 0 に設定すると、サーバはいつでも再起動できます。
T_SERVER
:TA_RQADDR
の値が同一のサーバ) は、この属性も同じ値に設定する必要があります。この属性値が異なる場合、キュー上のすべてのサーバに関連付けられる実行時値が、最初にアクティブにしたサーバによって確立されます。
TA_MAXGEN
: 1 <= num
< 256
T_SERVER
:TA_GRACE
) において、再起動可能なサーバ (T_SERVER
:TA_RESTART == "Y”
) に許可された最大の世代数。サーバを最初にアクティブにする動作を 1 つの世代としてカウントし、その後の再起動もそれぞれ 1 つの世代としてカウントします。最大世代数を超えた後の処理については、前述の TA_GRACE
に関する説明を参照してください。
T_SERVER
:TA_RQADDR
の値が同一のサーバ) は、この属性も同じ値に設定する必要があります。この属性値が異なる場合、キュー上のすべてのサーバに関連付けられる実行時値が、最初にアクティブにしたサーバによって確立されます。
TA_MAX
: 1 <= num
< 1,001
tmboot()
がサーバの T_SERVER
:TA_MIN
オブジェクトを起動します。その他のオブジェクトは、特定サーバ ID を起動して個別に起動するか、自動生成によって起動します (会話型サーバの場合のみ)。この属性を実行時に変更すると、同一のコンフィグレーションを持つサーバのうち実行中のサーバ (前述の TA_BASESRVID
を参照) と、サーバのコンフィグレーション定義に反映されます。
TA_MIN
: 1 <= num
< 1,001
T_SERVER
:TA_RQADDR
が指定されており、TA_MIN
が 1 より大きい場合、そのサーバは MSSQ セットを形成します。サーバのサーバ識別子は、T_SERVER
:TA_SRVID
から TA_SRVID
+ T_SERVER
:TA_MAX
- 1 までとなります。各サーバには、すべて同一のシーケンス番号とその他のサーバ パラメータが付けられます。
TA_MINDISPATCHTHREADS
: 1 <= num
< 1,000
TA_MAXDISPATCHTHREADS
> 1 のときに使用される個別のディスパッチャ スレッドは、TA_MINDISPATCHTHREADS
の値の一部としてはカウントされません。この場合、TA_MINDISPATCHTHREADS
<= TA_MAXDISPATCHTHREADS
である必要があります。TA_MINDISPATCHTHREADS
が指定されていない場合のデフォルト値は 0 です。
TA_MAXDISPATCHTHREADS
: 0 <= num
< 1,000
TA_MAXDISPATCHTHREADS
> 1 の場合、別のディスパッチ スレッドが使用されます。このディスパッチ スレッドは、パラメータで指定した数には含まれません。この場合、TA_MINDISPATCHTHREADS
<= TA_MAXDISPATCHTHREADS
である必要があります。TA_MAXDISPATCHTHREADS
が指定されていない場合のデフォルト値は 1 です。
TA_THREADSTACKSIZE:
0 <= num
<= 2147483647
TA_MAXDISPATCHTHREADS
に 1 より大きい値が指定された場合のみサーバに影響を与えます。
TA_CURDISPATCHTHREADS
: 0 <= num
TA_HWDISPATCHTHREADS
: 0 <= num
TA_NUMDISPATCHTHREADS
: 0 <= num
TA_RCMD
: string
[0..256] (Oracle Tuxedo 8.0 以前の場合は最大 78 バイト)
T_SERVER
:TA_RQADDR
の値が同一のサーバ) は、この属性も同じ値に設定する必要があります。この属性値が異なる場合、キュー上のすべてのサーバに関連付けられる実行時値が、最初にアクティブにしたサーバによって確立されます。
注意 : | Windows 2003 システムでリダイレクトまたはパイプを選択する場合は、以下のいずれかの方法を使用してください。 |
TA_RESTART
: ”
{Y
| N
}”
“Y”
) または再起動不可能 (“N”
) に設定します。このサーバ グループに対してサーバの移行 (T_DOMAIN
:TA_OPTIONS/MIGRATE
属性および代替サイトによる T_GROUP
:TA_LMID
) を指定した場合は、TA_RESTART
を “Y”
に設定する必要があります。
T_SERVER
:TA_RQADDR
の値が同一のサーバ) は、この属性も同じ値に設定する必要があります。この属性値が異なる場合、キュー上のすべてのサーバに関連付けられる実行時値が、最初にアクティブにしたサーバによって確立されます。
TA_SEQUENCE
: 1 <= num
< 10,000
TA_SEQUENCE
属性を指定しないか、無効な値を指定して T_SERVER
オブジェクトを追加すると、10,000 以上で、かつその他の自動的に選択されたデフォルト値よりも大きい値が作成されます。サーバは、tmboot()
によってシーケンス番号の昇順で起動され、tmshutdown()
によって降順で停止されます。この属性を実行時に変更すると、tmboot()
と tmshutdown()
にのみ反映され、実行中のサーバが以降の tmshutdown()
の呼び出しによって停止される順序に影響します。
TA_SYSTEM_ACCESS
: ”
{FASTPATH
| PROTECTED
}”
T_DOMAIN
:TA_SYSTEM_ACCESS
を参照してください。
TA_SYSTEM_ACCESS
を PROTECTED
に設定しても、マルチスレッド サーバには効果がない場合があります。これは、あるスレッドが Oracle Tuxedo コードを実行しているとき (つまりスレッドが掲示板にアタッチされているとき) に別のスレッドがユーザ コードを実行できるからです。Oracle Tuxedo システムでは、このような状況を回避することはできません。
TA_CONV
: ”
{Y|N
}”
TA_REPLYQ
: ”
{Y
| N
}”
TA_REPLYQ == "Y”
)。応答を受信する必要のある MSSQ サーバでは、この属性を “Y”
に設定する必要があります。
注意 : | Windows 2003 システムでリダイレクトまたはパイプする場合は、TA_RCMD 属性の説明の際に示した、いずれかの方法を使用する必要があります。 |
TA_RPPERM
: 0001 <= num
<= 0777
T_SERVER
:TA_REPLYQ == "N”
)、TA_RPPERM
は無視されます。
注意 : | Windows 2003 システムでリダイレクトまたはパイプする場合は、TA_RCMD 属性の説明の際に示した、いずれかの方法を使用する必要があります。 |
TA_RQADDR
: string
[0..30]
TA_RQADDR
属性値を指定すると、複数サーバ/単一キュー (MSSQ) セットを定義できます。TA_RQADDR
属性値が同じサーバは、同じサーバ グループに属している必要があります。
TA_RQPERM
: 0001 <= num
<= 0777
TA_LMID
: LMID
TA_GENERATION
: 1 <= num
< 32,768
TM_MIB
(5) でアクティブにした場合、その世代は 1 に設定されます。サーバが異常終了して再起動されるごとに世代がインクリメントされます。なお、世代が T_SERVER
:TA_MAXGEN
を超え、T_SERVER
:TA_GRACE
の期限が切れると、サーバが再起動されて世代が 1 にリセットされます。
TA_PID
: 1 <= num
TA_RPID
: 1 <= num
T_SERVER
:TA_REPLYQ == "N”
)、TA_RPID
は T_SERVER
:TA_RQID
と同じ値になります。
TA_RQID
: 1 <= num
T_SERVER
:TA_REPLYQ == "N”
)、TA_RQID
は T_SERVER
:TA_RPID
と同じ値になります。
TA_TIMERESTART
: 1 <= num
T_SERVER
:TA_LMID
で time(2) システム呼び出しから返される 1970 年 1 月 1 日の 00:00:00 UTC から、このサーバが最後に起動または再起動された時点までの時間 (単位は秒)。
TA_TIMESTART
: 1 <= num
T_SERVER
:TA_LMID
で time(2) システム呼び出しから返される 1970 年 1 月 1 日の 00:00:00 UTC から、このサーバが初めて起動された時点までの時間 (単位は秒)。サーバを再起動してもこの値はリセットされませんが、T_SERVER
:TA_MAXGEN
を超え、T_SERVER
:TA_GRACE
の期限が切れると、この属性は再起動された時間にリセットされます。
TA_SICACHEENTRIESMAX
: {“0"-"32767”
| “DEFAULT”
}
”
0”
にすると、このマシンではサービス キャッシュが使用されなくなります。値を “DEFAULT”
にした場合、このサーバに対する値は対応する T_MACHINE
クラスのエントリによって決まります。
TA_SEC_PRINCIPAL_NAME
: string
[0..511]
TA_SEC_PRINCIPAL_NAME
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVER
クラスの 4 つのレベルのどこでも指定できます。特定のコンフィグレーション レベルでのプリンシパル名は、下位レベルでオーバーライドできます。TA_SEC_PRINCIPAL_NAME
がどのレベルでも指定されていない場合、アプリケーションのプリンシパル名にはこのドメインの TA_DOMAINID
文字列がデフォルトで設定されます。
TA_SEC_PRINCIPAL_NAME
のほかにも、TA_SEC_PRINCIPAL_LOCATION
と TA_SEC_PRINCIPAL_PASSVAR
という属性があります。後の 2 つの属性は、アプリケーション起動時に、Oracle Tuxedo 7.1 以降で動作するシステム プロセスに対して復号化キーを開く処理に関係する属性です。特定のレベルで TA_SEC_PRINCIPAL_NAME
のみが指定されている場合には、それ以外の 2 つの属性に長さゼロの NULL
文字列が設定されます。
TA_SEC_PRINCIPAL_LOCATION
: string
[0..1023]
TA_SEC_PRINCIPAL_NAME
に指定したプリンシパルの復号化 (プライベート) キーを格納するファイルまたはデバイスのロケーション。この属性の最大文字数は、文字列の最後を表す NULL 文字列を除いて 1023 文字です。
TA_SEC_PRINCIPAL_LOCATION
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVER
クラスの 4 つのレベルのどこでも指定できます。この属性は、どのレベルで指定する場合でも TA_SEC_PRINCIPAL_NAME
属性と対になっている必要があり、それ以外の場合には無視されます。TA_SEC_PRINCIPAL_PASSVAR
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
TA_SEC_PRINCIPAL_PASSVAR
: string
[0..31]
TA_SEC_PRINCIPAL_PASSVAR
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVER
クラスの 4 つのレベルのどこでも指定できます。この属性は、どのレベルで指定する場合でも TA_SEC_PRINCIPAL_NAME
属性と対になっている必要があり、それ以外の場合には無視されます。TA_SEC_PRINCIPAL_LOCATION
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
TA_SEC_PRINCIPAL_PASSVAR
に設定した復号化キーの各パスワードを管理者が入力する必要があります。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
TA_NUMCONV
: 0 <= num
TA_NUMDEQUEUE
: 0 <= num
TA_NUMENQUEUE
: 0 <= num
TA_NUMPOST
: 0 <= num
TA_NUMREQ
: 0 <= num
TA_NUMSUBSCRIBE
: 0 <= num
TA_NUMTRAN
: 0 <= num
TA_NUMTRANABT
: 0 <= num
TA_NUMTRANCMT
: 0 <= num
TA_TOTREQC
: 0 <= num
T_SERVER
:TA_CONV == "Y”
)、この属性値は完了した着信会話数を示します。この実行時属性は、サーバの再起動時には保持されますが、サーバを停止すると失われます。
TA_TOTWORKL
: 0 <= num
T_SERVER
:TA_CONV == "Y”
)、この属性値は完了した着信会話の負荷を示します。この実行時属性は、サーバの再起動時には保持されますが、サーバを停止すると失われます。
TA_CLTLMID
: LMID
T_SERVERCTXT
クラスに含まれます。
TA_CLTPID
: 1 <= num
T_SERVERCTXT
クラスに含まれます。
TA_CLTREPLY
: ”
{Y
| N
}”
T_SERVERCTXT
クラスに含まれます。
TA_CMTRET
: ”
{COMPLETE
| LOGGED
}”
T_SERVERCTXT
クラスに含まれます。
tpscmt()
の説明を参照してください。このフィールドの値は、シングルコンテキスト サーバに対してのみ有効です。マルチコンテキスト サーバの場合は、プレースホルダとして NULL 文字列が返されます。
TA_CURCONV
: 0 <= num
tpconnect()
を使用して開始した会話のうち、現在もアクティブな会話の数。マルチコンテキスト サーバの場合、このフィールドはすべてのサーバ コンテキストの合計を表します。個々のサーバ コンテキストの値は、T_SERVERCTXT
クラスにあります。
TA_CUROBJECTS:
0 <= num
TA_CURINTERFACE:
string
[0..128]
TA_CURREQ
: 0 <= num
tpcall()
または tpacall()
を使用して開始した要求のうち、現在もアクティブな要求の数。マルチコンテキスト サーバの場合、このフィールドはすべてのサーバ コンテキストの合計を表します。個々のサーバ コンテキストの値は、T_SERVERCTXT
クラスにあります。
TA_CURRSERVICE
: string
[0. .15]
T_SERVERCTXT
クラスに含まれます。
TA_CURTIME
: 1 <= num
T_SERVER
:TA_LMID
で time
(2) システム呼び出しから返される 1970 年 1 月 1 日の 00:00:00 UTC から現在までの時間 (単位は秒)。この属性は、T_SERVER
:TA_TIMESTART
属性値および T_SERVER
:TA_TIMERESTART
属性値からの経過時間を算出するために使用できます。
TA_LASTGRP
: 1 <= num
< 30,000
T_SERVERCTXT
クラスに含まれます。
TA_SVCTIMEOUT
: 0 <= num
T_SERVERCTXT
クラスに含まれます。
T_SERVICE
:TA_SVCTIMEOUT
を参照してください。このフィールドの値は、シングルコンテキスト サーバに対してのみ有効です。マルチコンテキスト サーバの場合は、プレースホルダとして 0 が返されます。
TA_TIMELEFT
: 0 <= num
T_SERVERCTXT
クラスに含まれます。
TA_TRANLEV
: 0 <= num
T_SERVERCTXT
クラスに含まれます。
T_SERVERCTXT
クラスは、アプリケーション内の各サーバ ディスパッチ コンテキストのコンフィグレーション属性と実行時属性を表します。このクラスは、シングルコンテキスト サーバおよびマルチコンテキスト サーバの両方に対して定義されます。シングルコンテキスト サーバでは、このクラスの値を T_SERVER
クラスの一部として繰り返し使用します。T_SERVERCTXT
クラスの属性は読み取り専用です。
これらの属性値によって、各サーバ ディスパッチ コンテキストに関連する統計値やリソースを実行時に追跡することができます。
注 1 T_SERVERCTXT
クラスのすべての属性はローカル属性です。
TA_SRVGRP
: string
[1..30]
TA_SRVID
: 1 <= num
< 30,001
TA_CONTEXTID
: 0 <= num
< 30000
TA_CLTLMID
: LMID
TA_CLTPID
: 1 <= num
TA_CLTREPLY
: ”
{Y
| N
}”
TA_CMTRET
: ”
{COMPLETE
| LOGGED
}”
TA_CURCONV
: 0 <= num
TA_CURREQ
: 0 <= num
TA_CURRSERVICE
: string
[0..15]
TA_LASTGRP
: 1 <= num
< 30,000
TA_SVCTIMEOUT
: 0 <= num
T_SERVICE
:TA_SVCTIMEOUT
を参照してください。
TA_TIMELEFT
: 0 <= num
TA_TRANLEV
: 0 <= num
T_SERVICE
クラスは、アプリケーション内のサービスのコンフィグレーション属性を表します。これらの属性値によって、コンフィグレーション済みのサービスを識別できます。T_SERVICE
オブジェクトは、T_SVCGRP
クラスの一部としてコンフィグレーションされていないサービスに対するアクティブ化時のコンフィグレーション属性を提供します。アプリケーション内でアクティブなサービスの実行時情報は、T_SVCGRP
クラスでのみ取得可能です。T_SERVICE
クラスを実行時に更新しても、通常はアクティブな T_SVCGRP
オブジェクトには反映されません (TA_ROUTINGNAME
は例外です)。
T_SERVICE
クラスおよび T_SVCGRP
クラスは、アプリケーション内のサービス名に対するアクティブ化時の属性設定を定義します。サーバを初めてアクティブにしたため、または tpadvertise()
を呼び出したために新たなサービスがアクティブ化 (宣言) されると、サービス開始時に使用する属性値は以下の順序で決定されます。
T_SVCGRP
オブジェクトが存在する場合、宣言されたサービスの初期コンフィグレーションには、このオブジェクトで定義された属性が使用されます。T_SERVICE
オブジェクトが存在する場合、宣言されたサービスの初期コンフィグレーションには、このオブジェクトで定義された属性が使用されます。TA_SERVICENAME
属性値が一致するコンフィグレーション済みの T_SVCGRP
オブジェクトが見つかった場合、宣言されたサービスの初期コンフィグレーションには、最初に見つかったオブジェクトが使用されます。
アプリケーション サービスに対するコンフィグレーション属性の指定はすべて省略可能です。つまり、コンフィグレーション値を指定しない場合、サービスのアクティブ化時にサーバが宣言したサービスには確立済みのデフォルト サービス値が使用されます (サービスのアクティブ化時に属性値を識別する方法については上記を参照のこと)。サーバが提供するサービス名は実行時に作成されます (buildserver(1) を参照)。ただし、サーバ オブジェクトに指定されたコマンドライン オプションによってオーバーライドされる場合もあります (T_SERVER
:TA_CLOPT
および servopts(5)
を参照)。
TA_SERVICENAME
: string
[1..15]
TA_STATE
:
SET
操作は、選択した T_SERVICE
オブジェクトのコンフィグレーション情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_AUTOTRAN
: ”
{Y
| N
}”
”Y”
を指定した場合)。制限事項 : この属性を実行時に変更しても、アクティブな T_SVCGRP
オブジェクトには反映されません。
TA_LOAD
: 1 <= num
< 32,768
T_SERVICE
オブジェクトは、システムに対する負荷を設定します。サービスの負荷は、ロード バランシングのために使用します。つまり、すでに負荷が大きいキューは、新規の要求ではあまり選択されません。サービスの負荷は、T_DOMAIN
:TA_LDBAL
属性値が “Y”
に設定されている場合にのみ有効です。
TA_PRIO
: 1 <= num
< 101
TA_BLOCKTIME
: 0 <= num
< 32,768
UBBCONFIG RESOURCES
セクションで指定されたシステム全体の BLOCKTIME
値がサービスで使用されます。
T_SVCGRP
オブジェクトには反映されません。
TA_SVCTIMEOUT
: 0 <= num
T_SVCGRP
オブジェクトには反映されません。この属性値は、Oracle Tuxedo リリース 4.2.2 以前のサイトでは適用されません。
TA_TRANTIME
: 0 <= num
T_SERVICE
オブジェクト用に自動的に開始されたトランザクションのトランザクション タイムアウト値 (単位は秒)。サービスの T_SERVICE
:TA_AUTOTRAN
属性値が "Y
" である場合に、トランザクション モードでない要求を受信すると、トランザクションが自動的に開始されます。
TA_BUFTYPE
: ”
type1
[:subtype1
[,subtype2 .. .
]][;type2
[:subtype3
[, . . . ]]] . . . ”
FML
と FML32
(FML バッファ用)、XML
(XML バッファ用)、VIEW
、VIEW32
、X_C_TYPE
、または X_COMMON
(FML VIEW 用)、STRING
(NULL
で終了する文字配列用)、および CARRAY
または X_OCTET
(送信時にエンコードもデコードもされない文字配列用) があります。これらのタイプのうち、VIEW
、VIEW32
、X_C_TYPE
、および X_COMMON
にはサブタイプがあります。VIEW
サブタイプは、サービスが期待する特定の VIEW
の名前を指定します。アプリケーションのタイプとサブタイプも追加できます (tuxtypes(5)
を参照)。サブタイプを持つバッファ タイプでは、サブタイプに "*" を指定して、該当サービスが関連するバッファ タイプのすべてのサブタイプを受け付けるようにできます。
tuxtypes(5)
を参照)。TA_BUFTYPE
属性値が ALL
に設定されている場合、そのサービスはそのバッファ タイプ スイッチにあるバッファ タイプをすべて受け付けます。
T_SVCGRP
オブジェクトが存在しない場合にのみ更新できます。
TA_ROUTINGNAME
: string
[0..15]
TA_SIGNATURE_REQUIRED
: ”
{Y
| N
}”
“Y”
に設定すると、このサービスのすべてのインスタンスで、その入力メッセージ バッファのデジタル署名が必要となります。指定しない場合、デフォルト値の “N”
が設定されます。この属性は、Oracle Tuxedo 7.1 以降が動作するアプリケーションにのみ適用されます。
TA_SIGNATURE_REQUIRED
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVICE
クラスの 4 つのレベルのどこでも指定できます。特定のレベルで SIGNATURE_REQUIRED
に “Y”
を設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
TA_ENCRYPTION_REQUIRED
: ”
{Y
| N
}”
“Y”
に設定すると、このサービスのすべてのインスタンスで暗号化された入力メッセージ バッファが必要となります。指定しない場合、デフォルト値の “N”
が設定されます。この属性は、Oracle Tuxedo 7.1 以降が動作するアプリケーションにのみ適用されます。
TA_ENCRYPTION_REQUIRED
は、コンフィグレーションの階層のうち、T_DOMAIN
クラス、T_MACHINE
クラス、T_GROUP
クラス、および T_SERVICE
クラスの 4 つのレベルのどこでも指定できます。特定のレベルで TA_ENCRYPTION_REQUIRED
に Y
を設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
TA_BUFTYPECONV
:string
[XML2FML32
, XML2FML
, NOCONVERT
]
XML2FML32
値は、XML から FML32 への変換を示します。XML2FML
値は、XML から FML への変換を示します。NOCONVERT
値は、変換が行われないことを示します。
T_SVCGRP
オブジェクトには反映されません。
T_SVCGRP
クラスは、アプリケーション内のサービスまたはグループのコンフィグレーション属性と実行時属性を表します。これらの属性値によって、コンフィグレーション済みのサービスやグループを識別したり、各オブジェクトに関連する統計値やリソースを実行時に追跡したりできます。
T_SERVICE
クラスおよび T_SVCGRP
クラスは、アプリケーション内のサービス名に対するアクティブ化時の属性設定を定義します。サーバを初めてアクティブにしたため、または tpadvertise()
を呼び出したために新たなサービスがアクティブ化 (宣言) されると、サービス開始時に使用する属性値は以下の順序で決定されます。
T_SVCGRP
オブジェクトが存在する場合、宣言されたサービスの初期コンフィグレーションには、このオブジェクトで定義された属性が使用されます。T_SERVICE
オブジェクトが存在する場合、宣言されたサービスの初期コンフィグレーションには、このオブジェクトで定義された属性が使用されます。TA_SERVICENAME
属性値が一致するコンフィグレーション済みの T_SVCGRP
オブジェクトが見つかった場合、宣言されたサービスの初期コンフィグレーションには、最初に見つかったオブジェクトが使用されます。
アプリケーション サービスに対するコンフィグレーション属性の指定はすべて省略可能です。つまり、コンフィグレーション値を指定しない場合、サービスのアクティブ化時にサーバが宣言したサービスには確立済みのデフォルト サービス値が使用されます (サービスのアクティブ化時に属性値を識別する方法については上記を参照のこと)。サーバが提供するサービス名は実行時に作成されます (buildserver(1) を参照)。ただし、サーバ オブジェクトに指定されたコマンドライン オプションによってオーバーライドされる場合もあります (T_SERVER
:TA_CLOPT
および servopts(5)
を参照)。
いったん T_SVCGRP
オブジェクトがアクティブになると、T_SVCGRP
クラスでのみ表現されるようになります。サービスを提供するグループ内に複数のサーバがある場合、特定のサービス名/グループ名の組み合わせは、実行時に複数の T_SVCGRP
クラスに関連付けられます。
注 1 アドレス指定するオブジェクトをユニークに識別するには、このクラスでの SET
操作で十分なキー フィールドを指定する必要があります。オブジェクトがアクティブな場合は、TA_RQADDR
または TA_SRVID
を指定した TA_SERVICENAME
または TA_SRVGRP
キー フィールドを追加する必要があります。アクティブなオブジェクトを変更すると、そのオブジェクト、および関連するコンフィグレーション レコードに反映されますが、同じコンフィグレーション レコードから実行時属性を生成した他のアクティブ オブジェクトには反映されません。
注 2 この属性値を指定しない場合は、デフォルトで TA_SERVICENAME
となります。
TA_SERVICENAME
: string
[1..15]
TA_SRVGRP
: string
[1..30]
T_SVCGRP
の概要を参照してください。
TA_GRPNO
: 1 <= num
< 30,000
TA_STATE
:
SET
操作は、選択した T_SVCGRP
オブジェクトのコンフィグレーション情報および実行時情報を更新します。サービス オブジェクトを実行時に変更すると、複数のアクティブなサーバに反映される場合がありますので注意してください。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_AUTOTRAN
: ”
{Y
| N
}”
TA_LOAD
: 1 <= num
< 32,768
T_SVCGRP
オブジェクトは、システムに対する負荷を設定します。サービスの負荷は、ロード バランシングのために使用します。つまり、すでに負荷が大きいキューは、新規の要求ではあまり選択されません。
TA_PRIO
: 1 <= num
< 101
TA_BLOCKTIME
: 0 <= num
< 32,768
TA_SVCTIMEOUT
: 0 <= num
TA_TRANTIME
: 0 <= num
T_SVCGRP
オブジェクト用に自動的に開始されたトランザクションのトランザクション タイムアウト値 (単位は秒)。サービスの T_SVCGRP
:TA_AUTOTRAN
属性値が "Y
" である場合に、トランザクション モードでない要求を受信すると、トランザクションが自動的に開始されます。
TA_LMID
: LMID
TA_RQADDR
: string
[1..30]
TA_SRVID
: 1 <= num
< 30,001
TA_SVCRNAM
: string
[1..15]
SET
要求時、サーバがそのシンボル テーブルを使用して関数名を関数にマップし、正常にサービスを宣言できなければなりません。状況によっては (たとえば、サーバで直接 tpadvertise()
を呼び出す場合)、ACTive
なサービス オブジェクトの関数名は不明となり、属性値として文字列「?
」が返されます。
TA_BUFTYPE
: string
[1..256]
TA_ROUTINGNAME
: string
[0..15]
TA_NCOMPLETED
: 0 <= num
TA_SVCTYPE
: ”
{APP
| CALLABLE
| SYSTEM
}”
APP
は、アプリケーション定義のサービス名を示します。CALLABLE
は、システム提供の呼び出し可能サービスを示します。SYSTEM
は、システム提供でシステム呼び出し可能なサービスを示します。SYSTEM
サービスは、アプリケーション クライアントおよびサーバから直接アクセスすることはできません。GET
キー フィールドとして使用する場合は、'|' で区切られたリストを使用して、1 つの要求に対するサービス グループ エントリの複数のタイプを検索します。デフォルトでは、APP
サービスのみが検索されます。
TA_NQUEUED
: 0 <= num
< 32,768
T_TLISTEN
クラスは、分散アプリケーションで使用する Oracle Tuxedo システムのリスナ プロセスの実行時属性を表します。
TA_LMID
: LMID
TA_STATE
:
このクラスは、tpadmcall()
インタフェースでは利用できません。
T_TLOG
クラスは、トランザクション ログのコンフィグレーション属性と実行時属性を表します。このクラスを使用すると、アプリケーション内のログの作成、削除、移行などを実行できます。
注 1 T_TLOG
クラスのすべての属性はローカル属性です。
注 2 T_TLOG
クラスの各オブジェクトで、1 つ以上の TA_GRPNO
属性および TA_TLOGDATA
属性が返されます。特定のオブジェクトに属する各属性の値は、TA_TLOGINDEX
で始まる TA_TLOGCOUNT
のオカレンス数です。
TA_LMID
: LMID
TA_STATE
:
T_MACHINE オブジェクトが非アクティブであることを意味し、サイトで tlisten(1) プロセスを実行中の場合にのみ返されます。それ以外の場合、サイトは接続不可能で、オブジェクトは返されません。
|
|
SET
操作は、選択した T_TLOG
オブジェクトのコンフィグレーション情報および実行時情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_TLOGCOUNT
: 1 <= num
TA_TLOGDATA
) の数。この属性は、状態変更を指定した SET
操作では無視されます。状態変更を指定しない有効な SET
操作の場合、この属性はアクティブなトランザクション ログに追加されるログ レコードの数を示します。TA_GRPNO
または TA_TLOGDATA
を指定しない GET
操作は、使用中のログ レコードの数を返します。TA_GRPNO
のみを指定した GET
操作は、使用中のログ レコードの数と、指定したグループに対応するコーディネータ グループを返します。("") に設定された TA_TLOGDATA
のみを指定した GET
操作は、使用中のログ レコードの数を返し、これらのログ レコードに対応する TA_TLOGDATA
属性と TA_GRPNO
属性の配列を設定します。TA_GRPNO
と ("") に設定された TA_TLOGDATA
の両方を指定した GET
操作は、使用中のログ レコードの数と、指定されたグループに一致するコーディネータ グループを返し、これらのログ レコードに対応する TA_TLOGDATA
属性と TA_GRPNO
属性の配列を設定します。
TA_TLOGINDEX
: 0 <= num
TA_GRPNO
: 1 <= num
< 30,000
TA_TLOGDATA
: string
[1..256]
T_TRANSACTION
クラスは、アプリケーション内のアクティブなトランザクションの実行時属性を表します。
注 1 T_TRANSACTION
クラスのすべての属性はローカル属性です。
注 2 T_TRANSACTION
クラスの各オブジェクトで、1 つ以上の TA_GRPNO
属性および TA_GSTATE
属性が返されます。特定のオブジェクトに属する各属性の値は、TA_GRPINDEX
で始まる TA_GRPCOUNT
のオカレンス数です。
TA_COORDLMID
: LMID
TA_LMID
: LMID
TA_TPTRANID
: string
[1..78]
TA_XID
: string
[1..78]
TA_STATE
:
GET
操作は、選択した T_TRANSACTION
オブジェクトの実行時情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_STATE
の意味を示します。同一のグローバル トランザクションに付属する別個のオブジェクトは、トランザクション識別子は同じですが状態は異なることがあります。一般的に、コーディネータ サイトで示される状態 (TA_COORDLMID
) がトランザクションの本当の状態です。例外は、コーディネータ サイト以外のサイトが、トランザクションの状態を ABortonlY
に遷移させる条件を通知した場合です。この遷移は、最終的にはコーディネータ サイトに伝播され、トランザクションがロールバックされます。ただし、この変更がすぐにはコーディネータ サイトに反映されないこともあります。すべての状態は、パーミッションの決定においては ACTive
と同等です。
SET
操作は、選択した T_TRANSACTION
オブジェクトの実行時情報を更新します。以下に示す状態は、SET
要求で設定される TA_STATE
の意味を示します。これ以外の状態を設定することはできません。
TA_TIMEOUT
: 1 <= num
TA_GRPCOUNT
: 1 <= num
TA_GRPINDEX
: 1 <= num
TA_GRPNO
: 1 <= num
< 30,000
TA_GSTATE
:
GET
操作は、指定グループに付属する T_TRANSACTION
オブジェクトのうち、選択したオブジェクトの実行時情報を検索します。以下に示す状態は、GET
要求への応答で返される TA_GSTATE
の意味を示します。これら以外の状態は返されません。同一のグローバル トランザクションに付属する別個のオブジェクトは、トランザクション識別子は同じですが、個別のグループの状態は異なることがあります。一般的に、グループのサイトで示される状態が、トランザクションに参加しているグループの本当の状態です。例外は、コーディネータ サイトがトランザクションをアボートすることを決定し、各参加リソース グループの状態を ABorteD
に設定した場合です。この遷移はグループのサイトに伝播され、トランザクション内のグループの作業がロールバックされます。ただし、すぐには反映されないことがあります。
SET
操作は、選択した T_TRANSACTION
オブジェクト内で送信された要求の最初のグループの実行時情報を更新します。以下に示す状態は、SET
要求で設定される TA_GSTATE
の意味を示します。これ以外の状態を設定することはできません。状態遷移は、グループのサイトを表すオブジェクト (TA_LMID
) 内で実行される場合にのみ可能です。
T_ULOG
クラスは、アプリケーション内の userlog()
ファイルの実行時属性を表します。
注 1 T_ULOG
クラスのすべての属性はローカル属性です。
注 2 TA_LMID
は、システムがどのアプリケーション ログ ファイルにアクセスするかを決定する際に必要なフィールドです。返されたレコードを、指定したマシン上で動作するプロセスから生成されたレコードに限定するために使用するのではありません。ネットワーク接続されたファイル システムを使用して複数のマシンがログ ファイルを共有する場合、キー フィールドとして特定の値を指定しても、複数の TA_LMID
値が返されます。同様の理由で、
TA_PMID
は要求を特定のマシンに指定する際に考慮されるではなく、どのレコードを返すか決定するために使用されます。この条件下では、TA_PMID
を正規表現のキー フィールドとして使用すると便利です。
TA_LMID
: LMID
TA_PMID
: string
[1..30]
TA_MMDDYY
: mmddyy
TA_STATE
:
TA_ULOGTIME
: hhmmss
TA_ENDTIME
: hhmmss
TA_ULOGLINE
: 1 <= num
TA_ULOGMSG
: string
[1..256]
TA_TPTRANID
: string
[1..78]
tpsuspend()
から返されたトランザクション識別子。等号比較の場合を除き、ユーザはこのフィールドのデータを直接解釈することはできません。トランザクションに関連付けられていないメッセージでは、この属性値として長さが 0 の文字列が検索されます。
TA_XID
: string
[1..78]
tx_info()
から返されたトランザクション識別子。等号比較の場合を除き、ユーザはこのフィールドのデータを直接解釈することはできません。トランザクションに関連付けられていないメッセージでは、この属性値として長さが 0 の文字列が検索されます。
TA_PID
: 1 <= num
TA_THREADID
: 0 <= num
TA_CONTEXTID
: -2 <= num
< 30,000
TA_SEVERITY
: string
[1..30]
TA_ULOGCAT
: string
[1..30]
TA_ULOGMSGNUM
: 1 <= num
TA_ULOGPROCNM
: string
[1..30]
検索は、対応する T_MACHINE
オブジェクトも ACTive
である場合にのみ行われます。
このクラスの検索は、TA_LMID
を指定して指示する必要があります。ワークステーション クライアントが書き込んだログ レコードの検索は、クライアントが使用したログ ファイルが、当該アプリケーションの T_MACHINE
クラスで定義されたマシンの 1 つで共有されている場合のみ利用可能です。それ以外の場合、このクラスではログ レコードを使用できません。
このクラスに対する検索が正常に完了しなかった場合は、常に値が 1 の TA_MORE
が返されます。この値は、送信された要求に関する情報が他にも存在することのみを示します。
TM_MIB
(5) への接続時には、2 つの一般的なタイプのエラーがユーザに返される場合があります。1 つは、管理要求に対する応答を検索する 3 つの ATMI 関数 (tpcall()
、tpgetrply()
、および tpdequeue()
) が返すエラーです。これらのエラーは、該当するリファレンス ページの記述に従って解釈されます。
ただし、要求がその内容に対応できるシステム サービスに正常にルーティングされても、システム サービス側でその要求を処理できないと判断されると、アプリケーション レベルのサービス障害としてエラーが返されます。このような場合、tpcall()
と tpcall()
は、tpgetrply()
を TPESVCFAIL
に設定してエラーを返し、以下のようにエラーの詳細を示す TA_ERROR
、TA_STATUS
、および TA_BADFLD
フィールドと一緒に、元の要求を含む応答メッセージを返します。TMQFORWARD(5)
サーバ経由でシステムに転送された要求に対してサービス障害が発生すると、元の要求で識別される異常終了キューに障害応答メッセージが追加されます (TMQFORWARD
に対して -d
オプションが指定されたと見なされる)。
管理要求の処理中にサービス エラーが発生すると、TA_STATUS
という FML32 フィールドにエラーの内容を説明したテキストが設定され、TA_ERROR
という FML32 フィールドにはエラーの原因 (下記参照) を示す値が設定されます。エラー コードは、いずれもマイナスであることが保証されています。
other
]
MIB(5)
リファレンス ページに指定されています。これらのエラーは、ここに定義する TM_MIB
(5) 固有のエラー コードと相互に排他関係にあることが保証されています。
以下の診断コードは TA_ERROR
で戻されるもので、管理要求が正常に完了したことを示します。これらのコードはマイナスでないことが保証されています。
other
]
MIB(5)
リファレンス ページに指定されています。これらのコードは、ここに定義する TM_MIB(5)
固有の戻りコードと相互に排他関係にあることが保証されています。
このリファレンス ページで定義されているヘッダ ファイルおよびフィールド テーブルは、Oracle Tuxedo リリース 6.1 以降で利用できます。これらのヘッダやテーブルで定義するフィールドはリリースが変わっても変更されません。ただし、以前のリリースで定義されていない新しいフィールドが追加される場合があります。AdminAPI には、要求を作成するために必要なヘッダ ファイルとフィールド テーブルがあれば、どのサイトからでもアクセスできます。
リリースが異なるサイト (共に Oracle Tuxedo リリース 6.1 以降) を相互運用する場合、当該リリースの MIB リファレンス ページに定義されるように、旧サイト上の情報はアクセスおよび更新可能で、以降のリリースで利用可能な情報のサブセットとなります。
Oracle Tuxedo システムの MIB を使用した管理作業をサポートするために必要な既存の FML32 および ATMI 関数、さらにこのリファレンス ページに定義するヘッダ ファイルとフィールド テーブルは、すべてのサポート対象ネイティブ プラットフォームとワークステーション プラットフォームで使用可能です。
このセクションでは、tpadmcall()
と tpcall()
を使用して 2 つのノードを持つアプリケーションをコンフィグレーション、アクティブ化、クエリ、および非アクティブ化するためのコードを抜粋しています。ローカル環境に応じて値が変わる部分には変数名を使用します。たとえば、TUXCONFIG
は 2 つの要素からなる文字ポインタの配列で、それぞれ要素によってマシン上の TUXCONFIG
ファイルの絶対パス名を識別します。
属性フィールド識別子にアクセスするには、フィールド テーブル tpadm
が必要です。そのためには、次のようにシェルで入力します。
$ FIELDTBLS=tpadm
$ FLDTBLDIR=${TUXDIR}/udataobj
$ export FIELDTBLS FLDTBLDIR
#include <atmi.h>
#include <fml32.h>
#include <tpadm.h>
${TUXDIR}/lib/libtmib.a, ${TUXDIR}/lib/libqm.a,
${TUXDIR}/lib/libtmib.so.<rel>
, ${TUXDIR}/lib/libqm.so.<rel>
,
${TUXDIR}/lib/libtmib.lib
buildclient
を使用するときには、ライブラリを手動でリンクする必要があります。この場合は、-L${TUXDIR}/lib -ltmib -lqm
を指定する必要があります。
以下のコードでは、FML32 バッファを作成して設定しています。この FML32 バッファは、処理のために tpadmcall()
に渡されます。この例ではさらに、tpadmcall()
の戻りコードの解釈を示しています。ここで示す要求により、アプリケーションの初期コンフィグレーションが作成されます。
/* バッファの割り当ておよび初期化 */
ibuf = (FBFR32 *)tpal loc("FML32", NULL, 4000);
obuf = (FBFR32 *)tpalloc("FML32", NULL, 4000);
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* T_DOMAIN クラス オブジェクトに設定する TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPTIONS, 0, "LAN,MIGRATE", 0);
Fchg32(ibuf, TA_IPCKEY, 0, (char *)&ipckey, 0);
Fchg32(ibuf, TA_MASTER, 0, "LMID1", 0);
Fchg32(ibuf, TA_MODEL, 0, "MP", 0);
/* TA_MASTER T_MACHINE クラス オブジェクトの TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
Fchg32(ibuf, TA_PMID, 0, pmid[0], 0);
Fchg32(ibuf, TA_TUXCONFIG, 0, tuxconfig[0], 0);
Fchg32(ibuf, TA_TUXDIR, 0, tuxdir[0], 0);
Fchg32(ibuf, TA_APPDIR, 0, appdir[0], 0);
Fchg32(ibuf, TA_ENVFILE, 0, envfile[0], 0);
Fchg32(ibuf, TA_ULOGPFX, 0, ulogpfx[0], 0);
Fchg32(ibuf, TA_BRIDGE, 0, "/dev/tcp", 0);
Fchg32(ibuf, TA_NADDR, 0, naddr[0], 0);
Fchg32(ibuf, TA_NLSADDR, 0, nlsaddr[0], 0);
/* tpadmcall() を使用して処理を実行 */
if (tpadmcall(ibuf, obuf, 0) 0) {
fprintf(stderr, "tpadmcall failed: %s\n", tpstrerror(tperrno));
/* 追加のエラー処理 */
}
以下のコードでは、前のセクションで割り当てたバッファを再利用して要求バッファを作成しています。以下に示す要求により、先に確立したコンフィグレーションに別のマシンが追加されます。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* T_MACHINE クラス オブジェクトに設定する TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_LMID, 0, "LMID2", 0);
Fchg32(ibuf, TA_PMID, 0, pmid[1], 0);
Fchg32(ibuf, TA_TUXCONFIG, 0, tuxconfig[1], 0);
Fchg32(ibuf, TA_TUXDIR, 0, tuxdir[1], 0);
Fchg32(ibuf, TA_APPDIR, 0, appdir[1], 0);
Fchg32(ibuf, TA_ENVFILE, 0, envfile[1], 0);
Fchg32(ibuf, TA_ULOGPFX, 0, ulogpfx[1], 0);
Fchg32(ibuf, TA_BRIDGE, 0, "/dev/tcp", 0);
Fchg32(ibuf, TA_NADDR, 0, naddr[1], 0);
Fchg32(ibuf, TA_NLSADDR, 0, nlsaddr[1], 0);
tpadmcall(...) /* 詳細なエラー処理については上記の例を参照 */
既存のバッファを再利用して、新たにコンフィグレーションした 2 つ目のマシンをこのアプリケーションのバックアップ マスタ サイトとして識別します。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
/* 変更を行う TM_MIB(5) T_DOMAIN 属性を設定 *
Fchg32(ibuf, TA_MASTER, 0, "LMID1,LMID2", 0);
tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */
バッファを再利用して、コンフィグレーション済みのアプリケーションにサーバ グループを 1 つずつ追加する要求を 2 つ作成します。2 つ目の要求は、単に既存の入力バッファの必要なフィールドを変更するためのものです。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_GROUP", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* 1 つ目のグループを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_GRPNO, 0, (char *)&grpno[0], 0);
Fchg32(ibuf, TA_LMID, 0, "LMID1,LMID2", 0);
tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */
/* 2 つ目のグループを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP2", 0);
Fchg32(ibuf, TA_GRPNO, 0, (char *)&grpno[1], 0);
Fchg32(ibuf, TA_LMID, 0, "LMID2,LMID1", 0);
tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */
割り当て済みのバッファを再利用し、グループごとに 1 つのサーバをコンフィグレーション済みのアプリケーションに追加します。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVER", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* 1 つ目のサーバを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&srvid[0], 0);
Fchg32(ibuf, TA_SERVERNAME, 0, "ECHO", 0)
tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */
/* 2 つ目のサーバを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP2", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&srvid[1], 0);
tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */
ルーティング基準の定義を追加します。ルーティング基準は、tpcall()
インタフェースを使用して同様の操作を行うことで、動作中のアプリケーションに動的に追加することもできます。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_ROUTING", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* ルーティング基準を定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_ROUTINGNAME, 0, "ECHOROUTE", 0);
Fchg32(ibuf, TA_BUFTYPE, 0, "FML", 0);
Fchg32(ibuf, TA_FIELD, 0, "LONG_DATA", 0);
Fchg32(ibuf, TA_RANGES, 0, "MIN-100:GRP1,100-MAX:GRP2", 26);
tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */
上記で定義したルーティング基準に、宣言されたサービス名をマップするサービス オブジェクトを定義します。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVICE", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* サービス エントリを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SERVICENAME, 0, "ECHO", 0);
Fchg32(ibuf, TA_ROUTINGNAME, 0, "ECHOROUTE", 0);
tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */
T_DOMAIN
クラス オブジェクトの状態を ACTIVE
に設定して、マスタ サイトの管理プロセス (DBBL、BBL、BRIDGE) をアクティブにします。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "ACT", 0);
tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */
これでアプリケーションがアクティブになりました。次は、アプリケーションに参加して、tpcall()
インタフェースを使用して AdminAPI 要求を作成します。
/* システムがアクティブなので、システムに管理者として参加 */ tpinfo = (TPINIT *)tpalloc("TPINIT", NULL, TPINITNEED(0));
sprintf(tpinfo->usrname, "appadmin");
sprintf(tpinfo->cltname, "tpsysadm");
if (tpinit(tpinfo) < 0) {
fprintf(stderr, "tpinit() failed: %s\n", tpstrerror(tperrno));
/* 追加のエラー処理 */
}
/* バッファを型付きバッファとして再初期化 */
Finit32(ibuf, Fsizeof32(ibuf));
Finit32(obuf, Fsizeof32(obuf));
アプリケーションの残り部分をアクティブにします。管理者ユーザは、要求の TA_FLAGS
属性にある TMIB_NOTIFY
フラグを設定して、各サーバを起動しようとする直前または直後に非請求メッセージを送信するよう要求します。この例では、tpcall()
からのエラー戻りの処理を示しています。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_STATE, 0, "RAC", 0);
/* マシンを識別する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
/* /AdminAPI を呼び出して結果を解釈 */
if (tpcall(".TMIB", (char *)ibuf, 0, (char **)&obuf, &olen, 0) < 0) {
fprintf(stderr, "tpcall failed: %s\n", tpstrerror(tperrno));
if (tperrno == TPESVCFAIL) {
Fget32(obuf,TA_ERROR,0,(char *)&ta_error,NULL);
ta_status = Ffind32(obuf, TA_STATUS, 0, NULL);
fprintf(stderr, "Failure: %ld, %s\n",
ta_error, ta_status);
/* 追加のエラー処理 */
}
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "GET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVER", 0);
flags = MIB_LOCAL;
Fchg32(ibuf, TA_FLAGS, 0, (char *)&flags, 0);
/* マシンを識別する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&srvid[0], 0);
tpcall(...); /* 詳細なエラー処理については上記の例を参照 */
各マシンの状態を INACTIVE
に設定してアプリケーションを非アクティブ化します。この操作でも TMIB_NOTIFY
フラグを使用できます。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 最初にリモート マシンを停止 */
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_LMID, 0, "LMID2", 0);
Fchg32(ibuf, TA_STATE, 0, "INA", 0);
tpcall(....); /* 詳細なエラー処理については上記の例を参照 */
/* 続いてマスタ マシンのアプリケーション サーバを停止 *
flags = TMIB_APPONLY;
Fchg32(ibuf, TA_FLAGS, 0, (char *)&flags, 0);
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
tpcall(...); /* 詳細なエラー処理については上記の例を参照 */
/* アクティブなアプリケーション アクセスを終了 */
tpterm();
/* 最後にマスタ管理プロセスを停止 */
Finit32(ibuf, Fsizeof32(ibuf));
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "INA", 0);
tpadmcall(...); /* 詳細なエラー処理については上記の例を参照 */
${TUXDIR}/include/tpadm.h、${TUXDIR}/udataobj/tpadm
tpacall(3c)、tpalloc(3c)、tpcall(3c)、tpdequeue(3c)、tpenqueue(3c)、tpgetrply(3c)、tprealloc(3c)、「FML 関数の紹介」、Fadd、Fadd32(3fml)、Fchg、Fchg32(3fml)、Ffind、Ffind32(3fml)、MIB(5)
、WS_MIB(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』
『FML を使用した Oracle Tuxedo アプリケーションのプログラミング』
FactoryFinder およびサポートする NameManager サービスを実行するサーバ
TMFFNAME SRVGRP=”
identifier
“ SRVID=”
number
“
[CLOPT="[-A] [servopts options
]
[-- [-F ] [-N | -N -M [-f filename
]]]"]
TMFFNAME
は Oracle Tuxedo が提供するサーバで、FactoryFinder およびサポートする NameManager サービス (アプリケーションが提供する名前とオブジェクト参照とのマッピングを管理する) を実行します。
-A
-F
-N
-M
-f filename
FactoryFinder サービスは CORBA から派生したサービスです。このサービスは、アプリケーション固有の検索基準に対応するアプリケーション ファクトリの検出機能をクライアント アプリケーションに提供します。FactoryFinder API の詳細については、『Tuxedo CORBA プログラミング リファレンス』を参照してください。ファクトリの登録および登録解除については、『Tuxedo CORBA サーバ アプリケーションの開発方法』を参照してください。CLOPT
でサービスが指定されていない場合、FactoryFinder サービスが「デフォルト」のサービスになります。
NameManager は、アプリケーションが提供する名前とオブジェクト参照とのマッピングを管理する Oracle Tuxedo 固有のサービスです。このサービスの用途の 1 つとして、アプリケーション ファクトリ名とオブジェクト参照間の対応関係を示すリストを維持することが挙げられます。NameManager サービスは、-M
オプションを使用してマスタ ロールとして起動できます。-M
オプションを指定しない場合、NameManager はスレーブになります。スレーブの NameManager はマスタから更新データを取得します。1 つのアプリケーションでマスタとして指定できる NameManager は 1 つだけです。
マスタ NameManager は、リモート ドメインにあるファクトリ オブジェクトをローカル ドメインでアクセスできるようにコンフィグレーションできます。また、ローカル ドメインにあるファクトリ オブジェクトをリモート ドメインからアクセスできるようにコンフィグレーションすることもできます。これらのコンフィグレーションはいずれも、FactoryFinder Domains コンフィグレーション ファイル、factory_finder.ini
で指定します。
factory_finder.ini
ファイルの場所は、マスタ NameManager の -f
コマンドライン オプションで指定します。-f
オプションを指定しても factory_finder.ini
ファイルが見つからない場合、マスタ NameManager の初期化が失敗します。-f
オプションを指定しない場合、ローカル アプリケーションからはローカルに登録されたファクトリ オブジェクトにしかアクセスできず、リモート ドメイン内のアプリケーションからはローカル ファクトリ オブジェクトにアクセスできません。
注意 : | 同じサービスを実行する TMFFNAME プロセスを 1 つまたは複数起動できます。信頼性を高めるには、異なるマシンで少なくとも 2 つ以上の NameManager サービスをコンフィグレーションする必要があります。 |
TMFFNAME
サーバは、Oracle Tuxedo 4.0 以降のソフトウェアで動作します。
アプリケーションの UBBCONFIG
(TMFFNAME -N
) でコンフィグレーションされている NameManager サービスが 2 つに満たない場合、サーバは起動中に終了し、ユーザ ログにエラー メッセージを書き込みます。
アプリケーションの UBBCONFIG
ファイルでコンフィグレーションされていないマスタ NameManager サービスがスレーブ NameManager サービスの開始時に実行されていると、サーバは起動中に終了し、ユーザ ログにエラー メッセージを書き込みます。また、マスタがダウンしている場合は、マスタが再起動するまでファクトリを登録および登録解除できません。
TMSYSEVT
サーバがアプリケーションの UBBCONFIG
ファイルでコンフィグレーションされておらず、NameManager サービスの開始時に実行されていない場合、サーバは起動中に終了し、ユーザ ログにエラー メッセージを書き込みます。
NameManager サービスがアプリケーションの UBBCONFIG
ファイルでコンフィグレーションされていない場合に FactoryFinder サービスが開始されると、サーバは起動中に終了し、ユーザ ログにエラー メッセージを書き込みます。
MP コンフィグレーションを実行している場合、すべてのネーム マネージャ (TMFFNAME -N
) を起動してからスレーブ イベント サービス サーバ (TMSYSEVT -S
) を起動するようにコンフィグレーションする必要があります。マスタ TMSYSEVT
は、ネーム マネージャの前に起動する必要があります。スレーブ TMSYSEVT
がネーム マネージャの前に起動した場合、スレーブ ネーム マネージャはマスタ ネーム マネージャによって送信される更新イベントを受信できない場合があります。この場合、クライアントによってはファクトリ ファインダを検索するときに NoFactory 例外が発生したり、ファクトリ ファインダが登録されていないファクトリ オブジェクトを返したり (この結果、呼び出し時に NO_IMPLEMENT
などの例外が発生する)、予期しないロード バランシング処理が行われたりする可能性があります。
スレーブ ネーム マネージャを停止してから再起動し、ファクトリを登録 (または登録解除) するカスタム CORBA サーバを起動 (または停止) する場合、最初にカスタム サーバを起動 (または停止) するか、すべてのスレーブ TMSYSEVT
に対して設定されている最長ポーリング時間にわたって待機します。-p
オプションを使用しない場合のデフォルト値は 30 秒です。
*SERVERS
TMSYSEVT SRVGRP=ADMIN1 SRVID=44 RESTART=Y
CLOPT="-A”
TMFFNAME SRVGRP=ADMIN1 SRVID=45 RESTART=Y
CLOPT="-A -- -F”
TMFFNAME SRVGRP=ADMIN1 SRVID=46 RESTART=Y
CLOPT="-A -- -N -M -f c:\appdir\import_factories.ini"
TMFFNAME SRVGRP=ADMIN2 SRVID=47 RESTART=Y
CLOPT="-A -- -N"
TMFFNAME SRVGRP=ADMIN3 SRVID=48 RESTART=Y
CLOPT="-A -- -F"
TMFFNAME SRVGRP=ADMIN4 SRVID=49 RESTART=Y
CLOPT="-A -- -F”
factory_finder.ini(5)
、TMSYSEVT(5)
、UBBCONFIG(5)
、userlog(3c)、『Tuxedo CORBA プログラミング リファレンス』の「TP フレームワーク」
TMIFRSVR SRVGRP=”
identifier
“ SRVID=”
number
“ RESTART=Y GRACE=0 CLOPT="[servopts
options
] -- [-f
repository_file_name
]”
TMIFRSVR
サーバは、インタフェース リポジトリにアクセスするために Oracle が提供するサーバです。API は、CORBA で定義されるインタフェース リポジトリ API のサブセットです。インタフェース リポジトリ API については、『Tuxedo CORBA プログラミング リファレンス』を参照してください。
[-f
repository_file_name
]
idl2ir
コマンドを使用して作成しておく必要があります。このパラメータが指定されていない場合、マシン用のアプリケーション ディレクトリ (APPDIR
) に置かれたデフォルトのリポジトリ ファイル名 repository.ifr
が使用されます。リポジトリ ファイルが読み取れない場合、サーバは起動できません。
# このサーバはデフォルトのリポジトリ TMIFRSVR を使用する
SRVGRP="IFRGRP" SRVID=1000 RESTART=Y GRACE=0
# このサーバはデフォルト以外のリポジトリ TMIFRSVR を使用する
SRVGRP="IFRGRP" SRVID=1001 RESTART=Y GRACE=0
CLOPT="-- -f /nfs/repository.ifr"
ir2idl(1)
、UBBCONFIG(5)
、servopts(5)
TMMETADATA
- Tuxedo サービス メタデータ リポジトリ サーバ
TMMETADATA SRVGRP
="identifier" SRVID
="number"
CLOPT=
"[-A
] [servopts
options] -- -f
repository_file [-r
][-o filename]
TMMETADATA は、Tuxedo サービス メタデータ リポジトリ情報を検索および更新する要求を処理する Tuxedo システム サーバです。
TMMETADATA が提供およびサポートするサービスは、.TMMETAREPOS
の 1 つだけです。このサービスは、Tuxedo MIB で使用されるものとほぼ同じ FML32
入力および出力バッファを使用します。TMMETADATA FML32
バッファの形式については、MIB(5)
を参照してください。
注意 : | メタデータ情報の検索と更新は .TMIB から独立したサービスを通して処理されます。メタデータ リポジトリは Tuxedo コンフィグレーションとは別個に格納されるので、BBL がメタデータ要求処理のオーバーヘッドを負担するのを避けることができます。 |
CLOPT
オプションは、TMMETADATA の起動時に渡されるコマンド リンク オプションの文字列です。TMMETADATA が認識する実行時パラメータは以下のとおりです。
-f
-r
read/write
です。
-o
TMMETADATA が提供するサービスは .TMMETAREPOS
だけなので、特定の Tuxedo ドメインで動作する複数の TMMETADATA サーバはすべて同じパーミッション アクセスでコンフィグレーションされている必要があります。つまり、すべて読み取り専用か、またはすべて読み書き可能にする必要があります。
各 TMMETADATA サーバが同じメタデータ リポジトリ ファイル (またはその正確なコピー) にアクセスするようにコンフィグレーションすることで、要求に対して一貫した結果が返されるようにしなければなりません。したがって、複数の TMMETADATA サーバからメタデータ リポジトリに安定的にアクセスできるようにしておくことを強くお勧めします。
TMMETADATA は、Tuxedo リリース 9.0 以降で実行する必要があります。
-r オプションを使用して Tuxedo Jolt リポジトリ ファイルに対して呼び出された場合、TMMETADATA は Tuxedo メタデータ リポジトリ ファイルの場合と同じようにそのファイルのレコードを読み取って返すことができます。
-r オプションを使用せずに Tuxedo Jolt リポジトリ ファイルに対して呼び出された場合、TMMETADATA はサーバの初期化時に失敗します。
*SERVERS
TMMETADATA SRVGRP=ADMIN1 SRVID=137 RESTART=Y MAXGEN=5
GRACE=3600 CLOPT="-A -- -f /usr/tuxadmin/METAREPOS"
*SERVERS
TMMETADATA SVRGRP=ADMIN1 SVRID=101 RESTART=N
CLOPT="-A -- -f /usr/tuxadmin/metarepos1 -r"
TMMETADATA SVRGRP=ADMIN1 SVRID=102 RESTART=Y MAXGEN=5
GRACE=3600 CLOPT="-A -- -f /usr/tuxadmin/metarepos1 -r"
TMMETADATA SVRGRP=ADMIN1 SVRID=103 RESTART=Y MAXGEN=5
GRACE=3600 CLOPT="-A -- -f /usr/tuxadmin/metarepos1 -r"
tpgetrepos(3c)、tpsetrepos(3c)、MIB(5)
Oracle SALT の『管理ガイド』の「サービス規約検索のコンフィグレーション」
TMQFORWARD
SRVGRP
="identifier
"SRVID
="number
"REPLYQ=N
CLOPT=”
[-A
] [servopts
options
]--
-q
queuename[,queuename
...]
[-t
trantime
] [-i
idletime
] [-b
timeout
] [-e
] [-d
] [-n
] [-f
delay
] ”
メッセージ転送サーバは Oracle Tuxedo システムが提供するサーバで、tpenqueue()
で格納されたメッセージを後処理のために転送します。アプリケーション管理者は、SERVERS
セクションでこのサーバをアプリケーション サーバとして指定することにより、アプリケーション サーバのメッセージ処理を自動化できます。
位置指定、サーバ グループ、サーバ識別子、その他の汎用サーバ関連パラメータは、サーバ用に定義されているコンフィグレーション ファイル機構を使用して、このサーバに関連付けられます。次に、カスタマイズに使用できる追加コマンドライン オプションのリストを示します。
-q
queuename[,queuename...]
-t
trantime
tpbegin()
で使用されるトランザクション タイムアウト値を指定する場合に使用します。指定されない場合、デフォルト値は 60 秒です。
-i
idletime
-b
timeout
-e
TMQFORWARD
サーバを開始および停止できます。
-d
-n
-f
delay
tpcall
を使う代わりにサービスにメッセージを転送するよう指定する場合に使用します。メッセージが送信され、サービスからの応答は期待されません。TMQFORWARD
サーバは、サービスからの応答を待つときにブロックすることなく、キューの次のメッセージを続けて処理できます。TMQFORWARD
がシステムを要求でいっぱいにしないようにするには、delay
値に、処理する要求間の遅延を秒単位で指定します。ゼロを指定すると、遅延は設定されません。
メッセージは、それが読み取られるキューと同じ名前のサービスを提供するサーバに送信されます。キューへのメッセージ登録時に優先順位を指定した場合は、その優先順位がメッセージの優先順位になります。指定していない場合、優先順位はコンフィグレーション ファイルで定義されているサービスの優先順位か、またはデフォルト (50) になります。
メッセージは、1 つのトランザクションの中でキューから取り出され、サーバに送信されます。サービスが正常に終了すると、トランザクションはコミットされ、メッセージはキューから削除されます。メッセージが応答キューに関連付けられている場合は、サービスからの応答はいずれも、返された tpurcode
と共に応答キューに登録されます。応答キューが存在しない場合、応答はドロップされます。
元のメッセージをキューに登録する場合、アプリケーションではメッセージに対する応答のサービス品質を指定することができます。応答のサービス品質が指定されていない場合、応答キューに指定されているデフォルトの配信ポリシーが使用されます。デフォルトの配信ポリシーは、メッセージに対する応答がキューに登録されるときに決定される点に注意してください。つまり、元のメッセージがキューに登録されてから応答が登録されるまでの間に、応答キューのデフォルトの配信ポリシーが変更された場合、応答が最後に登録される時点で有効なポリシーが使用されます。
サービスが異常終了した場合、そのキューに対する再試行制限によって指定されている回数の範囲内でトランザクションがロールバックされ、メッセージがキューに戻されます。メッセージがキューに戻される際、そのメッセージが最初にキューに登録されたときに適用された順位付けルールおよびキューからの取り出しルールは、delay
秒の間、一時的に効力を失います。これにより、たとえば、順位付けの低いメッセージが、キューに戻されたメッセージより先に取り出される可能性が出てきます。
-d
オプションを指定した場合、サービスが異常終了し、かつサーバから応答メッセージが受信されるとメッセージはキューから削除されます。また、応答メッセージ (および関連する tpurcode
) は、異常終了キューがそのメッセージに関連付けられており、かつ存在していればそのキューに登録されます。キューに設定されている再試行の制限に達すると同時にメッセージが削除されるようになっている場合、元の要求メッセージはエラー キューに移されます。
コンフィグレーションの条件によっては、TMQFORWARD
がキューからメッセージを取り出せないか、メッセージを転送できないことがあり、その場合はサーバを起動できなくなります。こうした条件では、次のことが必要です。
TMQFORWARD
は、Oracle Tuxedo に用意されている標準バッファ タイプを処理します。これ以外のアプリケーション バッファ タイプが必要な場合は、buildserver(1) をカスタマイズ タイプ スイッチと共に使用して、TMQFORWARD
のカスタマイズ バージョンを構築する必要があります。詳細については、『Tuxedo /Q コンポーネント』を参照してください。
呼び出し側によって組み込まれるファイルには、アプリケーション バッファ タイプ スイッチおよびサポートされる必須のルーチンのみを入れてください。buildserver
は、サーバ オブジェクト ファイル $TUXDIR/lib/TMQFORWARD.o
とアプリケーション タイプ スイッチのファイル (複数可) を結合し、これに必要な Oracle Tuxedo システム ライブラリをリンクするために使用されます。次の例を使用して、詳細を説明します。
buildserver -v -o TMQFORWARD -r TUXEDO/QM -f ${TUXDIR}/lib/TMQFORWARD.o -f apptypsw.o
-v
-o
name
SERVERS
セクション中にも指定しなければなりません。一貫性を保つために、この名前として TMQFORWARD
を使用することをお勧めします。このコマンドのアプリケーション固有バージョンは $APPDIR
にインストールでき、インストールすると $TUXDIR/bin
にあるコマンドの代わりにそれが起動されます。
-r
TUXEDO/QM
TUXEDO/QM
は、$TUXDIR/udataobj/RM
に配置されているリソース マネージャ テーブルにあり、Oracle Tuxedo システムのキュー マネージャ用のライブラリを含んでいます。
-f $TUXDIR/lib/TMQFORWARD.o
-f
firstfiles
buildserver
のコンパイル段階やリンク段階で組み込まれる 1 つまたは複数のユーザ ファイルを指定します。ソース ファイルは、cc
コマンド、または CC 環境変数を通して指定されるコンパイル コマンドのいずれかを使用してコンパイルされます。これらのファイルは、TMQFORWARD
.o オブジェクト ファイルを組み込んだ後に指定しなければなりません。複数のファイルを指定する場合には、ファイル名を空白類 (スペースまたはタブ) で区切り、全体を引用符で囲みます。このオプションは、何回も指定することができます。
TMQFORWARD
は、サポートされているすべてのサーバ プラットフォームで Oracle Tuxedo システム提供のサーバとしてサポートされます。
TMQFORWARD
は相互運用するアプリケーションで実行できますが、Oracle Tuxedo リリース 4.2 以降のノードで実行する必要があります。
*GROUPS # Windows の場合、:myqueue を ;myqueue にする
TMQUEUEGRP LMID=lmid GRPNO=1 TMSNAME=TMS_QM
OPENINFO="TUXEDO/QM:/dev/device:myqueue"
# CLOSEINFO は必要ない
*SERVERS # 推奨値は RESTART=Y GRACE=0
TMQFORWARD SRVGRP="TMQUEUEGRP" SRVID=1001 RESTART=Y GRACE=0
CLOPT=" -- -qservice1,service2" REPLYQ=N
TMQUEUE SRVGRP="TMQUEUEGRP" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-s ACCOUNTING:TMQUEUE”
buildserver(1)、tpdequeue(3c)、tpenqueue(3c)、servopts(5)
、TMQUEUE(5)
、UBBCONFIG(5)
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』
TMQUEUE
identifier
SRVGRP=”“
number
SRVID=”“ CLOPT=" [-A][servopts
options] -- [-t
timeout]”
メッセージ キュー マネージャは Oracle Tuxedo システムが提供するサーバで、tpenqueue()
および tpdequeue()
を呼び出すプログラムの代わりにキューへのメッセージの登録とキューからのメッセージの取り出しを実行します。アプリケーション管理者は、SERVERS
セクションでこのサーバをアプリケーション サーバとして指定することにより、アプリケーションでキューに対するメッセージの登録および取り出しを行うことができます。
位置指定、サーバ グループ、サーバ識別子、その他の汎用サーバ関連パラメータは、サーバ用に定義されているコンフィグレーション ファイル機構を使用して、このサーバに関連付けられます。次に、カスタマイズに使用できる追加コマンドライン オプションを示します。
-t
timeout
tpenqueue()
または tpdequeue()
がトランザクション モード以外の呼び出し側から呼び出されたり、TPNOTRAN
フラグを指定して呼び出されたりする場合です。この値は、TPQWAIT
オプションが指定された、キューからの取り出し要求にも影響します。この値に基づいて操作がタイムアウトし、エラーが要求者に返されるからです。指定されない場合、デフォルト値は 30 秒です。
TMQUEUE
サーバはアプリケーションの一部として起動され、アプリケーションから関連するキュー スペースへのアクセスを容易にします。キュー スペースはキューの集まりです。
コンフィグレーションの条件によっては、TMQUEUE
がキューにメッセージを登録できないか、キューからメッセージを取り出せないことがあり、その場合 TMQUEUE
サーバは起動時に異常終了します。SRVGRP
では、TMSNAME
が TMS_QM
に設定されている必要があり、OPENINFO
には関連するデバイスおよびキュー スペースの名前が設定されている必要があります。
tpenqueue()
および tpdequeue()
関数は、第 1 引数としてキュー スペースの名前を取ります。この名前は、TMQUEUE
によって宣言されたサービスの名前でなければなりません。デフォルトでは、TMQUEUE
はサービス TMQUEUE
だけを提供します。キュー スペースを 1 つだけ使用するアプリケーションの場合はこれで十分ですが、複数のキュー スペースを持つアプリケーションでは、異なるキュー スペース名を必要とすることがあります。また、アプリケーションによっては、キュー スペースと同じ名前のより説明的なサービス名の指定が必要になる場合もあります。追加サービス名の宣言は、使用例にもあるように、標準のサーバ コマンドライン オプション -s
を使用して行うことができます。また、この後の項で説明するように、カスタム
TMQUEUE
プログラムを生成するときにサービスをハードコード化してこれを行うこともできます。
これらの方法 (サーバ コマンドライン オプション、またはカスタマイズされたサーバ) は、キュー スペースにメッセージの静的ルーティングを行う場合に使用できますが、データ依存型ルーティングを使用して動的なルーティングを行うこともできます。この場合、各 TMQUEUE
サーバは同じサービス名を宣言しますが、コンフィグレーション ファイルの ROUTING
フィールドが使用されて、待機メッセージ内のアプリケーション データに基づくルーティング基準が指定されます。ルーティング関数は、サービス名とアプリケーションの型付きバッファ データに基づいて、GROUP
を返します。この GROUP を使用して、指定のグループにあるサービスにメッセージが転送されます (なお、キュー スペースは、OPENINFO
文字列に基づいて GROUP
につき 1 つしか存在できません)。
TMQUEUE
は、Oracle Tuxedo に用意されている標準バッファ タイプを処理します。これ以外のアプリケーション バッファ タイプが必要な場合は、buildserver(1) を使用して、TMQUEUE
のカスタマイズ バージョンを構築する必要があります。詳細については、『Tuxedo /Q コンポーネント』を参照してください。
buildserver
で記述されるカスタマイズは、サーバ用にサービス名をハードコード化する場合にも使用できます。
呼び出し側によって組み込まれるファイルには、アプリケーション バッファ タイプ スイッチおよびサポートされる必須のルーチンのみを入れてください。buildserver
は、サーバ オブジェクト ファイル $TUXDIR/lib/TMQUEUE.o
とアプリケーション タイプ スイッチのファイル (複数可) を結合し、これに必要な Oracle Tuxedo システム ライブラリをリンクするために使用されます。次の例を使用して、詳細を説明します。
buildserver -v -o TMQUEUE -s
qspacename:TMQUEUE -r TUXEDO/QM \
-f ${TUXDIR}/lib/TMQUEUE.o -f apptypsw.o
-v
-o
name
SERVERS
セクション中にも指定しなければなりません。一貫性を保つために、この名前として TMQUEUE
を使用することをお勧めします。
-s
qspacename,qspacename
:TMQUEUE
servopts(5)
を参照)。このサーバでは、サービス名は要求の送信先となるキュー スペースの名前のエリアスとして使用されます。カンマとカンマの間に空白を入れてはいけません。関数名 TMQUEUE
の前にはコロンを付けます。-s
オプションは何回使用してもかまいません。
-r TUXEDO/QM
TUXEDO/QM
は、$TUXDIR/udataobj/RM
に配置されているリソース マネージャ テーブルにあり、Oracle Tuxedo システムのキュー マネージャ用のライブラリを含んでいます。
-f $TUXDIR/lib/TMQUEUE.o
-f
firstfiles
buildserver
のコンパイル段階やリンク段階で組み込まれる 1 つまたは複数のユーザ ファイルを指定します。ソース ファイルは、cc
コマンド、または CC 環境変数を通して指定されるコンパイル コマンドのいずれかを使用してコンパイルされます。これらのファイルは、TMQUEUE.o
オブジェクト ファイルを組み込んだ後に指定しなければなりません。複数のファイルを指定する場合には、ファイル名を空白類 (スペースまたはタブ) で区切り、全体を引用符で囲みます。このオプションは、何回も指定することができます。
TMQUEUE
は、サポートされているすべてのサーバ プラットフォームで Oracle Tuxedo システム提供のサーバとしてサポートされます。
TMQUEUE
は相互運用するアプリケーションで実行できますが、Oracle Tuxedo リリース 4.2 以降のノードで実行する必要があります。
*GROUPS
# Windows の場合、:myqueue を ;myqueue にする
TMQUEUEGRP1 GRPNO=1 TMSNAME=TMS_QM
OPENINFO="TUXEDO/QM:/dev/device1:myqueue"
# Windows の場合、:myqueue を ;myqueue にする
TMQUEUEGRP2 GRPNO=2 TMSNAME=TMS_QM
OPENINFO="TUXEDO/QM:/dev/device2:myqueue"
*SERVERS
# この例では、キュー スペース名 myqueue に ACCOUNTING というエリアスが付けられている
TMQUEUE SRVGRP="TMQUEUEGRP1" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-s ACCOUNTING:TMQUEUE"
TMQUEUE SRVGRP="TMQUEUEGRP2" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-s ACCOUNTING:TMQUEUE"
TMQFORWARD SRVGRP="TMQUEUEGRP1" SRVID=1001 RESTART=Y GRACE=0 REPLYQ=N
CLOPT=" -- -qservice1"
TMQFORWARD SRVGRP="TMQUEUEGRP2" SRVID=1001 RESTART=Y GRACE=0 REPLYQ=N
CLOPT=" -- -qservice1"
*SERVICES
ACCOUNTING ROUTING="MYROUTING"
*ROUTING
MYROUTING FIELD=ACCOUNT BUFTYPE="FML"
RANGES="MIN - 60000:TMQUEUEGRP1,60001-MAX:TMQUEUEGRP2”
この例では、2 つのキュー スペースを使用できます。どちらの TMQUEUE
サーバも同じサービスを提供し、ルーティングはアプリケーションの型付きバッファの ACCOUNT
フィールドを介して行われます。
buildserver(1)、tpdequeue(3c)、tpenqueue(3c)、servopts(5)
、TMQFORWARD(5)
、UBBCONFIG(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』
TMSYSEVT SRVGRP=”
identifier
“ SRVID=”
number
“
[CLOPT="[-A] [servoptsoptions
]
[-- [-S] [-ppoll-seconds
] [-f
control-file
]]"]
TMSYSEVT
は Oracle Tuxedo システムが提供するサーバで、システム エラーや潜在的なエラー状態に関するイベント通知を処理します。イベント レポートはフィルタを通され、1 つまたは複数の通知アクションを開始できます。
フィルタや通知に関するルールは、制御ファイル control-file
に格納されます。デフォルトの名前は ${APPDIR}/tmsysevt.dat
です。control-file の構文は EVENT_MIB(5)
で定義します。特に、EVENT_MIB
のクラス属性を設定することで、通知ルールの範囲内でサブスクリプションをアクティブ化できます。
1 つまたは複数の二次的な TMSYSEVT
プロセスを起動して、可用性を高めることができます。追加サーバは、「セカンダリ サーバ」であることを示すコマンドライン オプション -S
を指定して起動する必要があります。
EVENT_MIB(5)
のコンフィグレーションが更新されるときには、プライマリ TMSYSEVT
サーバがその制御ファイルに書き込みを行います。セカンダリ サーバは、プライマリ サーバの制御ファイルが更新されているかどうかをポーリングを通じてチェックし、必要であれば各自の (ローカルの) 制御ファイルを更新します。ポーリングの間隔は -p
オプションで指定できます。デフォルト値は 30 秒です。
注意 : | 複数のリリースの Oracle Tuxedo システムで構成された MP コンフィグレーションを設定し、TMUSREVT および TMSYSEVT サーバを実行する場合は、これらのサーバを最新のリリースのノードで実行する必要があります。 |
TMSYSEVT
は、Oracle Tuxedo リリース 6.0 以降のマシンで実行する必要があります。
プライマリ TMSYSEVT
サーバを別のマシンに移行するには、システム管理者は現在の制御ファイルのコピーを提供する必要があります。セカンダリ
TMSYSEVT
サーバは、最新のコピーを自動的に維持します。
TMSYSEVT
は、システム イベントを定義した FML32 フィールド テーブルへのアクセス手段が必要になります。FLDTBLDIR32
には $TUXDIR/udataobj
が、FIELDTBLS32
には evt_mib
がそれぞれ含まれている必要があります。これらの環境変数は、マシンまたはサーバの環境設定ファイルで設定できます。
*SERVERS
TMSYSEVT SRVGRP=ADMIN1 SRVID=100 RESTART=Y GRACE=900 MAXGEN=5
CLOPT="-A --"
TMSYSEVT SRVGRP=ADMIN2 SRVID=100 RESTART=Y GRACE=900 MAXGEN=5
CLOPT="-A -- -S -p 90”
tpsubscribe(3c)、EVENTS(5)
、EVENT_MIB(5)
、TMUSREVT(5)
実行時トレース機能を使用すると、アプリケーション管理者および開発者は、Oracle Tuxedo アプリケーションの実行をトレースできます。
実行時トレースは、アプリケーション実行時の注意すべき条件または遷移をマークする、trace point
の概念に基づいています。トレース ポイントの例としては、tpcall
などの ATMI 関数へのエントリ、Oracle Tuxedo メッセージの到着、トランザクションの開始などがあります。
トレース ポイントに到達すると、次のことが発生します。まず、フィルタ filter
が適用され、トレース ポイントを処理すべきかどうかを決定します。トレース ポイントを処理すべき場合、trace record
が receiver
に発行されます。receiver はファイルか (将来は) バッファです。最後に、プロセスの中止などの action
が起動されます。レシーバへの発行およびトリガはどちらも省略可能であり、トレース ポイントがフィルタを通らない場合には発生しません。
フィルタ、レシーバ、およびトリガは、trace specification
で指定します。構文について以下に記述します。トレース指定は、TMTRACE
環境変数から初期化されます。実行中のプロセスのトレース指定は、トリガー アクションによってか、tmadmin(1) の changetrace
コマンドを使用することで変更できます。
トレース ポイントは、以下に列挙するような trace categories
に分類されます。各トレース ポイントは 1 つのカテゴリに属します。フィルタは、処理するトレース カテゴリを記述し、フィルタを通らないトレース ポイントには最小限の処理が行われます。
また、実行時トレーシングは、クライアントがサーバに送信したメッセージ (またはそのサーバから他のサーバへ) を dye
設定する機能を提供します。プロセスがメッセージをダイ設定するように選択した場合、発信元プロセスによってダイ設定が自動的に、発信元プロセスから直接または間接的にメッセージを受信するすべてのプロセスに渡されます。プロセスがダイ設定されたメッセージを受け取ると、atmi
トレース カテゴリが自動的にオンになり、ユーザ ログへのトレース レコードの発行が開始されます (発行が行われていなかった場合)。
ダイ設定は、トレース指定の dye
トリガと undye
トリガによって明示的にオンまたはオフにできます。また、ダイ設定は、ダイ設定されたメッセージが受信されたときに暗黙的にオンになり、tpreturn()
および tpforward()
によって暗黙的にオフにできます。ダイ設定が暗黙的にオフされた場合、ダイ設定がオンであったときに有効であったトレース指定が復元されます。
atmi
tp
関数や tx_
関数に対する呼び出し) およびアプリケーション サービス起動のためのトレース ポイント。いくつか例外があります。最初の呼び出し tpinit()
で ATMI 呼び出しが処理される際の tpinit
に対する暗黙的な呼び出し、およびエラーが発生して tpreturn
が呼び出される場合には、暗黙的な呼び出しは TX インタフェースが ATMI インタフェースを直接呼び出すこのカテゴリに出力されます。
iatmi
ATMI および TX インタフェースの暗黙的な呼び出しのトレース ポイント。これらのトレース ポイントは、アプリケーションの要求の処理中に呼び出される内部呼び出し、および管理を目的として呼び出される内部呼び出しのすべてを示します。この値をセットすることは、atmi
レベル、つまり ATMI または TX インタフェースのすべての呼び出し (明示的な呼び出しと暗黙的な呼び出しの両方) がトレースされることを意味します。
trace
トレース指定は、filter-spec
:
receiver-spec
[ :
trigger-spec
] という構文で指定する文字列です。filter-spec
は、検査または無視するトレース カテゴリを記述します。receiver-spec
は、トレース レコードのレシーバです。省略可能な trigger-spec
は、実行するアクションを記述します。
NULL 文字列も有効なトレース指定です。NULL 文字は、他の指定がない場合のすべての Oracle Tuxedo プロセスのデフォルトです。
文字列 on
と off
も指定できます。on
は atmi:ulog:dye
のエリアスで、off
は : :undye
と等価です。
トレース指定の最初の要素であるフィルタ指定の構文は次のとおりです。
[ { +
| -
} ] [ category
] ...
ここで category
は、上記に示したカテゴリの 1 つです。category
の位置に記号 *
を使用すると、すべてのカテゴリを表すことができます。接頭辞 +
または -
は、後続のカテゴリを現在有効なカテゴリのセットに追加またはそのセットから削除することを示します。+
または -
の次にカテゴリがない場合、現在有効なカテゴリは変更されません。
フィルタが空の場合、カテゴリが 1 つも選択されず、トレースが使用不可になります。
トレース ポイントが発生すると、そのカテゴリがフィルタ指定と比較されます。カテゴリがフィルタ指定に含まれている場合、トレース ポイントは、レシーバおよびトリガ指定に従ってさらに処理されます。カテゴリが含まれていない場合、トレース ポイントの処理はこれ以上発生しません。
レシーバは、トレース レコードの送信先となるエンティティです。各トレース レコードには、最大 1 つのレシーバがあります。
トレース指定の 2 番目の要素であるレシーバ指定の構文は次のとおりです。
[/
regular-expression
/
] receiver
ここでは、省略可能な正規表現を使用して、フィルタを通過するトレース ポイントの一部を選択できます。正規表現は、トレース レコードと比較されます。空のレシーバ指定も有効であり、この場合、トレース レコードは発行されません。
ulog
utrace
utrace
の受信側を指定すると、atmi トレース カテゴリ レコードに対してのみユーザ定義の tputrace(3c) が自動的に呼び出されます。トレース レコード情報と出力の場所をカスタマイズできます。
トリガは、トレース レコードの発行後に実行される、省略可能なアクションです。フィルタを通過した各トレース レコードに対して、最大 1 つのアクションが実行されます。
トレース指定の、省略可能な 3 番目の要素であるトリガ指定の構文は、次のとおりです。
[/ regular-expression
/] action
ここでは、省略可能な正規表現を使用して、フィルタを通過するトレース ポイントの一部に対してだけトリガが実行されるよう設定できます。正規表現は、トレース レコードと比較されます。
abort
message
)
command
)
trace-spec
)
dye
undye
seconds
)
ここで cc
はトレース カテゴリの最初の 2 文字で、data
はトレース ポイントに関する追加情報です。
トレース レコードがユーザ ログに表示されるとき、その行は次のようになります。
hhmmss.system-name
!
process-name.pid
: TRACE:
cc
:
data
MAC プラットフォームで動作するワークステーション クライアントのレシーバやトリガに対しては、マッチ パターンを指定することはできません。
tmadmin changetrace
コマンドは、/WS クライアントに対するトレース レベルを変更するために使用できません。
クライアントをトレースし、アプリケーション サーバがそのクライアントの代わりに行ったすべての ATMI 呼び出しをトレースするには、クライアントの環境に TMTRACE=on
を設定してエクスポートします。この指定により、クライアント内のすべての明示的な ATMI トレース ポイントがログに記録され、メッセージのダイ設定がオンになります。このクライアントの代わりにサービスを実行するアプリケーション サーバ プロセスは、すべての明示的な ATMI トレース ポイントを自動的にログに記録します。
すべての (明示的および暗黙的な) クライアント トレース ポイントを確認するには、次のように設定してエクスポートします。
TMTRACE="*:ulog:dye:”
前述の例で、クライアントからのサービス要求はトレースし、クライアントからの出力のトレースを tpcall
要求についての最低限の情報に制限するには、次のように設定しエクスポートします。
TMTRACE=atmi:/tpacall/ulog:dye
この指定により、クライアントで行われるすべての tpacall
呼び出しがログに記録され、メッセージのダイ設定がオンになります。クライアントの代わりにサービスを実行するアプリケーション サーバ プロセスは、すべての ATMI トレース ポイントを自動的にログに記録します。tpacall()
トレース レコードに含まれるクライアントの識別子は、クライアントの代わりに呼び出されたサービス ルーチンに渡される TPSVCINFO
パラメータの値と相互に関連させることができます。
アプリケーション サーバによって実行されたすべてのサービス要求の呼び出しをトレースするには、次のように設定します。
TMTRACE=atmi:/tpservice/ulog
これは、参加しているすべてのマシン上のサーバ ENVFILE
に設定します。
メッセージのダイ設定をオンにして、アプリケーションを通してすべてのトレース カテゴリの実行時トレースを有効にするには、次のように設定してエクスポートします。
TMTRACE=*:ulog:dye
これは、すべてのクライアント環境および参加しているすべてのマシン上のサーバ ENVFILE
に設定します。この設定では、BBL
と DBBL
を含むすべてのプロセスがトレース レコードを発行するので、管理できない量の出力が生成される可能性があります。
グループ GROUP1
内の実行中のすべてのサーバで、起動後に ATMI のトレースをオンにするには、次のように tmadmin
の changetrace
コマンドを呼び出します。
changetrace -g GROUP1 on
changetrace
は現在存在しているプロセスに対してのみ影響します。つまり、グループ GROUP1
内で起動していないサーバのトレース コンフィグレーションは変更されません (サーバのデフォルトのトレース コンフィグレーションを設定するには、サーバの ENVFILE
に TMTRACE
を設定します)。
現在実行中のすべてのアプリケーション プロセスでトレーシングをオフにするには、次のように changetrace
を使用します。
changetrace -m all off
グループ GROUP1
内で識別子が 1 の実行中のサーバ プロセスを tpreturn
の実行時に中止するには、tmadmin
に対して次のように指定します。
changetrace -i 1 -g GROUP1 "atmi::/tpreturn/abort"
tmadmin(1)、userlog(3c)、tputrace(3c)
TMUSREVT SRVGRP=”
identifier“ SRVID=”
number“
options
[CLOPT="[-A] [servopts]
poll-seconds
[-- [-S] [-p] [-f
control-file]]"]
TMUSREVT
は Oracle Tuxedo システムが提供するサーバで、tppost(3c) からのイベント レポート メッセージ バッファを処理し、それらにフィルタを適用して転送するイベント ブローカとして動作します。
フィルタや通知に関するルールは、制御ファイル control-file
に格納されます。デフォルトの名前は ${APPDIR}/tmusrevt.dat
です。control-file の構文は EVENT_MIB(5)
で定義します。特に、EVENT_MIB
のクラス属性を設定することで、通知ルールの範囲内でサブスクリプションをアクティブ化できます。
1 つまたは複数の二次的な TMUSREVT
プロセスを起動して、可用性を高めることができます。追加サーバは、「セカンダリ サーバ」であることを示すコマンドライン オプション -S
を指定して起動する必要があります。
EVENT_MIB(5)
のコンフィグレーションが更新されるときには、プライマリ TMUSREVT
サーバがその制御ファイルに書き込みを行います。セカンダリ サーバは、プライマリ サーバの制御ファイルが更新されているかどうかをポーリングを通じてチェックし、必要であれば各自の (ローカルの) 制御ファイルを更新します。ポーリングの間隔は -p
オプションで指定できます。デフォルト値は 30 秒です。
注意 : | 複数のリリースの Oracle Tuxedo システムで構成された MP コンフィグレーションを設定し、TMUSREVT および TMSYSEVT サーバを実行する場合は、これらのサーバを最新のリリースのノードで実行する必要があります。 |
TMUSREVT
は、Oracle Tuxedo リリース 6.0 以降のマシンで実行する必要があります。
プライマリ TMUSREVT
サーバを別のマシンに移行するには、システム管理者は現在の制御ファイルのコピーを提供する必要があります。セカンダリ
TMUSREVT
サーバは、最新のコピーを自動的に維持します。
tppost()
をトランザクション モードで呼び出す場合は、すべての TMUSREVT
サーバ グループがトランザクション機能 (TMS プロセス) を備えている必要があります。
TMUSREVT
サーバの環境変数は、メッセージにフィルタを適用したりフォーマットする際に必要となる FML フィールド テーブルや VIEW ファイルを使用できるように設定しておく必要があります。これらの環境変数は、マシンまたはサーバの環境設定ファイルで設定できます。
*SERVERS
TMUSREVT SRVGRP=ADMIN1 SRVID=100 RESTART=Y MAXGEN=5 GRACE=3600
CLOPT="-A --"
TMUSREVT SRVGRP=ADMIN2 SRVID=100 RESTART=Y MAXGEN=5 GRACE=3600
CLOPT="-A -- -S -p 120”
tppost(3c)、tpsubscribe(3c)、EVENTS(5)
、EVENT_MIB(5)
、TMSYSEVT(5)
tperrno
- Oracle Tuxedo システム エラー コード
#include <atmi.h>
エラー条件のシンボル名によって表される数値は、Oracle Tuxedo システム ライブラリ ルーチンの実行時に発生するエラー用の tperrno
に割り当てられます。
tperrno
は、int
型の変更可能な lvalue
の拡張です。lvalue の値は、複数の Oracle Tuxedo システム ライブラリ ルーチンによって正のエラー番号に設定されます。tperrno
はオブジェクトの識別子である必要はなく、lvalue
関数呼び出しの結果、変更可能な lvalue に拡張される場合があります。tperrno
がマクロであるかまたは外部リンクで宣言される識別子であるかは特定されていません。実際のオブジェクトをアクセスするための tperrno
マクロの定義が抑止されている場合、または、あるプログラムが名前 tperrno
を使用して識別子を定義している場合、動作は不確定です。
Oracle Tuxedo システム ライブラリ ルーチンのリファレンス ページには、各ルーチンのエラー条件とそのコンテキストにおけるエラーの意味が掲載されています。掲載されているエラーの順番は重要ではなく、優先順位を示すものでもありません。tperrno
の値は、エラーが指摘された後にのみ検査します。つまり、構成要素の戻り値がエラーを示していて、構成要素の定義で tperrno
のエラー時の設定が指定されている場合です。tperrno
の値を検査するアプリケーションは、ヘッダ ファイル <atmi.h>
をインクルードしなければなりません。
TPEABORT
TPEBADDESC
TPEBLOCK
TPEDIAGNOSTIC
TPEEVENT
TPEGOTSIG
TPEHAZARD
TPEHEURISTIC
TPEINVAL
TPEITYPE
TPELIMIT
TPEMATCH
TPEMIB
TPENOENT
TPEOS
TPEOTYPE
TPEPERM
TPEPROTO
TPERELEASE
TPERMERR
TPESVCERR
TPESVCFAIL
TPESYSTEM
TPETIME
TPNOBLOCK
または TPNOTIME
が指定されている場合は発生しません。いずれの場合も、*odata
、その内容、*olen
はどれも変更されません。
TPETIME
で異常終了します。ただし、例外が 1 つあります。その例外とは、ブロックされず、応答を期待せず、かつ呼び出し側のトランザクションの代わりに送信されない (つまり、TPNOTRAN
、TPNOBLOCK
、および TPNOREPLY
を設定して tpacall()
を呼び出した場合の) 要求です。
TX_ROLLBACK_ONLY
状態になります。ほとんどの場合、この状態はタイムアウトと同じものとして扱われます。このトランザクションの以降の ATMI 呼び出しは、TPETIME
で異常終了します (前の段落で説明した例外を除く)。
TPETRAN
ルーチンには、エラーの戻り値がないものもあります。tperrno
をゼロに設定するルーチンはないため、アプリケーションは、tperrno
をゼロに設定し、ルーチンを呼び出してから、エラーが発生したかを調べるために再度 tperrno
をチェックできます。
個々の Oracle Tuxedo ライブラリ ルーチンの ERRORS
の項を参照してください。
tpurcode
- アプリケーションが指定する戻りコードのための Oracle Tuxedo システムのグローバル変数
#include <atmi.h>
tpurcode
は、atmi.h
で定義されるグローバル変数です。その値は、tpreturn()
の rcode
引数の値として使用されているものと同じ長さの整数です。tpurcode
はアプリケーションで使用され、アプリケーション サービスを呼び出すプロセスに追加的な情報を返す場合があります。詳細については、tpreturn()
を参照してください。
アプリケーションが tpurcode
の値に意味を割り当てます。
アプリケーション サービスで rcode
により値 myval
を返す場合、次のようになります。
.
.
.
tpreturn(TPSUCCESS, myval, rqst->data, 0L, 0);
.
.
.
.
.
.
ret = tpcall("TOUPPER", (char *)sendbuf, 0, (char **)&rcvbuf, \ &rcvlen, (long)0);
.
.
.
(void) fprintf(stdout, "Returned string is: %s\n", rcvbuf);
(void) fprintf(stdout, "Returned tpurcode is: %d\n", tpurcode);
サンプル クライアント simpcl
を "My String
" という値で呼び出した場合、次のように出力されます。
%simpcl "My String"
Returned string is: MY STRING
Returned tpurcode is: myval
myval
の意味はアプリケーションで定義する必要があります。
tuxenv
- Oracle Tuxedo システムでの環境変数のリスト
アプリケーションのクライアントとサーバをコンパイルし、Oracle Tuxedo システムを実行するには、正しい環境変数の設定とエクスポートが重要です。ここでは、最も使用頻度の高い変数について説明します。
CC
CFLAGS
EDITOR
LANG
nl_types(5)
を参照してください。
LOGNAME
LD_LIBRARY_PATH
NLSPATH
PAGER
PATH
SHELL
TERM
TMPDIR
tmpnam()
関数 (Oracle Tuxedo MIB およびその他の Oracle Tuxedo コードで呼び出される) で指定される、オペレーティング システム固有の場所に書き込むこともできます。tmpnam()
の呼び出しが行われると、Oracle Tuxedo システムは TMPDIR
変数を無視します。
tmpnam()
関数で指定される一時的な場所にメッセージ ファイルを書き込み、この一時的な場所のパス名をサービス キューに配置します。Oracle Tuxedo 7.1 以降のリリースでも、このコードは旧リリースと同様に機能します。ただし、一時的な場所は TMPDIR
によって指定されるディレクトリのパス名になり (この変数が設定されている場合)、TMPDIR
が設定されていない場合はオペレーティング システムによって指定されるディレクトリのパス名になります。
TZ
これらの変数についての詳細は、UNIX システムのリファレンス ページ environ
(5) を参照してください。
APPDIR
APP_PW
ENVFILE
TLOGDEVICE
TMUSEIPV6
n|N
にするとデフォルトの IPv4 値になり、y|Y
にすると IPv6 値に設定されます。TMUSEIPV6 は、UBBCONFIG のセクション *MACHINES、*GROUPS、*SERVERS で設定できます。つまり、Tuxedo の起動前に設定できます。/WS、CORBA、Jolt の各クライアントでも設定できます。
tlisten
実行する前に TMUSEIPV6
に y|Y
を設定する必要があります。
注意 : | デュアル スタック ホストの場合は、Tuxedo ドメイン内のコンポーネントの一部が IPv6 を使用し、一部が IPv4 を使用することも可能です。 |
TUXCONFIG
TUXDIR
ULOGPFX
TPMBENC
TPMBENC
に定義されているコードセット エンコーディング名がバッファの属性として自動的に付加され、バッファ データと一緒に目的のプロセスに送信されます。
TPMBACONV
という別の環境変数が設定されている場合、TPMBENC
に定義されているコードセット エンコーディング名が受信バッファ内のコードセット エンコーディング名と比較されます。エンコーディング名が同じでない場合、MBSTRING バッファのデータは TPMBENC
に定義されているエンコーディングに変換されてからサーバまたはクライアント プロセスに渡されます。
TPMBENC
のデフォルト値はありません。MBSTRING 型付きバッファを使用するアプリケーション サーバまたはクライアントでは、TPMBENC
を定義する必要があります。
注意 : | TPMBENC は FML32 型付きバッファの FLD_MBSTRING フィールドと同じように使用されます。 |
TPMBACONV
TPMBENC
に定義されているエンコーディングに自動変換するかどうかを指定します。デフォルトでは、自動変換は無効です。つまり、受信した MBSTRING バッファ内のデータはエンコーディング変換されず、そのままの状態で目的のサーバまたはクライアント プロセスに渡されます。TPMBACONV
を Y
(yes) などの NULL 以外の値に設定すると、自動変換が有効になります。
注意 : | TPMBACONV は FML32 型付きバッファの FLD_MBSTRING フィールドと同じように使用されます。 |
URLENTITYCACHING
Y
)。URLENTITYCACHING
を N
(no) に設定すると、キャッシングは無効になります。
URLENTITYCACHEDIR
URLENTITYCACHEDIR
変数には、キャッシュするファイルの絶対パス名を指定します。URLENTITYCACHEDIR
を指定しない場合、デフォルト ディレクトリは URLEntityCachedir
になります。このディレクトリは、アプリケーション サーバまたはワークステーション クライアント プロセスの現在の作業ディレクトリに作成されます (適切な書き込みパーミッションが設定されている場合)。
これらの変数の詳細については、『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』、『COBOL を使用した Oracle Tuxedo アプリケーションのプログラミング』、および『Oracle Tuxedo アプリケーション実行時の管理』を参照してください。
FML および VIEWS で使用される環境変数は以下のとおりです。
FIELDTBLS
VIEWFILES
FLDTBLDIR
VIEWDIR
これらの変数の詳細については、『Oracle Tuxedo アプリケーションの設定』、『Oracle Tuxedo アプリケーション実行時の管理』、『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』、および『FML を使用した Oracle Tuxedo アプリケーションのプログラミング』を参照してください。
以下の変数は、Oracle Tuxedo システムのファイル システムおよびトランザクション ログで使用します。
FSCONFIG
FSMAXCOMMIT
FSMAXUPDATE
FSMSGREP
FSOFFSET
TMUSEIPV6
TPMBENC
TPMBACONV
URLENTITYCACHING
URLENTITYCACHEDIR
WSINTOPPRE71
Y
に設定すると (WSINTOPPRE71=Y
)、相互運用が可能になります。
WSBUFFERS
WSDEVICE
WSENVFILE
WSFADDR
WSFRANGE
変数と共に、アウトバウンド接続を確立する前にプロセスがバインドを試みる TCP/IP ポートの範囲を決定します。
WSFRANGE
WSNADDR
WSRPLYMAX
WSTYPE
これらの変数の詳細については、『Oracle Tuxedo Workstation コンポーネント』を参照してください。
以下の環境変数は、Oracle Tuxedo /Q で使用します。
QMCONFIG
ISSANE
TMQFORWARD
が異常終了した場合も引き続き /Q を正常に動作させるために使用します。この変数を yes/YES
に設定すると、TMQFORWARD
が異常終了 (アプリケーション サーバのハングによるハングなど) した場合、停止要求が TMQFORWARD
に送信され、TMQFORWARD
が /Q ロックを持っていなければ、/Q は正常に動作し、TMQFORWARD
を後で再起動できます。それ以外の場合、TMQFORWARD
が異常終了しすると、/Q は異常と認識され、再起動が必要になります。
詳細については、『Tuxedo /Q コンポーネント』を参照してください。
ALTCC
注意 : | Fujitsu NetCOBOL コンパイラを使用する場合、プラットフォームに関係なくこの変数を cobcc85 に設定する必要があります。 |
ALTCFLAGS
注意 : | Windows システムでは、ALTCC および ALTCFLAGS 環境変数は使用できません。これらの変数を設定すると、予想外の結果が生じます。まず COBOL コンパイラを使用してアプリケーションをコンパイルし、次に生成されたオブジェクト ファイルを buildclient(1) または buildserver(1) コマンドに渡す必要があります。 |
COBCPY
注意 : | Fujitsu NetCOBOL コンパイラを使用する場合、この変数を設定できない場合があります。COBOL 環境変数については、NetCOBOL のマニュアルを参照してください。 |
COBOPT
注意 : | Fujitsu NetCOBOL コンパイラを使用する場合、この変数を設定できない場合があります。COBOL 環境変数については、NetCOBOL のマニュアルを参照してください。 |
TM_ORB_CLTMAXRTY
TM_CBL_IGNORE_CONTEXT
CONTEXT-FLAG
を使用して、Tuxedo 6.5 の COBOL プログラムで TPINITIALIZE
を呼び出すと、TPEINVAL エラーで失敗します。
“Y”
を設定すると、既存の Tuxedo 6.5 の COBOL プログラムは Tuxedo 10.0 で正常に実行し、マルチコンテキスト機能は動作しません。Tuxedo 10.0 の COBOL プログラムでマルチコンテキストを使用する場合は、TM_CBL_IGNORE_CONTEXT
を無効にする必要があります。
これらの変数の詳細については、『COBOL を使用した Oracle Tuxedo アプリケーションのプログラミング』を参照してください。
ALOGPFX
ALOGPFX=string_value
ALOGPFX
が指定されていない場合は、デフォルトの $APPDIR/access
が使用されます。日付 "mmddyy" (月、日、年) がログ ファイル名の接頭辞に追加されます。アクセス ログのファイル名の長さは 255 文字未満でなければなりません。
ALOGRTNSIZE=numeric_value
ALOGRTNSIZE=numeric_value
ALOGRTNSIZE をオンまたはオフに切り替えた後は、Tuxedo を再起動する必要があります。
MHSCACHE
PMID
PMID
を使用して、UBBCONFIG
ファイルで指定されたマシン名を代替マシン名に置き換えることができます。これにより、マスタ マシンをマスタから HA クラスタ内のバックアップに移行できます。
TAGENTLOG
TMCMPLIMIT
TMCMPLIMIT=[
remote_threshold
[,
local_threshold
]]
MAXLONG
までの数字です。この数字により、データ圧縮を行うメッセージの最小バイト サイズが設定されます。
TMCMPPRFM
TMCMPPRFM
を読み取ると、ULOG
メッセージが書き込まれます。
TMNETLOAD
TMNOTHREADS
yes
に設定します。スレッドを使用しないアプリケーションの場合、マルチスレッド処理をオフにすると、ミューテックス関数の呼び出しが減り、パフォーマンスが大幅に向上します。
TMSICACHEENTRIESMAX
UBBCONFIG
ファイルに指定される値をオーバーライドします。
TM_ENGINE_TMSHMSEGSZ
export TM_ENGINE_TMSHMSEGSZ=500
TM_ICU_COMPATIBILITY
TM_ICU_COMPATIBILITY
は、次のように設定できます。
TM_GWT_OLDSECCHECK
GWTDOMAIN
の環境で設定する必要があります。この値は、他の Tuxedo プロセスに (それらに対して設定された場合でも) 影響を与えません。これは、Tuxedo 6.5 で動作する Tuxedo ドメインをパッチ レベル 446 にアップグレードできない場合、Tuxedo 6.5 と他の Tuxedo リリース間のドメイン間トランザクション要求を正常に実行するために使用します。
注意 : | Tuxedo 6.5 ドメインをパッチ レベル 446 以降にアップグレードした場合、この環境変数を削除する必要があります。 |
TM_GWT_OLDSECCHECK=Y
の場合、GWTDOMAIN
で旧形式セキュリティ チェックが使用されます。これは、パッチ レベル 446 より前の Tuxedo 6.5 パッチと相互運用するために必要ですが、セキュリティは低下します。TM_GWT_OLDSECCHECK=Y
の場合、GWTDOMAIN
プロセスはネットワークから最初のデータまたは接続を受け取ったときにその事実を示す ULOG メッセージを書き出します。
TM_GWT_OLDSECCHECK=N
または TM_GWT_OLDSECCHECK
を設定しなかった場合、最後のセキュリティ チェックが使用されます。この場合、相互運用しているすべての Tuxedo 6.5 ドメインが少なくともパッチ レベル 446 である必要があります。
TM_LOG_ESYS
export TM_LOG_ESYS=all
export TM_LOG_ESYS=native
export TM_LOG_ESYS=native:ws
export TM_LOG_ESYS=native:ws:domain
(same as “all”
)
注意 : | native=native ATMI 呼び出し、ws=workstation ATMI 呼び出し、domain=ATMI 呼び出しは、ドメイン ゲートウェイを通過します。 |
TUX_BLOCKLICIW
注意 : | 任意の文字列を set すると TUX_BLOCKLICIW が有効になり、unset すると無効になります。 |
TUX_BLOCKLICIW
によってブロックされるエラー メッセージは以下のとおりです。CMDTUX_CAT:4749 WARN: Reached 100% of TUXEDO System Binary Licensed User Count
CMDTUX_CAT:4753 INFO: Reached 90% of TUXEDO System Binary Licensed User Count
CMDTUX_CAT:4729 WARN: Reached 100% of TUXEDO System Binary Licensed User Count
CMDTUX_CAT:4731 INFO: Reached 90% of TUXEDO System Binary Licensed User Count
CMDTUX_CAT:4750 WARN: .SysLicenseWarn: Reached 100%% of TUXEDO System Binary Licensed User Count
CMDTUX_CAT:4754 INFO: .SysLicenseInfo: Reached 90%% of TUXEDO System Binary Licensed User Count
CMDTUX_CAT:4730 WARN: .SysLicenseWarn: Reached 100%% of TUXEDO System Binary Licensed User Count
CMDTUX_CAT:4732 INFO: .SysLicenseInfo: Reached 90%% of TUXEDO System Binary Licensed User Count
TUX_SSL_ENFORCECONSTRAINTS
UIMMEDSIGS
buildclient(1)、buildserver(1)、viewc、viewc32(1)
UNIX システムのリファレンス マニュアルの cc(1)
、environ
(5)
tuxtypes
- バッファ タイプ スイッチ、Oracle Tuxedo システムによって提供されるバッファ タイプの説明
/*
* 以下の定義は、
* $TUXDIR/lib/tmtypesw.c に指定されている
*/
#include <stdio.h>
#include <tmtypes.h>
/*
* バッファ タイプ スイッチの初期化
*/
struct tmtype_sw_t tm_typesw[] = {
{
"CARRAY", /* type */
"*", /* subtype */
0 /* dfltsize */
NULL, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
NULL, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
NULL, /* encdec */
NULL, /* route */
NULL, /* filter */
NULL, /* format */
NULL, /* presend2 */
NULL /* マルチバイト コードセット コーディング変換 */
},
{
"STRING", /* type */
"*", /* subtype */
512, /* dfltsize */
NULL, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
_strpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_strencdec, /* encdec */
NULL, /* route */
_sfilter, /* filter */
_sformat, /* format */
NULL, /* presend2 */
NULL /* マルチバイト コードセット コーディング変換 */
},
{
"FML", /* type */
"*", /* subtype */
1024, /* dfltsize */
_finit, /* initbuf */
_freinit, /* reinitbuf */
_funinit, /* uninitbuf */
_fpresend, /* presend */
_fpostsend, /* postsend */
_fpostrecv, /* postrecv */
_fencdec, /* encdec */
_froute, /* route */
_ffilter, /* filter */
_fformat, /* format */
NULL, /* presend2 */
NULL /* マルチバイト コードセット コーディング変換 */
},
{
"VIEW", /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit, /* initbuf */
_vreinit, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec, /* encdec */
_vroute, /* route */
_vfilter, /* filter */
_vformat, /* format */
NULL, /* presend2 */
NULL /* マルチバイト コードセット コーディング変換 */
},
{
/* XATMI - CARRAY と同じ */
"X_OCTET", /* type */
"*", /* subtype */
0 /* dfltsize */
},
{ /* XATMI - VIEW と同じ */
{'X','_','C','_','T','Y','P','E'}, /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit, /* initbuf */
_vreinit, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec, /* encdec */
_vroute, /* route */
_vfilter, /* filter */
_vformat, /* format */
NULL, /* presend2 */
NULL /* マルチバイト コードセット コーディング変換 */
},
{
/* XATMI - VIEW と同じ */
{'X','_','C','O','M','M','O','N'}, /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit, /* initbuf */
_vreinit, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec, /* encdec */
_vroute, /* route */
_vfilter, /* filter */
_vformat, /* format */
NULL, /* presend2 */
NULL /* マルチバイト コードセット コーディング変換 */
},
{
"FML32", /* type */
"*", /* subtype */
1024, /* dfltsize */
_finit32, /* initbuf */
_freinit32, /* reinitbuf */
_funinit32, /* uninitbuf */
_fpresend32, /* presend */
_fpostsend32, /* postsend */
_fpostrecv32, /* postrecv */
_fencdec32, /* encdec */
_froute32, /* route */
_ffilter32, /* filter */
_fformat32, /* format */
_fpresend232 /* presend2 */
_fmbconv32 /* マルチバイト コードセット コーディング変換 */
},
{
"VIEW32", /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit32, /* initbuf */
_vreinit32, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend32, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec32, /* encdec */
_vroute32, /* route */
_vfilter32, /* filter */
_vformat32, /* format */
NULL, /* presend2 */
NULL /* マルチバイト コードセット コーディング変換 */
},
{
"XML", /* type */
"*", /* subtype */
0, /* dfltsize */
NULL, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
NULL, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
NULL, /* encdec */
_xroute, /* route */
NULL, /* filter */
NULL, /* format */
NULL, /* presend2 */
NULL /* マルチバイト コードセット コーディング変換 */
},
{
"MBSTRING", /* type */
"*", /* subtype */
0, /* dfltsize */
_mbsinit, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
_mbspresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
NULL, /* encdec */
NULL, /* route */
NULL, /* filter */
NULL, /* format */
NULL, /* presend2 */
_mbsconv /* マルチバイト コードセット コーディング変換 */
},
{
""
}
};
struct tmtype_sw_t _TM_FAR *
_TMDLLENTRY
_tmtypeswaddr(void)
{
return(tm_typesw);
}
次の表に、Oracle Tuxedo システムの 11 のバッファ タイプを示します。
すべての VIEW、X_C_TYPE、および X_COMMON バッファは同じルーチン セットで処理され、特定の VIEW の名前はそのサブタイプの名前です。
カスタム バッファ タイプを指定する場合には、上記の tm_typesw
配列にインスタンスを追加します。新しいバッファ タイプを追加したり、既存のバッファ タイプを削除したりする場合は、上に示したように配列の最後に NULL
エントリを残しておく必要があります。バッファ タイプに NULL
名を指定することはできません。
デフォルトの配列のコピーは $TUXDIR/lib/tmtypesw.c
で配布され、開始点として使用されます。新しいバッファ タイプ スイッチをインストールする手順として推奨されるのは、tmtypesw.c
をコンパイルし、libbuft
というライブラリ内に唯一の要素として格納することです。
共有オブジェクト機能を持つシステムでは、$TUXDIR/lib
の下に libbuft.so.
という新しいインスタンスを作成およびインストールします。WSH
などの Oracle Tuxedo システム プロセスを含むすべてのプロセスは、再コンパイルしなくても新しいタイプ スイッチに自動的にアクセスできるようになります。Windows のワークステーションでは、バッファ タイプ スイッチのための共有オブジェクトは WBUFT.DLL
です。これは、$TUXDIR¥bin
に格納される必要があります。
共有オブジェクト機能を持たないシステムでは、$TUXDIR/lib
の下に libbuft.a
という新しいインスタンスを作成およびインストールします。新しいタイプについて知る必要があるすべてのプロセスは、buildclient(1) または buildserver(1) を使用して再作成する必要があります。WSH
のようなシステム プロセスは、buildwsh(1) などの特別なコマンドで再作成する必要があります。
バッファ タイプ スイッチの要素とルーチンについては、buffer(3c) を参照してください。そこでは、システム標準のバッファ タイプを変更するときにアプリケーションが使用できる Oracle Tuxedo システムのデフォルト ルーチン (_finit()
など) についても説明されています。
システムに用意されている _froute()
、_vroute()
、および _xroute()
の 3 つのルーティング関数は、それぞれ FML バッファ、VIEW バッファ、および XML バッファのデータ依存型ルーティングに使用されます。これら 3 つの関数で使用するルーティング基準の定義方法については、UBBCONFIG(5)
を参照してください。
$TUXDIR/tuxedo/include/tmtypes.h - タイプ スイッチの定義
$TUXDIR/lib/tmtypesw.c — デフォルト タイプ スイッチのインスタンス
$TUXDIR/lib/libbuft.so — タイプ スイッチ共有オブジェクト
$TUXDIR/lib/libbuft.a — タイプ スイッチ アーカイブ ライブラリ
buffer(3c)、typesw(5)
、UBBCONFIG(5)
typesw
- バッファ タイプ スイッチ構造体、各バッファ タイプに必要なパラメータとルーチン
/*
* 以下の定義は、$TUXDIR/tuxedo/include/tmtypes.h にある
*/
#define TMTYPELEN ED_TYPELEN
#define TMSTYPELEN ED_STYPELEN
struct tmtype_sw_t {
char type[TMTYPELEN]; /* バッファのタイプ */
char subtype[TMSTYPELEN]; /* バッファのサブタイプ */
long dfltsize; /* バッファのデフォルト サイズ */
/* バッファ初期化関数へのポインタ */
int (_TMDLLENTRY *initbuf) _((char _TM_FAR *, long));
/* バッファ再初期化関数へのポインタ */
int (_TMDLLENTRY *reinitbuf) _((char _TM_FAR *, long));
/* バッファ非初期化関数へのポインタ */
int (_TMDLLENTRY *uninitbuf) _((char _TM_FAR *, long));
/* バッファ送信前処理関数へのポインタ */
long (_TMDLLENTRY *presend) _((char _TM_FAR *, long, long));
/* バッファ送信後処理関数へのポインタ */
void (_TMDLLENTRY *postsend) _((char _TM_FAR *, long, long));
/* バッファ受信後処理関数へのポインタ */
long (_TMDLLENTRY *postrecv) _((char _TM_FAR *, long, long));
/* XDR エンコード/デコード関数へのポインタ */
long (_TMDLLENTRY *encdec) _((int, char _TM_FAR *, long, char _TM_FAR *, long));
/* ルーティング関数へのポインタ */
int (_TMDLLENTRY *route) _((char _TM_FAR *, char _TM_FAR *, char _TM_FAR *,
long, char _TM_FAR *));
/* バッファ フィルタ処理関数へのポインタ */
int (_TMDLLENTRY *filter) _((char _TM_FAR *, long, char _TM_FAR *, long));
/* バッファ フォーマット処理関数へのポインタ */
int (_TMDLLENTRY *format) _((char _TM_FAR *, long, char _TM_FAR *,
char _TM_FAR *, long));
/* 送信前、おそらくコピー生成前のバッファの処理 */
long (_TMDLLENTRY *presend2) _((char _TM_FAR *, long,
long, char _TM_FAR *, long, long _TM_FAR *));
/* マルチバイト コードセット コーディング変換関数へのポインタ */
long (_TMDLLENTRY *mbconv) _((char _TM_FAR *, long,
char _TM_FAR *, char _TM_FAR *, long, long _TM_FAR *));
/* この領域は将来の拡張のために予約されている */
void (_TMDLLENTRY *reserved[8]) _((void));
};
/*
* アプリケーション バッファ タイプのスイッチ ポインタ
* テーブルへのアクセス時には常にこのポインタを使用
*/
extern struct tmtype_sw_t *tm_typeswp;
バッファ タイプとサブタイプには、バッファが操作されるときに適切なルーチンが呼び出されるようにするため、tm_typesw
配列内にエントリが必要です。Oracle Tuxedo システムに用意されているバッファ タイプについては、tuxtypes(5)
を参照してください。
カスタマイズしたバッファ タイプを指定する場合は、$TUXDIR/lib/tmtypesw.c.
の tm_typesw
配列にインスタンスを追加します。この方法については、tuxtypes(5)
を参照してください。新しいタイプを追加する場合に指定する必要があるルーチンのセマンティクスについては、buffer(3c) を参照してください。
$TUXDIR/tuxedo/include/tmtypes.h - タイプ スイッチの定義
$TUXDIR/lib/tmtypesw.c - タイプ スイッチのインスタンス
UBBCONFIG
- テキスト形式の Oracle Tuxedo コンフィグレーション ファイル
Oracle Tuxedo アプリケーションが起動するとき、tmboot
コマンドは TUXCONFIG
というバイナリ コンフィグレーション ファイルを参照して、アプリケーション サーバの起動処理と掲示板の初期化処理を順番に行うために必要な情報を取得します。このバイナリ ファイルは直接作成できるものではなく、UBBCONFIG
と呼ばれるテキスト ファイルから作成する必要があります。アプリケーションをコンフィグレーションするには、管理者はテキスト エディタで UBBCONFIG
ファイルを作成し、次に tmloadcf(1) コマンドを実行してそのファイルをバイナリ形式の TUXCONFIG
にロードします。アプリケーションが実行されている間、TUXCONFIG
ファイルはさまざまな Oracle Tuxedo 管理ツールによって使用されます。tmadmin(1) は、システムのモニタ活動時にコンフィグレーション ファイル (またはそのコピー) を使用します。また、tmshutdown(1) はコンフィグレーション ファイルを参照して、アプリケーションを停止するために必要な情報を調べます。
Oracle Tuxedo UBBCONFIG
ファイルにはどのような名前を付けることもできますが、ファイルの内容はこのリファレンス ページで説明する形式に準拠している必要があります。また、TUXCONFIG
ファイルにも任意の名前を付けることができますが、実際の名前は TUXCONFIG
環境変数で指定されたデバイス ファイル名またはシステム ファイル名になります。
UBBCONFIG
ファイル全体の詳細については、「UBBCONFIG(5) に関する追加情報」を参照してください。
サーバとは、要求を受け付け、その応答をクライアントや別のサーバに送信するプロセスです。一方、クライアントは要求を送信し、その応答を受け取ります。
リソース マネージャとは、情報やプロセス (またはその両方) の集まりへのアクセスを提供するインタフェースおよび関連ソフトウェアです。リソース マネージャの例としては、データベース管理システムがあります。リソース マネージャのインスタンスとは、DBMS によって制御される、特定のデータベースのインスタンスのことです。分散トランザクションとは、複数のリソース マネージャのインスタンスにまたがるトランザクションのことで、tpbegin()
で開始され、tpcommit()
または tpabort()
で完了します。
サーバ グループはリソース マネージャのインスタンスであり、特定のマシン上に配置されたこのリソース マネージャ インスタンスへのアクセスを提供するサーバやサービスの集合です。このサーバ グループに関連付けられている XA インタフェースは、トランザクション管理に使用されます。サーバがリソース マネージャのインスタンスにアクセスしないか、または分散型トランザクションの一部としてリソース マネージャのインスタンスにアクセスしない場合は、そのサーバはサーバ グループにあって、NULL の XA インタフェースを持つ必要があります。同様に、クライアントは GROUPS
セクションで指定する必要のない、特別なクライアント グループ内で動作します。このクライアント グループはリソース マネージャには関連付けられません。
リモート ドメインは、この Oracle Tuxedo システム コンフィグレーションの掲示板が使用できない環境として定義されます。リモート ドメインは UBBCONFIG
コンフィグレーション ファイルには指定せず、ホスト固有のリファレンス ページに指定されているホスト固有の環境変数を介して定義します。
UBBCONFIG
ファイルは、9 つの指定セクションで構成されます。先頭にアスタリスク (*
) が付いている行は、指定セクションの始まりを示します。このような行にはそれぞれ、*
のすぐ後にセクション名が含まれています。使用可能なセクション名は次のとおりです。
RESOURCES
および MACHINES
セクションは、この順序で最初に置く必要があります。GROUPS
セクションは、SERVERS
、SERVICES
、および ROUTING
セクションの前になければなりません。NETGROUPS
セクションは、NETWORK
セクションの前になければなりません。
パラメータ (RESOURCES
内を除く) は通常、KEYWORD
=
value
という形式で指定します。等号 (=
) の前後には空白またはタブ文字を使用できます。この形式により、KEYWORD
が value
に設定されます。有効なキーワードについては、以下の各セクションで説明します。
予約語の DEFAULT
で始まる行にはパラメータ指定が含まれており、セクション内の以降の該当するすべての行に対して適用されます。デフォルトの指定は RESOURCES
セクション以外のすべてのセクションで使用することができ、また 1 つのセクションで複数回使用することもできます。これらの行の形式は次のとおりです。
DEFAULT:
[optional
KEYWORD
=
value
pairs
]
この行で設定した値は、別の DEFAULT
行によってリセットされるか、セクションが終わるまで有効です。これらの値は、DEFAULT
でない行の省略可能なパラメータによってオーバーライドされる場合もあります。DEFAULT
でない行におけるパラメータ設定は、その行でのみ有効です。以降の行ではデフォルト設定に戻ります。DEFAULT
が行頭に表示されると、それ以前に設定されたすべてのデフォルト値はクリアされ、システムのデフォルト値に戻ります。
値が numeric
の場合は、C の標準表記法を使用して基数を示します。つまり、基数 16 (16 進) の接頭辞は 0x、基数 8 (8 進) の接頭辞は 0、基数 10 (10 進) には接頭辞が付きません。数値パラメータに指定できる値の範囲は、そのパラメータの説明の下に示されています。
値が identifier
(SECURITY
パラメータの APP_PW
のように Oracle Tuxedo システムにとって既知の文字列値) の場合、一般的に標準 C 規則が使用されます。標準 C の identifier
の先頭には英字またはアンダースコア (_) を使用し、以降の識別子には英数字またはアンダースコアを使用する必要があります。identifier の長さは最大 30 バイトです (最後の NULL を除く)。
注意 : | 識別子を二重引用符で囲む必要はありません。 |
整数でも識別子でもない値は、二重引用符で囲む必要があります。この値はユーザ定義の string
です。ユーザ定義の文字列は、最後の NULL 文字を除き最大 78 文字 (バイト) です。この規則には、以下のような例外があります。
CLOPT
パラメータの長さは最大 1024 文字です。BUFTYPE
、OPENINFO
、および CLOSEINFO
パラメータの長さは最大 256 文字です。TUXCONFIG
、TUXDIR
、APPDIR
、TLOGDEVICE
、ULOGPFX
、ENVFILE
、TMSNAME
、RCMD
、NADDR
、NLSADDR
、FADDR
、および AOUT
(SERVERS
セクション) パラメータの長さは、Oracle Tuxedo リリース 8.1 では最大 256 文字です。Oracle Tuxedo 8.0 以前では、これらの値の文字列値は 78 文字に制限されます。SEC_PRINCIPAL_NAME
、SEC_PRINCIPAL_LOCATION
、および SEC_PRINCIPAL_PASSVAR
パラメータの長さは、それぞれ最大 51、1023、および 31 文字です (最後の NULL を除く)。RANGES
パラメータの長さは最大 2048 文字です (ただし Domains の場合は最大 4096 文字)。
ROUTING
セクションの RANGES
パラメータでは、特定の文字は円マークを用いることによって文字列の中でエスケープすることができます。
「¥¥」は 1 つの円マーク
「¥"」は二重引用符
「¥n」は復帰改行
「¥t」はタブ
「¥f」は用紙送り
「¥O+」は 8 進数の値が 0+ である文字と解釈
O+
は 1 桁、2 桁、または 3 桁の 8 進文字を表します。「¥0
」は、埋め込み NULL 文字と解釈されます。「¥xH+
」または「¥XH+
」は、16 進数の値が H+
である文字と解釈されます。H+
は 1 桁または複数桁の 16 進文字です。「¥y
」(「y」は上記以外のすべての文字) は、「y」と解釈されます。
「#
」(シャープ記号) はコメントを示します。復帰改行文字でコメントを終了します。
識別子または数値定数には、常に空白類 (スペースまたはタブ文字)、復帰改行文字、または句読文字 (シャープ記号、等号、アスタリスク、コロン、カンマ、円マーク、またはピリオド) が付加されます。
行は、復帰改行の後に最低 1 つのタブを置いて継続できます。コメントを継続することはできません。
このセクションでは、サーバ数やサービス領域に存在できるサービス数など、システム全体のリソースを指定します。RESOURCES
セクションの行は、KEYWORD value
という形式を取ります。KEYWORD
はパラメータの名前、value
はそれに対応する値です。有効な KEYWORD
は以下のとおりです。
IPCKEY
numeric_value
IPCKEY
の値は、32,768 より大きく 262,143 未満でなければなりません。
このパラメータは必須です。MASTER
string_value1
[,string_value2
]
TUXCONFIG
ファイルのマスタ コピーのあるマシンを指定します。また、アプリケーションが MP
モードで動作している場合、MASTER
は DBBL が実行されるマシンを指定します。string_value2
は、プロセスの再配置および起動時に使用される LMID
の代替位置を指定します。本来の位置が使用できない場合、DBBL はこの代替位置で起動し、代替の TUXCONFIG
ファイルが使用されます。LMID
の値はどちらも MACHINES
セクションにあるマシンを指定する必要があり、またどちらも 30 文字以下でなければなりません。このパラメータは必須です (SHM
モードの場合でも)。
MASTER
と BACKUP
は常にすべてのマシンよりも上位のリリースを持っていなければなりません。この規則は「ホット アップグレード」の間は強制されません。
MODEL
{SHM
| MP
}
SHM
(共有メモリ) は、単一マシン用のコンフィグレーションを指定します。MACHINES
セクションに指定できるマシンは 1 つだけです。MP
は、複数マシン用のコンフィグレーションを指定します。ネットワーク化されたアプリケーションを定義する場合は、MP
を指定する必要があります。注意 : 再リンクせずに value
を変更するには、必要なモデルをサポートするようにサーバを構築しておく必要があります (buildserver(1) を参照)。
DOMAINID
string_value
DOMAINID
の値が文字列の場合、後続の NULL 文字も含め最大 30 文字まで使用できます。DOMAINID
の値が 16 進数の文字列の場合、最大 30 オクテットまで使用できます。DOMAINID
が指定されている場合、その値は、特定のドメインに関連付けられているプロセスで通知される任意のコマンド出力 (ps
コマンドの出力など) に、パラメータ (-C
dom
=domainid
) として含まれます。このコメントは、複数のドメインを管理する管理者にとっては役に立ちます。このコメントがないと、複数のドメインを参照する単一の出力ストリームを解釈するのが難しくなる場合があります。
UID
numeric_value
RESOURCES
セクションの値は、プロセッサごとに MACHINES
セクションでオーバーライドできます。
GID
numeric_value
GID
の指定がない場合は、tmloadcf(1) を実行するユーザの有効グループ ID が取られます。RESOURCES
セクションの値は、プロセッサごとに MACHINES
セクションでオーバーライドできます。
PERM
numeric_value
RESOURCES
セクションの値は、プロセッサごとに MACHINES
セクションでオーバーライドできます。
MAXACCESSERS
numeric_value
RESOURCES
セクションの値は、マシンごとに MACHINES
セクションでオーバーライドできます。
restartsrv
、cleanupsrv
、tmshutdown()
、tmadmin()
などのシステム管理プロセスを含める必要はありません。ただし、DBBL、すべてのブリッジ プロセス、すべてのシステム提供サーバ プロセスとアプリケーション サーバ プロセス、および特定のサイトで使用する可能性があるクライアント プロセスはこの数に含めます。システム提供のサーバには、AUTHSVR
、TMQUEUE
、TMQFORWARD
、TMUSREVT
、TMSYSEVT
、TMS
などがあります。GROUPS
セクションの TMSNAME
パラメータ、TMS_QM
、GWTDOMAIN
、および WSL
を参照してください。アプリケーションが特定のサイトでワークステーション リスナ (WSL) を起動する場合は、起動する WSL と使用する可能性があるワークステーション ハンドラ (WSH) の両方をこの数に含める必要があります。
MAXACCESSERS
パラメータと MAXSERVERS
パラメータが使用されていました。つまり、アプリケーションで実行中の 1 台以上のマシンの MAXACCESSERS
の数と、特定のマシンの MAXACCESSERS
の数の合計が、MAXSERVERS
の数とユーザ ライセンス数の合計より大きい場合、マシンを起動することはできませんでした。したがって、アプリケーションの MAXACCESSERS
パラメータには、MAXSERVERS
の数とユーザ ライセンス数の合計か、またはそれより小さい値を指定しなければなりませんでした。
MAXSERVERS
numeric_value
AUTHSVR
、TMQUEUE
、TMQFORWARD
、TMUSREVT
、TMSYSEVT
、TMS
などがあります。GROUPS
セクションの TMSNAME
パラメータ、TMS_QM
、GWTDOMAIN
、および WSL
を参照してください。
MAXSERVERS
の値に入れてください。
MAXSERVICES
numeric_value
MAXGROUPS
numeric_value
MAXNETGROUPS
numeric_value
TUXCONFIG
ファイルの NETWORK
セクションに対応するコンフィグレーション済みのネットワーク グループの最大数を指定します。この値には、1 以上 8192 未満を指定します。指定しない場合は、デフォルト値の 8 が設定されます。
MAXMACHINES
numeric_value
MAXQUEUES
numeric_value
MAXSERVERS
の値に設定されます。5.0 より前のリリースと相互運用するためには、この値は MAXSERVERS
の値と等しくなければなりません。
MAXACLGROUPS
numeric_value
TA_MAXACLGROUPS
- 1
です。この値は、1 以上 16,384 以下でなければなりません。指定しない場合のデフォルト値は 16,384 です。
MAXGTT
numeric_value
RESOURCES
セクションの値は、マシンごとに MACHINES
セクションでオーバーライドできます。
MAXCONV
numeric_value
SERVERS
セクションに何らかの会話型サーバが定義されていればデフォルト値は 64 になり、それ以外のときは 1 になります。サーバ当たりの同時の会話の最大数は 64 です。このパラメータの RESOURCES
セクションの値は、マシンごとに MACHINES
セクションでオーバーライドできます。
MAXBUFTYPE
numeric_value
MAXBUFSTYPE
numeric_value
MAXDRT
numeric_value
ROUTING
セクションの設定値です。
MAXRFT
numeric_value
ROUTING
セクションの設定値です。
MAXRTDATA
numeric_value
ROUTING
セクションの設定値です。
MAXSPDATA
numeric_value
MAXSPDATA
パラメータを使用して共通文字列プールのサイズを拡大できます。共通文字列プールのサイズの変更は、MAXRTDATA
パラメータで制御されるルーティング文字列プールのサイズに影響を与えません。これら 2 つの文字列プールは別々に制御されます。
MAXSPDATA
にどのような値を指定しても、Oracle Tuxedo システムが計算した範囲外の文字列プール領域への割り当ては行われません。この範囲の計算は、(1) TUXCONFIG
ファイルに実際に指定した文字列、および (2) 指定された文字列が最大長の 256 バイトである場合に必要となる領域の長さ、の 2 つに基づいて行われます。tmloadcf(1)
コマンドは、指定された値がこの範囲を外れている場合に警告を表示し、その値を最も近い許容値に設定します。
TUXCONFIG
パラメータのうち、GROUPS
セクションの TMSNAME
パラメータと SERVERS
セクションの AOUT
および RCMD
パラメータだけが実際に掲示板に格納されます。それ以外のパラメータは、プロセス起動時に読み込まれるか、またはプロセス メモリに格納されます。
注意 : | Tuxedo アプリケーションで TSAM イベント プラグインが使用されている場合、追加の TSAM プラグイン イベント規則ストレージに対して MAXSPDATA を明示的にコンフィグレーションする必要があります。詳細については、Oracle TSAM の『Administration Guide』の「Oracle TSAM Agent」を参照してください。 |
MAXTRANTIME
numeric_value
MAXTRANTIME
タイムアウト値が、AUTOTRAN
サービスに対して指定した TRANTIME
タイムアウト値またはトランザクションを開始する際に tpbegin(3c)
呼び出しで渡されたタイムアウト値よりも小さい場合、トランザクションのタイムアウトは MAXTRANTIME
値まで減少します。MAXTRANTIME
は Oracle Tuxedo 8.0 以前を実行するマシン上で開始されるトランザクションには影響を与えません。ただし、Oracle Tuxedo 8.1 以降が動作するマシンがトランザクションの影響を受ける場合は、そのマシンに対してコンフィグレーションされている MAXTRANTIME
値までトランザクション タイムアウト値が制限 (必要に応じて減少) されます。
UBBCONFIG
ファイルの SERVICES
セクションに指定されている TRANTIME
の値が MAXTRANTIME
の値より大きい場合は、tmloadcf(1)
コマンドによってコンフィグレーションがエラーなしでロードされます。AUTOTRAN
トランザクションの影響を受ける Oracle Tuxedo 8.1 以降の各マシンは、そのマシン用にコンフィグレーションされている MAXTRANTIME
値にトランザクション タイムアウトを自動的に短縮します。
CMTRET
{COMPLETE
| LOGGED
}
TP_COMMIT_CONTROL
特性の初期設定を指定します。value
が LOGGED
の場合、TP_COMMIT_CONTROL
特性は TP_CMT_LOGGED
に初期化され、それ以外の場合は TP_CMT_COMPLETE
に初期化されます。CMTRET
を指定しない場合、デフォルト COMPLETE
です。この特性の設定の詳細については、Oracle Tuxedo システム ATMI 関数 tpscmt
の説明を参照してください。
LDBAL
{Y
| N
}
LDBAL
を指定しない場合、デフォルト値は Y
です。各サービスが 1 つのキューにしかマップされない場合は、ロード バランシングが自動になっているため、LDBAL
を N
に設定してください。
LDBAL
を Y
に設定すると、ロード バランシングが自動的に実行されます。各インタフェース要求は、負荷の合計が最も低いサーバにルーティングされます。ルーティング先のサーバの負荷は、ルーティングされた CORBA インタフェースのロード ファクタ (LOAD
) だけ増加します。
SYSTEM_ACCESS
{FASTPATH
| PROTECTED
}[,NO_OVERRIDE
]
FASTPATH
を指定した場合、Oracle Tuxedo システム ライブラリは高速アクセス用のプロテクトされていない共有メモリを介して内部テーブルにアクセスできます。PROTECTED
を指定した場合、Oracle Tuxedo システム ライブラリが共有メモリを介して内部テーブルにアクセスできる間、Oracle Tuxedo システム ライブラリの外部からはそれらのテーブルの共有メモリにアクセスできません。NO_OVERRIDE
を単独あるいは FASTPATH
または PROTECTED
と共に指定した場合、tpinit(3c) または TPINITIALIZE(3cbl) で使用可能なフラグを使ってアプリケーション プロセスで選択モードをオーバーライドすることはできません。SYSTEM_ACCESS
を指定しない場合、デフォルトのモードは FASTPATH
です。
SYSTEM_ACCESS
を PROTECTED
に設定しても、マルチスレッド サーバには効果がない場合があります。これは、あるスレッドが Oracle Tuxedo コードを実行しているとき (つまりスレッドが掲示板にアタッチされているとき) に別のスレッドがユーザ コードを実行できるからです。Oracle Tuxedo システムでは、このような状況を回避することはできません。
OPTIONS
{[LAN
| SSL
| MIGRATE
| NO_XA
| NO_AA
],
*}
LAN
は、ネットワーク アプリケーションであることを示します。識別子 MIGRATE
は、サーバ グループを移行できることを示します。
-s
オプションを指定する必要があります。
注意 : | UBBCONFIG *RESOURCES セクションと tlisten SSL 設定が同期していない場合、アプリケーションは起動しません。 |
MIGRATE
を指定する場合は、LAN
も指定する必要があります (このコンフィグレーションが単一のマルチプロセッサ コンピュータ上で動作する場合を除く)。
NO_XA
は、XA トランザクションが使用できないことを示します。識別子 NO_AA
は、監査用および認可用の関数が呼び出されないことを示します。このパラメータは省略可能なので、デフォルト値はありません。
USIGNAL
{SIGUSR1
| SIGUSR2
}
SIGNAL
ベースの通知方法が使用される場合に用いられるシグナルを指定します。このパラメータの有効値は、SIGUSR1
と SIGUSR2
です。デフォルト値は SIGUSR2
です。SIGNAL
ベースの通知方法が NOTIFY
パラメータで選択されていない場合でも、USIGNAL
を指定できます。これは、tpinit()
の呼び出し側がシグナルベースの通知方法を選択する場合があるためです。
SECURITY
{NONE
| APP_PW
| USER_AUTH
| ACL
| MANDATORY_ACL
}
NONE
です。APP_PW
を指定した場合、アプリケーションのパスワード セキュリティ機能が使用されます (クライアントは初期化時にアプリケーション パスワードを渡す必要があります)。APP_PW
を指定すると、tmloadcf
はアプリケーション パスワードの入力を要求します。値 USER_AUTH
は APP_PW
とほぼ同じですが、クライアントの初期化時にユーザごとの認証を実行する点が異なります。値 ACL
は USER_AUTH
とほぼ同じですが、サービス名、キュー名、およびイベント名に対してアクセス制御チェックを実行する点が異なります。名前に ACL が関連付けられていなければ、アクセス権が付与されていると見なされます。値 MANDATORY_ACL
は ACL
とほぼ同じですが、名前に対応する ACL が見つからない場合にパーミッションを付与しない点が異なります。
SSL_RENEGOTIATION
numeric_value
AUTHSVC
string_value
SECURITY
識別子が USER_AUTH
、ACL
、または MANDATORY_ACL
に設定されている必要があります。上位互換性のために、SECURITY APP_PW
と AUTHSVC
を両方セットすることは SECURITY USER_AUTH
を意味します。パラメータ値の文字長は 15 文字以下です。SECURITY
レベルが USER_AUTH
の場合、デフォルトのサービス名は (指定しなかった場合は) AUTHSVC
です。SECURITY
レベルが ACL
または MANDATORY_ACL
の場合、デフォルトのサービス名は (指定しなかった場合は) ..AUTHSVC
です。
AUTHSVR
は、SECURITY
が USER_AUTH
に設定されているときには認証サービスを AUTHSVC
として宣言し、SECURITY
が ACL
または MANDATORY_ACL
に設定されているときには ..AUTHSVC
として宣言します。AUTHSVC
と ..AUTHSVC
は、同じ認証サービスを指します。
AUTHSVC
と ..AUTHSVC
は識別子です。つまり、AUTHSVC
または ..AUTHSVC
を二重引用符で囲む必要はありません。
SCANUNIT
numeric_value
tpbegin()
で指定できるトランザクション タイムアウト値と、BLOCKTIME
パラメータで指定されるブロッキング タイムアウト値に影響します。SANITYSCAN
パラメータ、BBLQUERY
パラメータ、DBBLWAIT
パラメータ、および BLOCKTIME
パラメータは、システム内のその他のタイムアウト値を指定するパラメータであり、SCANUNIT の倍数で指定されます。SCANUNIT
は、2 または 5 の倍数で 0 より大きく 60 秒以下でなければなりません。デフォルト値は 10 秒です。
SANITYSCAN
numeric_value
SCANUNIT
の乗数で指定します。SCANUNIT
の値は 0 より大きくなければなりません。このパラメータが指定されていない場合、デフォルト値は (SCANUNIT
* SANITYSCAN
) が約 120 秒になるように設定されます。正常性チェックは、掲示板のデータ構造体のほか、サーバに対しても実行されます。各 BBL は、そのマシン上のサーバがすべて実行可能であるかどうか、すなわち、サーバの異常終了やループが発生していないかどうかをチェックします。実行可能な状態でないと判断されたプロセスは、起動時に指定されたオプションに応じて、クリーンアップまたは再起動されます。それに引き続き、BBL は、メッセージ (応答なし) を DBBL に送信して、BBL が OK であることを示します。
DBBLWAIT
numeric_value
SCANUNIT
の乗数で設定します。DBBL は、BBL に要求を転送した後、すべての BBL から肯定応答を受信した後で要求元に応答を返します。このオプションは、動作不能の、または異常な BBL を適宜通知するために使用できます。DBBLWAIT
には、0 より大きい値を指定する必要があります。このパラメータを指定しない場合、デフォルト値が設定され、SCANUNIT
× DBBLWAIT
が SCANUNIT
より大きい値か、または 20 秒になります。
BBLQUERY
numeric_value
SCANUNIT
の乗数で指定します。DBBL は、すべての BBL の状態が BBLQUERY
で指定した期間内に報告されるようにします。BBL からの報告がない場合、DBBL はその BBL にメッセージを送信し、状態を照会します。応答がない場合、BBL は分断されます。BBLQUERY
には、0 より大きい値を指定する必要があります。このパラメータを指定しない場合、デフォルト値が設定され、SCANUNIT
× BBLQUERY
が、約 300 秒になります。
BLOCKTIME
numeric_value
SCANUNIT
の乗数で指定します。BLOCKTIME
の値は 0 より大きくなければなりません。このパラメータの指定がない場合は、(SCANUNIT * BLOCKTIME
) が約 60 秒になるようにデフォルト値が設定されます。
NOTIFY
{DIPIN
| SIGNAL
| THREAD
| IGNORE
}
tpinit()
フラグ値を使用して、クライアントごとにオーバーライドできます。非請求メッセージが検出されると、tpsetunsol()
関数 (tpnotify()
) で指定されたアプリケーション定義の非請求メッセージ処理ルーチンを使用して、アプリケーションからメッセージを使用できるようになります。
DIPIN
は、ディップイン方式で通知検出を行うことを示します。これは、システムが ATMI 呼び出しの中でクライアント プロセスに代わって通知メッセージだけを検出することを意味します。特定の ATMI 呼び出し中の検出ポイントは、システムによっては定義されず、ブロック中のシステム呼び出しがディップイン検出によって中断されることはありません。DIPIN
は、デフォルトの通知検出手段です。
SIGNAL
は、シグナルベース方式で通知検出を行うことを示します。この方式では、通知メッセージが使用可能になると、システムが対象のクライアント プロセスにシグナルを送出します。システムは、通知手段を選択したクライアントに代わってシグナルを検出するルーチンをインストールします。
SIGNAL
方式を使用して通知できるのは、アプリケーション管理者と同じ UNIX システム ユーザ識別子で実行されているネイティブ クライアントのみです。ワークステーション クライアントの場合は、どのユーザ識別子で実行されているかに関係なく、SIGNAL
方式を使用できます。
注意 : | SIGNAL 通知方法は、MS-DOS クライアント、およびマルチスレッド クライアントまたはマルチコンテキスト クライアントに対しては使用できません。 |
THREAD
は、THREAD
方式で通知検出を行うことを示します。この方式では、非請求メッセージを受け取るための専用のスレッドが作成され、そのスレッドに非請求メッセージ ハンドラがディスパッチされます。1 つの Oracle Tuxedo アプリケーションで同時に実行できる非請求メッセージ ハンドラは 1 つのみです。この値は、マルチスレッド処理をサポートするプラットフォームでのみ使用できます。COBOL クライアントは、THREAD
通知を使用できません。COBOL で記述されているクライアントまたはスレッドをサポートしていないプラットフォーム上で実行されているクライアントでは、UBBCONFIG
デフォルト通知方法を使用することができ、UBBCONFIG
デフォルト通知方法が THREAD
に設定されている場合、通知方法が DIPIN
に変更されます。また、そのようなクライアントでは、tpinit()
または TPINITIALIZE()
へのパラメータで明示的にスレッド通知が指定されていると、この関数を呼び出したときにエラーが返されます。
IGNORE
を指定した場合、デフォルトで通知メッセージがアプリケーション クライアントに無視されます。この設定は、tpinit()
時の通知を要求するクライアントのみが非請求メッセージを受信するアプリケーションに適しています。
SEC_PRINCIPAL_NAME
string_value
[0..511]
SEC_PRINCIPAL_NAME
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVERS
セクション) のいずれでも指定できます。特定のコンフィグレーション レベルでのプリンシパル名は、下位レベルでオーバーライドできます。どのレベルにも SEC_PRINCIPAL_NAME
が指定されていない場合、アプリケーションのプリンシパル名のデフォルト値には、このアプリケーションの RESOURCES
セクションに指定されている DOMAINID
文字列が設定されます。
SEC_PRINCIPAL_NAME
のほかにも、SEC_PRINCIPAL_LOCATION
と SEC_PRINCIPAL_PASSVAR
というパラメータがあります。後の 2 つのパラメータは、アプリケーション起動時に、Oracle Tuxedo 7.1 以降のアプリケーションで実行されるシステム プロセス用の復号化キーを開く処理に関するものです。特定のレベルで SEC_PRINCIPAL_NAME
のみが指定されている場合には、それ以外の 2 つのパラメータに長さゼロの NULL
文字列が設定されます。
SEC_PRINCIPAL_LOCATION
string_value
[0..1023]
SEC_PRINCIPAL_NAME
で指定されたプリンシパルの復号化 (プライベート) キーを収めるファイルまたはデバイスの場所を指定します。このパラメータには、最後の NULL 文字を除いて 1023 文字まで指定できます。
SEC_PRINCIPAL_LOCATION
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVERS
セクション) のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でも SEC_PRINCIPAL_NAME
パラメータと対になっている必要があり、それ以外の場合には無視されます。SEC_PRINCIPAL_PASSVAR
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
SEC_PRINCIPAL_PASSVAR
string_value
[0..31]
SEC_PRINCIPAL_PASSVAR
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVERS
セクション) のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でも SEC_PRINCIPAL_NAME
パラメータと対になっている必要があり、それ以外の場合には無視されます。SEC_PRINCIPAL_LOCATION
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
SEC_PRINCIPAL_PASSVAR
で設定された各復号化キーのパスワードを入力する必要があります。パスワードの入力は、tmloadcf(1) で求められます。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
SIGNATURE_AHEAD
numeric_value
(1 <= num
<= 2147483647)
SIGNATURE_BEHIND
numeric_value
(1 <= num
<= 2147483647)
SIGNATURE_REQUIRED
{Y
| N
}
N
が設定されます。このパラメータは、Oracle Tuxedo 7.1 以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
SIGNATURE_REQUIRED
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVICES
セクション) のいずれでも指定できます。特定のレベルで SIGNATURE_REQUIRED
に Y
に設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
ENCRYPTION_REQUIRED
{Y
| N
}
N
が設定されます。このパラメータは、Oracle Tuxedo 7.1 以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
ENCRYPTION_REQUIRED
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVICES
セクション) のいずれでも指定できます。特定のレベルで ENCRYPTION_REQUIRED
に Y
を設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
MACHINES
セクションでは、物理マシンの論理名を指定します。また、このセクションではマシン固有のパラメータも指定します。MACHINES
セクションには、アプリケーションで使用される物理プロセッサごとのエントリが必要です。エントリの形式は次のとおりです。
ADDRESS
required_parameters
[optional_parameters
]
ADDRESS
はプロセッサの物理名です。たとえば、UNIX システムの uname -n
コマンドで生成される値です。Windows システムの場合、この値は [コントロール パネル] にあるネットワークのコンピュータ名の値で設定でき、大文字で指定する必要があります。ADDRESS のエントリの長さは 30 文字以下でなければなりません。この名前が識別子でない場合は、二重引用符で囲まなければなりません。
LAN
オプションが指定されていない場合は、このセクションにはマシン名は 1 つしか指定できません。必須 KEYWORD
の 1 つに LMID
があります。これは、物理マシンに割り当てられる論理マシン string_value
です。LMID
string_value
は、コンフィグレーション ファイルの MACHINES
セクションの中でユニークでなければなりません。
LMID
=
string_value
string_value
を、別のセクションで ADDRESS
のシンボル名として使用することを指定します。この名前にはカンマを指定できません。名前は 30 文字以内で指定します。これは必須パラメータです。コンフィグレーションで使用されるすべてのマシンには、LMID
行を指定する必要があります。
TUXCONFIG
=
string_value
[2..256] (Oracle Tuxedo 8.0 以前では最大 64 バイト)
TUXCONFIG
ファイルが存在するファイルまたはデバイスの絶対パス名。管理者が保守する必要があるのは、MASTER
マシン上の TUXCONFIG
環境変数によって指定されている TUXCONFIG
ファイルだけです。他のマシン上にあるこのマスタ TUXCONFIG
ファイルのコピーは、システムの起動時に自動的に MASTER
と同期されます。このパラメータは各マシンごとに指定しなければなりません。TUXOFFSET
が指定されている場合、Oracle Tuxedo ファイル システムは、TUXCONFIG
デバイスの最初からそのブロック数だけずれたところで起動します (後述の TUXOFFSET
を参照)。この値がどのように使用されるかについては、MACHINES
セクションの ENVFILE
を参照してください。
注意 : | このパラメータに指定するパス名は、TUXCONFIG 環境変数に指定したパス名 (大文字/小文字の区別も含む) と完全に一致しなければなりません。パス名が一致していない場合、tmloadcf(1) は正常に実行されません。 |
TUXDIR
=
string_value
[2..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
TUXDIR
はリモート ファイル システムにあってはいけません。マルチプロセッサ アプリケーションのマシンに異なるリリースの Oracle Tuxedo システムがインストールされている場合、新しいリリースの『Oracle Tuxedo リリース ノート』を参照して必要な機能を得るようにしてください。この値がどのように使用されるかについては、MACHINES
セクションの ENVFILE
を参照してください。
APPDIR
=
string_value
[2..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
SECURITY
が設定されているコンフィグレーションでは、各アプリケーションは独自の APPDIR
を持たなければなりません。この値がどのように使用されるかについては、MACHINES
セクションの ENVFILE
を参照してください。
UID
=
number
RESOURCES
セクションの値が指定されます。
GID
=
number
RESOURCES
セクションの値が指定されます。
PERM
=
number
RESOURCES
セクションの値が指定されます。
BRTHREADS
=
{Y
| N
}
Y
) かシングルスレッド実行向け (N
) のどちらにコンフィグレーションされているかを指定します。デフォルト値は N
です。このパラメータは、Oracle Tuxedo 8.1 以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
BRTHREADS
を Y
に設定しても、CPU が複数あるマシンにしか影響しません。ただし、複数の CPU がなくても、BRTHREADS
を Y
に設定することは可能です。
BRTHREADS
を Y
に設定し、リモート マシンで BRTHREADS
を N
(デフォルト) に設定することは可能ですが、マシン間のスループットがシングルスレッドのブリッジ プロセスより大きくなることはありません。
注意 : | BRTHREADS=Y に設定し、ブリッジ環境に TMNOTHREADS=Y が含まれている場合、ブリッジはスレッド モードで起動し、ブリッジが TMNOTHREADS の設定を無視したことを示す警告メッセージがログに記録されます。TMNOTHREADS 環境変数は、Oracle Tuxedo リリース 8.0 に追加されました。 |
MAXACCESSERS
=
number
RESOURCES
セクションで指定される MAXACCESSERS
です。
restartsrv
、cleanupsrv
、tmshutdown()
、tmadmin()
などのシステム管理プロセスを含める必要はありません。ただし、DBBL、すべてのブリッジ プロセス、すべてのシステム提供サーバ プロセスとアプリケーション サーバ プロセス、およびこのサイトで使用する可能性があるクライアント プロセスはこの数に含めます。システム提供のサーバには、AUTHSVR
、TMQUEUE
、TMQFORWARD
、TMUSREVT
、TMSYSEVT
、TMS
などがあります。GROUPS
セクションの TMSNAME
パラメータ、TMS_QM
、GWTDOMAIN
、および WSL
を参照してください。このサイトでアプリケーションがワークステーション リスナ (WSL) を起動する場合は、起動される WSL と使用する可能性があるワークステーション ハンドラ (WSH) の両方をこの数に入れる必要があります。
MAXACCESSERS
パラメータと MAXSERVERS
パラメータ (RESOURCES
セクションの MAXSERVERS
を参照) が使用されていました。つまり、アプリケーションで実行中の 1 台以上のマシンの MAXACCESSERS
の数と、特定のマシンの MAXACCESSERS
の数の合計が、MAXSERVERS
の数とユーザ ライセンス数の合計より大きい場合、マシンを起動することはできませんでした。したがって、アプリケーションの MAXACCESSERS
パラメータには、MAXSERVERS
の数とユーザ ライセンス数の合計か、またはそれより小さい値を指定しなければなりませんでした。
MAXWSCLIENTS
=
number
MAXACCESSERS
で指定したアクセサ スロットの総数の一部になります。つまり、MAXWSCLIENTS
用に予約したアクセサ スロットは、このマシン上の別のクライアントおよびサーバでは使用できません。この値を MAXACCESSERS
より大きい値に設定した場合、エラーになります。
MAXWSCLIENTS
パラメータが使用されるのは、Oracle Tuxedo システムの Workstation 機能を使用するときだけです。システムへのワークステーション クライアントのアクセスは、Oracle Tuxedo システム提供の代替物、つまりワークステーション ハンドラ (WSH) を通じて多重化されるため、このパラメータを適切な値に設定することでプロセス間通信 (IPC) リソースを節約できるようになります。
MAXACLCACHE
=
number
SECURITY
が ACL
または MANDATORY_ACL
に設定されているときに ACL エントリのために使用されるキャッシュ内のエントリ数を指定します。このパラメータを適切に設定すると、共有メモリ上のリソースを節約しながら、ACL のチェックを行うためのディスクのアクセス回数を減らすことができます。この値は、10 以上 32,000 以下でなければなりません。デフォルト値は 100 です。
MAXCONV
=
number
RESOURCES
セクションで指定される MAXCONV
の値です。1 つのサーバで、最大 64 個の会話を同時に行うことができます。
MAXPENDINGBYTES
=
number
MAXGTT
=
number
RESOURCES
セクションで指定される値です。
TYPE
=
string_value
TYPE
には、15 文字以下の任意の文字列を設定できます。2 つのマシンが同じ TYPE
値を持つ場合、それらのマシン間でデータを送信するときにデータのエンコーディングおよびデコーディングは無視されます。TYPE
には、任意の文字列値を指定できます。このパラメータは、比較のために使用します。TYPE
パラメータは、アプリケーションが異機種ネットワークのマシンで構成されている場合、またはネットワーク内のマシン上でさまざまなコンパイラを使用している場合に使用します。このパラメータを指定しない場合、デフォルト値は値が指定されていない他のすべてのエントリに一致する NULL 文字列です。
CMPLIMIT
=
string_value1
[,
string_value2
]
string_value1
) およびローカル プロセス (string_value2
) に向けたメッセージのサイズのしきい値を指定します。どちらの値も、負以外の整数または文字列 MAXLONG
でなければなりません。指定しない場合、デフォルト値は MAXLONG
です。
NETLOAD
=
numeric_value
SPINCOUNT
=
numeric_value
TMSPINCOUNT
環境変数は無視されます。これは、プラットフォームによって異なります。このパラメータのデフォルト値は 0 です。
TLOGDEVICE
=
string_value
[0..256] (Oracle Tuxedo 8.0 以前では最大 64 バイト)
TLOG
) を格納する Oracle Tuxedo ファイル システムを指定します。TLOG
は、Oracle Tuxedo システムの VTOC テーブルとしてデバイスに格納されています。このパラメータを指定しない場合、そのマシンには TLOG
がないものと見なされます。
TLOGOFFSET
=
offset
TLOGNAME
=
string_value
TLOG
です。1 つの TLOGDEVICE
に複数の TLOG
がある場合、各 TLOG の名前はユニークでなければなりません。TLOGNAME
は、TLOG
テーブルが作成されるコンフィグレーション内の他のどのようなテーブルの名前とも異なっていなければなりません。名前は 30 文字以内でなければなりません。
TLOGSIZE
=
size
ULOGPFX
=
string_value
[0..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
ULOGPFX
の値を使用して、そのマシン上で実行されるすべてのサーバ、クライアント、管理プロセスについての userlog(3c) エラー メッセージ ファイルを作成します。このパラメータを指定しない場合、$APPDIR/ULOG
が使用されます。"mmddyy
" (月、日、年) をこの接頭辞に付加して、実際のログ ファイル名を取得できます。
TUXOFFSET
=
offset
TUXCONFIG
ファイルを格納する Oracle Tuxedo ファイル システムの開始点までの (デバイス先頭からの) 数値オフセットをページ単位で指定します。このオフセットは 0 以上で、デバイス上のページ数より小さい値でなければなりません。デフォルトのオフセットは 0 です。0 以外の値を指定した場合、TUXOFFSET
の値はマシン上で起動するすべてのサーバの環境に置かれます。この値がどのように使用されるかについては、MACHINES
セクションの ENVFILE
を参照してください。
ENVFILE
=
string_value
[0..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
=
value
の形式で指定します。ident
の先頭にはアンダースコア (_) または英文字を指定し、全体はアンダースコアまたは英数字のみで構成します。value
内の ${env
} という形式の文字列は、ファイルの処理時に、環境内の既存の変数を使用して展開されます。前方参照はサポートされていません。値が設定されていない場合、変数は空の文字列に置換されます。円マーク (¥) を使用して、ドル記号およびそれ自体をエスケープすることができます。その他すべてのシェルのクォーテーションとエスケープのメカニズムは無視され、展開された value
がそのまま環境に入れられます。
tpinit()
の実行時に MACHINES
ENVFILE
のみを処理します。
MASTER
上にないリモート サーバが tlisten(1) の環境を継承します。また、対応する T_MACHINE
エントリの情報に基づいてサーバが起動されると、TUXCONFIG
、TUXDIR
、および APPDIR
も環境に配置されます。これら 3 つの変数を他の値に変更しようとすると、警告メッセージが表示されます。tmboot
および tlisten
は、サーバを起動する前にマシンの ENVFILE
を処理するため、環境には実行可能ファイルと動的にロードされるファイルの検索に必要なパス名が示されます。サーバが実行されると、(アプリケーションが tpsvrinit()
で制御権を得る前の) サーバ初期化の一部として、マシンおよびサーバの ENVFILE
ファイルから変数を読み取り、エクスポートします。マシンとサーバの両方の ENVFILE
で変数が設定されている場合、サーバの ENVFILE
の値がマシンの ENVFILE
の値をオーバーライドします。
PATH
と LD_LIBRARY_PATH
は、特殊な方法で処理されます。サーバがアクティブになる前に、マシンの ENVFILE
がスキャンされ、最初に現れた PATH
変数または LD_LIBRARY_PATH
変数が検出されます。どちらの PATH
変数内でも、埋め込み型の環境変数は展開されません。PATH
と LD_LIBRARY_PATH
は、実行可能ファイルと動的にロードされるファイルのパス名を検索するために使用されます。PATH
には常に次の接頭辞が付きます。
${APPDIR}:${TUXDIR}/bin:/bin:
PATH
は、単純なパス名または相対パス名で指定されたサーバの検索パスとして使用されます。LD_LIBRARY_PATH
には常に次の接頭辞が付きます。
${APPDIR}:${TUXDIR}/lib:/lib:/usr/lib:
SHLIB_PATH
が設定され、AIX では LD_LIBRARY_PATH
の代わりに LIBPATH
が設定されます。
SEC_PRINCIPAL_NAME
=
string_value
[0..511]
SEC_PRINCIPAL_NAME
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVERS
セクション) のいずれでも指定できます。特定のコンフィグレーション レベルでのプリンシパル名は、下位レベルでオーバーライドできます。どのレベルにも SEC_PRINCIPAL_NAME
が指定されていない場合、アプリケーションのプリンシパル名のデフォルト値には、このアプリケーションの RESOURCES
セクションに指定されている DOMAINID
文字列が設定されます。
SEC_PRINCIPAL_NAME
のほかにも、SEC_PRINCIPAL_LOCATION
と SEC_PRINCIPAL_PASSVAR
というパラメータがあります。後の 2 つのパラメータは、アプリケーション起動時に、Oracle Tuxedo 7.1 以降のアプリケーションで実行されるシステム プロセス用の復号化キーを開く処理に関するものです。特定のレベルで SEC_PRINCIPAL_NAME
のみが指定されている場合には、それ以外の 2 つのパラメータに長さゼロの NULL
文字列が設定されます。
SEC_PRINCIPAL_LOCATION
=
string_value
[0..1023]
SEC_PRINCIPAL_NAME
で指定されたプリンシパルの復号化 (プライベート) キーを収めるファイルまたはデバイスの場所を指定します。このパラメータには、最後の NULL 文字を除いて 1023 文字まで指定できます。
SEC_PRINCIPAL_LOCATION
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVERS
セクション) のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でも SEC_PRINCIPAL_NAME
パラメータと対になっている必要があり、それ以外の場合には無視されます。SEC_PRINCIPAL_PASSVAR
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
SEC_PRINCIPAL_PASSVAR
=
string_value
[0..31]
SEC_PRINCIPAL_PASSVAR
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVERS
セクション) のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でも SEC_PRINCIPAL_NAME
パラメータと対になっている必要があり、それ以外の場合には無視されます。SEC_PRINCIPAL_LOCATION
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
SEC_PRINCIPAL_PASSVAR
で設定された各復号化キーのパスワードを入力する必要があります。パスワードの入力は、tmloadcf(1) で求められます。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
SIGNATURE_REQUIRED
=
{Y
| N
}
N
が設定されます。このパラメータは、Oracle Tuxedo 7.1 以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
SIGNATURE_REQUIRED
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVICES
セクション) のいずれでも指定できます。特定のレベルで SIGNATURE_REQUIRED
に Y
に設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
ENCRYPTION_REQUIRED
=
{Y
| N
}
N
が設定されます。このパラメータは、Oracle Tuxedo 7.1 以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
ENCRYPTION_REQUIRED
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVICES
セクション) のいずれでも指定できます。特定のレベルで ENCRYPTION_REQUIRED
に Y
を設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
SICACHEENTRIESMAX
= string_value
注意 : | SERVERS セクションで対応する属性とは異なり、このパラメータでは文字列 DEFAULT を有効値として使用できません。 |
このセクションでは、サーバ グループに関する情報を指定します。このセクションには、最低 1 つのサーバ グループが定義されている必要があります。サーバ グループは、TUXCONFIG
ファイルの作成後に tmconfig、wtmconfig(1) を使用して追加できます。サーバ グループのエントリには、サーバ群およびマシン上のサービス群に対して、論理名を指定します。論理名は、
SERVERS
セクションの SRVGRP
パラメータの値に使用されます。この値により、サーバはグループ内のサーバとして識別されます。SRVGRP
は、SERVICES
セクションで、グループ内の特定のサービス インスタンスのオカレンスを識別する場合にも使用されます。GROUPS
セクションのその他のパラメータは、このグループを特定のリソース管理インスタンスに関連付けます (社員データベースなど)。GROUPS
セクション内にある各行の形式は次のとおりです。
GROUPNAME
required_parameters
[optional_parameters
]
GROUPNAME
は、グループの論理名 (string_value
) です。グループ名は、GROUPS
セクションのグループ名と MACHINES
セクションの LMID
の中でユニークでなければなりません。グループ名の中にアスタリスク (*)、カンマ、コロンを入れることはできません。名前は 30 文字以内でなければなりません。
LMID
=
string_value1
[,
string_value2
]
MACHINES
セクション (または SHM
モードのデフォルト値) の string_value1
によってシンボル名に指定されているマシンにあることを示します。LMID 値は、それぞれ 30 文字以下でなければなりません。論理マシン名は 2 つまで指定できます。2 つ目の論理名を指定する場合で、サーバ グループが移行できる場合は、この 2 つ目の論理名は、サーバ グループが移行できるマシンを示します。
GRPNO
=
number
TMSNAME
=
string_value
[0..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
a.out
の名前を指定します。分散トランザクション (tpbegin()
で開始し、tpcommit()
/tpabort()
で終了する、複数のリソース マネージャやマシンの間で処理されるトランザクション) に参加するサーバを持つグループ エントリに対しては、このパラメータを必ず指定する必要があります。このパラメータは、サーバ グループを起動するときに tmboot(1) により実行されるファイル (string_value
) を指定します。値 TMS
は、非 XA インタフェースを使用することを示すために予約されています。TMS
以外の空でない値が指定された場合は、このエントリの LMID
値に関連するマシンに対して、TLOGDEVICE
を指定する必要があります。各 TM サーバに対してユニークなサーバ識別子が自動的に選択され、サーバは何回でも再起動することができます。
ENVFILE
=
string_value
[0..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
=
value
の形式で指定します。ident はアンダースコア (_) または英数字で構成します。value
内の ${
env
}
という形式の文字列は、ファイルの処理時に、環境内の既存の変数を使用して展開されます。前方参照はサポートされていません。値が設定されていない場合、変数は空の文字列に置換されます。円マーク (¥) を使用して、ドル記号と円マークをエスケープできます。その他すべてのシェルのクォーテーションとエスケープのメカニズムは無視され、展開された value
がそのまま環境に入れられます。
TMSCOUNT
=
number
TMSNAME
が指定されている場合に、関連するグループに対して起動するトランザクション マネージャ サーバ数を指定します。このパラメータは省略可能で、デフォルト値は 3 です。0 以外の値を指定した場合、最小値は 2 で、最大値は 10 です。サーバは MSSQ セットに自動的にセットアップされます。
SEC_PRINCIPAL_NAME
=
string_value
[0..511]
SEC_PRINCIPAL_NAME
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVERS
セクション) のいずれでも指定できます。特定のコンフィグレーション レベルでのプリンシパル名は、下位レベルでオーバーライドできます。どのレベルにも SEC_PRINCIPAL_NAME
が指定されていない場合、アプリケーションのプリンシパル名のデフォルト値には、このアプリケーションの RESOURCES
セクションに指定されている DOMAINID
文字列が設定されます。
SEC_PRINCIPAL_NAME
のほかにも、SEC_PRINCIPAL_LOCATION
と SEC_PRINCIPAL_PASSVAR
というパラメータがあります。後の 2 つのパラメータは、アプリケーション起動時に、Oracle Tuxedo 7.1 以降のアプリケーションで実行されるシステム プロセス用の復号化キーを開く処理に関するものです。特定のレベルで SEC_PRINCIPAL_NAME
のみが指定されている場合には、それ以外の 2 つのパラメータに長さゼロの NULL
文字列が設定されます。
SEC_PRINCIPAL_LOCATION
=
string_value
[0..1023]
SEC_PRINCIPAL_NAME
で指定されたプリンシパルの復号化 (プライベート) キーを収めるファイルまたはデバイスの場所を指定します。このパラメータには、最後の NULL 文字を除いて 1023 文字まで指定できます。
SEC_PRINCIPAL_LOCATION
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVERS
セクション) のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でも SEC_PRINCIPAL_NAME
パラメータと対になっている必要があり、それ以外の場合には無視されます。SEC_PRINCIPAL_PASSVAR
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
SEC_PRINCIPAL_PASSVAR
=
string_value
[0..31]
SEC_PRINCIPAL_PASSVAR
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVERS
セクション) のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でも SEC_PRINCIPAL_NAME
パラメータと対になっている必要があり、それ以外の場合には無視されます。SEC_PRINCIPAL_LOCATION
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
SEC_PRINCIPAL_PASSVAR
で設定された各復号化キーのパスワードを入力する必要があります。パスワードの入力は、tmloadcf(1) で求められます。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
SIGNATURE_REQUIRED
=
{Y
| N
}
N
が設定されます。このパラメータは、Oracle Tuxedo 7.1 以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
SIGNATURE_REQUIRED
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVICES
セクション) のいずれでも指定できます。特定のレベルで SIGNATURE_REQUIRED
に Y
に設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
ENCRYPTION_REQUIRED
=
{Y
| N
}
N
が設定されます。このパラメータは、Oracle Tuxedo 7.1 以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
ENCRYPTION_REQUIRED
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVICES
セクション) のいずれでも指定できます。特定のレベルで ENCRYPTION_REQUIRED
に Y
を設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
OPENINFO
=
string_value
TMSNAME
パラメータが設定されていないか、または TMS
に設定されている場合、この値は無視されます。TMSNAME
パラメータが TMS
以外の値に設定されており、OPENINFO
が NULL 文字列 (“”
) に設定されているか、または何も設定されていない場合は、グループのリソース マネージャは存在しますが、open
操作の実行に関する情報は必要ありません。
OPENINFO
文字列の形式は、基底のリソース マネージャのベンダごとに異なります。ベンダ固有の情報の先頭には、トランザクション インタフェース (XA インタフェース) の公開名とコロン (:
) が付きます。
OPENINFO
=
“TUXEDO/QM:
qmconfig
:
qspace
”
OPENINFO
=
“TUXEDO/QM:
qmconfig
;
qspace
”
TUXEDO/QM
は、Oracle Tuxedo /Q XA インタフェースの公開名です。qmconfig
は、キュー スペースを設定する QMCONFIG
(qmadmin(1) を参照) の名前です。qspace
はキュー スペースの名前です。Windows では、qmconfig
の後に指定する区切り文字として、セミコロン (;
) を使用します。
OPENINFO
文字列の形式は、基底のリソース マネージャのベンダごとに異なります。たとえば、次の OPENINFO
文字列は、Oracle のリソース マネージャを開くときに必要な情報を示します。OPENINFO="Oracle_XA: Oracle_XA+Acc=P/Scott/*****+SesTm=30+LogDit=/tmp”
Oracle_XA
は、Oracle XA インタフェースの公開名です。OPENINFO
文字列内の 5 つの連続するアスタリスク (*) は、暗号化されたパスワードを示します。次に、パスワードについて説明します。
OPENINFO
文字列内のパスワードは、クリア テキストまたは暗号化された形式で格納されます。パスワードを暗号化するには、まず、OPENINFO
文字列内のパスワードが必要な場所に、5 つ以上の連続するアスタリスクを入れます。次に、tmloadcf(1) コマンドを実行して、UBBCONFIG
ファイルをロードします。tmloadcf()
は、アスタリスクの文字列を検出すると、パスワードの作成をユーザに要求します。次に例を示します。tmloadcf -y
/usr5/apps/bankapp/myubbconfig
Password for OPENINFO (SRVGRP=BANKB3):
password
TUXCONFIG
ファイルに格納します。tmunloadcf()
を使用して TUXCONFIG
から UBBCONFIG
ファイルを再生成すると、パスワードは @@
で区切られた暗号化形式でその UBBCONFIG
ファイルに出力されます。次に例を示します。OPENINFO="Oracle_XA: Oracle_XA+Acc=P/Scott/@@A0986F7733D4@@+SesTm=30+LogDit=/tmp”
tmloadcf()
の実行時に、tmunloadcf()
によって生成された UBBCONFIG
ファイル内で暗号化されたパスワードが検出されても、ユーザに対してパスワードの作成は要求されません。
CLOSEINFO
=
string_value
CLOSEINFO
文字列は、Oracle Tuxedo /Q データベースには使用されません。
TMSNAME
パラメータが設定されていないか、または TMS
に設定されている場合、この値は無視されます。TMSNAME
パラメータが TMS
以外の値に設定されており、CLOSEINFO
文字列が NULL 文字列 (“”
) に設定されているか、または何も設定されていない場合は、グループのリソース マネージャは存在しますが、close
操作の実行に関する情報は必要ありません。
CLOSEINFO
文字列の形式は、基底のリソース マネージャのベンダごとに異なります。ベンダ固有の情報の先頭には、トランザクション インタフェース (XA インタフェース) の公開名とコロン (:
) が付きます。
NETGROUPS
セクションでは、LAN
環境で使用可能なネットワーク グループに関する情報を指定します。複数のネットワーク グループに、複数のマシンのペアが存在できます。通信を行う 2 つのノードは、優先度メカニズムを使用して、そのグループの要素間での通信方法を決定します。
すべての LMID
は、デフォルトのネットワーク グループ (DEFAULTNET
) のメンバーでなければなりません。リリース 6.4 (NETGROUPS
が使用可能) 以前の Oracle Tuxedo リリースを実行するマシンは、DEFAULTNET
ネットワーク グループにのみ属することができます。DEFAULTNET
のネットワーク グループ番号 (NETGRPNO
) は 0 (ゼロ) で、変更できません。ただし、DEFAULTNET
のデフォルト優先順位は変更できます。
NETGROUP
required_parameters
[optional_parameters
]
NETGROUP
はネットワーク グループ名です。NETGROUP
が DEFAULTNET
と同じである場合、エントリはデフォルトのネットワーク グループを表します。
NETGRPNO
=
numeric_value
DEFAULTNET
の場合には、数値を 0 (ゼロ) にする必要があります。
NETPRIO
=
numeric_value
DEFAULTNET
の唯一の変更可能なパラメータです。
注意 : | 並列データ回線は、優先グループ番号中のネットワーク グループ番号 (NETGRPNO ) によって優先付けされます。 |
NETWORK
では、LAN 環境用のネットワーク コンフィグレーションを指定します。BRIDGE サーバが位置している各プロセッサごとに、NETWORK
セクションにエントリを入れて、BRIDGE プロセスのネットワーク アドレスを指定しなければなりません。このセクションが存在し、RESOURCES
セクションの OPTIONS
パラメータに LAN
が指定されていない場合、エラーが発生します。
LMID
required_parameters
[optional_parameters
]
LMID
は、BRIDGE プロセスが存在する論理マシンです。LMID
には、使用されるネットワーク デバイスへの直接アクセス権が必要です (BRIDGE
パラメータで指定される)。
NADDR
=
string_value
[0..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
LMID
の BRIDGE プロセスが使用する完全なネットワーク リスン用アドレスを指定します。ブリッジのリスン用アドレスは、アプリケーションに参加している他のブリッジ プロセスの通信手段となります。string_value
の形式が “0x
hex-digits
”
または “¥¥x
hex-digits
”
の場合、偶数の有効な 16 進数を含める必要があります。これらの形式は、TCP/IP アドレスを含む文字配列に内部変換され、以下の形式のいずれかになります (表 70 を参照)。
hostname
は TCP/IP ホスト アドレスに解決されます。“#.#.#.#
” はドットで区切った 10 進数の形式で、#
は 0 から 255 までの 10 進数の値を表します。port_number
は 0 から 65535 までの 10 進数で、指定された文字列の 16 進表現です。
注意 : | 一部のポート番号は、お使いのシステムで使用される基底のトランスポート プロトコル (TCP/IP など) のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート プロトコルのマニュアルを調べてください。 |
BRIDGE
=
string_value
LMID
の BRIDGE プロセスがネットワークにアクセスするために使用するデバイス名を指定します。この名前は、ネットワーク対応のアプリケーションに TLI ベースの Oracle Tuxedo システム バイナリを通じて参加する際に必要になります。このパラメータは、ソケットベースの Oracle Tuxedo システム バイナリでは不要です。
NLSADDR
=
string_value
[0..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
LMID
でネットワークにサービスを提供する tlisten(1) プロセスが使用するネットワーク アドレスを指定します。NLSADDR
用のネットワーク アドレスは、上記 NADDR
パラメータ用に指定されたのと同じ形式です。アドレスの形式が “0x
hex-digits
”
または “¥¥x
hex-digits
”
の場合、偶数の有効な 16 進数を含める必要があります。TCP/IP アドレスは、"//#.#.#.#:port
" という形式で指定します。NLSADDR
が MASTER LMID
以外のマシンのエントリにない場合、tmloadcf(1) はエラーを出力します。ただし、NLSADDR
が MASTER LMID
にない場合、tmadmin(1) はリモート マシン上で管理モードでは実行できず、読み取り専用操作に限定されます。これはまた、バックアップ サイトが障害後にマスタ サイトを再起動できないことを意味します。
注意 : | TCP/IP の IPv4 と IPv6 のアドレッシングは NADDR と同じです。 |
FADDR =
string_value
[0..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
FRANGE
パラメータと共に、アウトバウンド接続を確立する前にプロセスがバインドを試みる TCP/IP ポートの範囲を決定します。このアドレスには、TCP/IP アドレスを指定する必要があります。TCP/IP アドレスのポート部分は、プロセスが TCP/IP ポートをバインドできる範囲のベース アドレスを表します。FRANGE
パラメータは、範囲の大きさを指定します。たとえば、このアドレスが //mymachine.bea.com:30000
で FRANGE
が 200 の場合、この LMID からアウトバウンド接続の確立を試みるすべてのネイティブ プロセスは、mymachine.bea.com
上のポートを 30000 から 30200 の間でバインドします。このパラメータを設定しない場合、デフォルトは空文字列になり、オペレーティング システムがローカル ポートを任意に選択します。
注意 : | TCP/IP の IPv4 と IPv6 のアドレッシングは NADDR と同じです。 |
FRANGE =
number
FADDR
パラメータは、範囲のベース アドレスを指定します。たとえば、FADDR
パラメータが //mymachine.bea.com:30000
で、FRANGE
が 200 に設定されている場合、この LMID からアウトバウンド接続の確立を試みるすべてのネイティブ プロセスは、mymachine.bea.com
上のポートを 30000 から 30200 の間でバインドします。有効範囲は 1 から 65535 までです。デフォルト値は 1 です。
MINENCRYPTBITS
=
{0
| 40
| 56
| 128
}
0
は暗号化が行われないことを示し、40
、56
、および 128
は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルト値は 0
です。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。 |
MAXENCRYPTBITS
=
{0
| 40
| 56
| 128
}
0
は暗号化が行われないことを示し、40
、56
、および 128
は暗号化キーの長さをビット単位で指定します。デフォルト値は 128
です。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。 |
NETGROUP
=
string_value
string_value
は、このネットワーク エントリに関連付けるネットワーク グループです。指定しない場合、デフォルト値は DEFAULTNET
です。NETGROUP
パラメータを DEFAULTNET
に設定しない場合は、ファイルの NETGROUPS
セクションにあるグループ名として前に指定された値を指定する必要があります。NETGROUP
パラメータが DEFAULTNET
に設定されているネットワーク エントリは、すべて TM_MIB
の T_MACHINE
クラスで表されますが、他の NETGROUP
に関連付けられた NETWORK
エントリは、TM_MIB
の T_NETMAP
クラスで表され、旧リリースとの相互運用が可能です。
このセクションでは、システムで起動されるサーバの初期状態に関する情報を定義します。特定のリモート環境に対しては、サーバを、連続的に動作していて、プロセスへのサーバ グループのサービス要求を待機しているプロセスであるとする考え方を適用できる場合とできない場合があります。多くの環境では、オペレーティング システムあるいはリモート ゲートウェイが、サービスの唯一のディスパッチャになります。どちらの場合でも、SERVICE
テーブル エントリ (次のセクションを参照) のみと、SERVER
テーブル エントリなしをリモート プログラムのエントリ ポイントに対して指定する必要があります。Oracle Tuxedo システム ゲートウェイ サーバは、リモート ドメイン サービス要求を宣言し、キューに入れます。ホスト固有のリファレンス ページでは、UBBCONFIG
のサーバ テーブル エントリが特定の環境に適応しているかどうかを示し、適応している場合は対応するセマンティクスを明記する必要があります。SERVERS
セクション内にある各行の形式は次のとおりです。
AOUT
required_parameters
[optional_parameters
]
AOUT
は、tmboot(1) によって実行されるファイル (string_value
) を指定します。tmboot
は、サーバが属するサーバ グループ用に指定されたマシン上で AOUT
を実行します。tmboot
はその対象マシン上で AOUT
ファイルを検索します。したがって、AOUT
がそのマシンのファイル システムに存在していなければなりません (もちろん、AOUT
へのパスには、別のマシンのファイル システムへの RFS 接続を含めることができます)。サーバの相対パス名が指定されると、まずディレクトリ APPDIR
、次にディレクトリ TUXDIR/bin
、/bin
、path
(path
はマシン環境ファイル上の始めの PATH=
行) の順に AOUT
が検索されます。APPDIR
および TUXDIR
の値は、TUXCONFIG
ファイル内の適切なマシン エントリから取得されます。詳細については、MACHINES
セクションの ENVFILE
を参照してください。
Oracle Tuxedo 8.1 以降では、SERVERS
セクションの AOUT
の長さは最大 256 バイトです。Oracle Tuxedo 8.0 以前では、SERVERS
セクションの AOUT
の長さは最大 78 バイトです。
SRVGRP
=
string_value
string_value
には、GROUPS
セクションのサーバ グループに関連付けられた論理名を指定します。名前は 30 文字以内でなければなりません。GROUPS
セクション内のエントリと関連するということは、そのサーバに対して LMID
が指定されているマシン上で AOUT
が実行されるということを意味します。また、このパラメータは、サーバ グループの GRPNO
と、関連するリソース マネージャが開くときに渡されるパラメータも指定します。すべてのサーバ エントリには、サーバ グループのパラメータが指定されていなければなりません。
SRVID
=
number
省略可能なパラメータは、起動オプションと実行時オプションという 2 つのカテゴリに分けられます。起動オプションは、サーバの実行時に tmboot(1) が使用します。いったん実行されると、サーバはコンフィグレーション ファイルからエントリを読み込み、実行時オプションを決定します。ユニークなサーバ ID を使用して正しいエントリを見つけることができます。
CLOPT
=
string_value
SEQUENCE
=
number
SEQUENCE
を指定しない場合、サーバは SERVERS
セクションで指定された順序で起動します (停止はその逆の順序で行われます)。シーケンス番号が指定されているサーバと指定されていないサーバが混在する場合は、まず、シーケンス番号を持つサーバがすべて昇順に起動し、次に、シーケンス番号を持たないサーバがコンフィグレーション ファイル内の順序ですべて起動します。シーケンス番号は 1 から 9999 までの範囲で指定しなければなりません。
MIN
=
number
tmboot
によって起動するサーバのオカレンスの最小数を指定します。RQADDR
が指定されており、MIN
が 1 より大きい場合、そのサーバは MSSQ セットを形成します。サーバ識別子は、SRVID + MAX - 1
までの SRVID
となります。各サーバには、すべて同一のシーケンス番号とその他のサーバ パラメータが付けられます。
MIN
には 0 ~ 1000 の範囲の値を指定できます。デフォルト値は 1 です。MIN=0
値を持つサーバは、tmboot -y
では起動しません。このため、マルチサーバ環境では必要に応じてサーバを起動できるようになるので、起動時間を短縮できます。
MAX
=
number
tmboot
が実行されると、MIN
で指定した数のサーバが起動します。次に、tmboot
の -i
オプションを使用して関連するサーバ識別子を指定し、その他のサーバ (MAX
で指定した数まで) を起動します。MAX
値の範囲は MIN
から 1000 までです。このパラメータの指定がない場合、デフォルト値は MIN
と同じになります。
ENVFILE
=
string_value
[0..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
ENVFILE
を格納する必要があります。
ENVFILE
を使用してください。このファイルを使用して環境を変更する方法については、MACHINES
セクションの ENVFILE
を参照してください。
CONV
=
{Y
| N
}
tpacall()
または tpcall()
を使用した rpc 要求は非会話型サーバに対してのみ行うことができます。デフォルト値は N
です。
RQADDR
=
string_value
AOUT
の要求キューのシンボル名を指定します。名前は 30 文字以内でなければなりません。このパラメータの指定がない場合は、AOUT
がアクセスするキューのために固有のキー (GRPNO.SRVID
) を選択します。複数のサーバに対して同じ RQADDR
と実行可能ファイル名を指定すると、複数サーバ/単一キュー (MSSQ) セットを定義できます。2 つのサーバに、同じキュー名を持つ RQADDR
が指定されている場合、それらは同じサーバ グループになければなりません。
RQPERM
=
number
number
は通常の UNIX システムの方式 (たとえば 0600) で指定されます。RQPERM
を指定しない場合、PERM
が RESOURCES
セクションに指定されていればその値が使用されます。それ以外の場合は、値 0666 が使用されます。値は 0001 以上 0777 以下の範囲で指定できます。
REPLYQ
=
{Y
| N
}
AOUT
に対して応答キューを確立するかどうかを指定します。Y
を指定した場合は、応答キューが AOUT
と同じ LMID
上に作成されます。デフォルト値は N
です。MSSQ
セットのサーバの場合、応答を受けようとするサーバの REPLYQ
は Y
に設定します。
注意 : | 会話型サーバに対する REPLYQ の値は、UBBCONFIG の中で割り当てられている値に関係なく常に Y に設定されます。 |
RPPERM
=
number
RPPERM
を指定しない場合、デフォルト値は 0666 です。要求と応答が両方とも同じキューから読み取られる場合、指定する必要があるのは RQPERM
だけで、RPPERM
は無視されます。値は 0001 以上 0777 以下の範囲で指定できます。
RCMD
=
string_value
[0..256] (Oracle Tuxedo 8.0 以前では最大 78 バイト)
AOUT
が再起動できる場合、このパラメータは、AOUT
が異常終了した場合に実行するコマンドを指定します。最初のスペースまたはタブまでの文字列は、絶対パス名または APPDIR
を基準とする相対パス名で指定された実行可能な UNIX ファイル名でなければなりません (コマンドの先頭でシェル変数を設定しないでください)。このコマンドには、コマンドライン引数を必要に応じて指定することもできます。コマンドラインには、GRPNO
と SRVID
という、サーバの再起動に関連する 2 つの引数が追加されます。string_value はサーバの再起動と並行して実行されます。
MAXGEN
=
number
AOUT
が再起動できる場合、このパラメータは、GRACE
によって指定された時間内に最大 number
- 1 回再起動できることを示します。指定できる値は 0 より大きく、256 より小さい数値です。この値を指定しないと、デフォルトの 1 (サーバは一度起動できるが、再起動はできない) が設定されます。
GRACE
=
number
AOUT
が再起動できる場合、このパラメータは指定秒数内で最大 MAXGEN
回再起動できることを示します。この値は、0 以上 2147483648 未満でなければなりません。0 の場合、AOUT
は何回でも再起動できます。GRACE
を指定しない場合は、デフォルトの 86,400 秒 (24 時間) が指定されます。
RESTART
=
{Y
| N
}
AOUT
が再起動できるかどうかを指定します。デフォルト値は N
です。サーバを移行できる場合は、RESTART
を Y
に設定します。SIGTERM
シグナルで終了したサーバは、再起動できないため再起動する必要があることに注意してください。
SYSTEM_ACCESS
=
identifier
[,
identifier
]
FASTPATH
または PROTECTED
です。FASTPATH
を指定した場合、ライブラリは共有メモリを介して迅速に内部テーブルへアクセスできます。PROTECTED
を指定した場合、Oracle Tuxedo システム ライブラリが共有メモリを介して内部テーブルにアクセスできる間、Oracle Tuxedo システム ライブラリの外部からはそれらのテーブルの共有メモリにアクセスできません。NO_OVERRIDE
を単独あるいは FASTPATH
または PROTECTED
と共に指定した場合、アプリケーション プロセスによって選択モードはオーバーライドされません。SYSTEM_ACCESS
を指定しない場合、デフォルト モードは RESOURCES
セクションの SYSTEM_ACCESS
キーワードの設定値によって決まります。
SYSTEM_ACCESS
を PROTECTED
に設定しても、マルチスレッド サーバには効果がない場合があります。これは、あるスレッドが Oracle Tuxedo コードを実行しているとき (つまりスレッドが掲示板にアタッチされているとき) に別のスレッドがユーザ コードを実行できるからです。Oracle Tuxedo システムでは、このような状況を回避することはできません。
MAXDISPATCHTHREADS
=
number
MAXDISPATCHTHREADS
> 1 の場合、別のディスパッチ スレッドが使用されます。このディスパッチ スレッドは、パラメータで指定した数には含まれません。MAXDISPATCHTHREADS は、MINDISPATCHTHREADS と同じか、またはそれ以上でなければなりません (MINDISPATCHTHREADS
<=MAXDISPATCHTHREADS
)。このパラメータを指定しない場合、デフォルト値は 1 です。
MINDISPATCHTHREADS
=
number
MAXDISPATCHTHREADS
> 1 のときに使用される個別のディスパッチ スレッドは、MINDISPATCHTHREADS
の値の一部としてはカウントされません。MAXDISPATCHTHREADS は、MINDISPATCHTHREADS と同じか、またはそれ以上でなければなりません (MINDISPATCHTHREADS
<=MAXDISPATCHTHREADS
)。このパラメータのデフォルト値は 0 です。
THREADSTACKSIZE
=
number
MAXDISPATCHTHREADS
に 1 より大きい値が指定されている場合のみです。
SEC_PRINCIPAL_NAME
=
string_value
[0..511]
SEC_PRINCIPAL_NAME
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVERS
セクション) のいずれでも指定できます。特定のコンフィグレーション レベルでのプリンシパル名は、下位レベルでオーバーライドできます。どのレベルにも SEC_PRINCIPAL_NAME
が指定されていない場合、アプリケーションのプリンシパル名のデフォルト値には、このアプリケーションの RESOURCES
セクションに指定されている DOMAINID
文字列が設定されます。
SEC_PRINCIPAL_NAME
のほかにも、SEC_PRINCIPAL_LOCATION
と SEC_PRINCIPAL_PASSVAR
というパラメータがあります。後の 2 つのパラメータは、アプリケーション起動時に、Oracle Tuxedo 7.1 以降のアプリケーションで実行されるシステム プロセス用の復号化キーを開く処理に関するものです。特定のレベルで SEC_PRINCIPAL_NAME
のみが指定されている場合には、それ以外の 2 つのパラメータに長さゼロの NULL
文字列が設定されます。
SEC_PRINCIPAL_LOCATION
=
string_value
[0..1023]
SEC_PRINCIPAL_NAME
で指定されたプリンシパルの復号化 (プライベート) キーを収めるファイルまたはデバイスの場所を指定します。このパラメータには、最後の NULL 文字を除いて 1023 文字まで指定できます。
SEC_PRINCIPAL_LOCATION
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVERS
セクション) のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でも SEC_PRINCIPAL_NAME
パラメータと対になっている必要があり、それ以外の場合には無視されます。SEC_PRINCIPAL_PASSVAR
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
SEC_PRINCIPAL_PASSVAR
=
string_value
[0..31]
SEC_PRINCIPAL_PASSVAR
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVERS
セクション) のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でも SEC_PRINCIPAL_NAME
パラメータと対になっている必要があり、それ以外の場合には無視されます。SEC_PRINCIPAL_LOCATION
は省略可能です。これが指定されていない場合、システムによって長さゼロの NULL
文字列が設定されます。
SEC_PRINCIPAL_PASSVAR
で設定された各復号化キーのパスワードを入力する必要があります。パスワードの入力は、tmloadcf(1) で求められます。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
SICACHEENTRIESMAX
= string_value
DEFAULT
が使用できます。この場合、キャッシュできるサービスの数は、このサーバに対応する MACHINE
セクションのエントリによって指定されます。値を指定しない場合、文字列 DEFAULT
が有効値として使用されます。0 を指定した場合、このマシン上のプロセスでサービスはキャッシュされません。このパラメータの最大値は 32,767 です。
CONCURR_STRATEGY=PER_REQUEST
CONCURR_STRATEGY = PER_OBJECT
CONCURR_STRATEGY
は、マルチスレッド CORBA サーバ アプリケーションによって使用されるスレッド モデルを指定するために使用します。CONCURR_STRATEGY
パラメータには、次のいずれかの値を指定できます。
CONCURR_STRATEGY = PER_REQUEST
CONCURR_STRATEGY = PER_OBJECT
CONCURR_STRATEGY = PER_REQUEST
を指定して要求単位のスレッド モデルを使用する場合、CORBA サーバ アプリケーションでの各呼び出しは、スレッド プール内の任意のスレッドに割り当てられます。
CONCURR_STRATEGY = PER_OBJECT
を指定してオブジェクト単位のスレッド モデルを使用する場合、アクティブな各オブジェクトはいつでも単一のスレッドに関連付けられます。オブジェクトに対する要求ごとに、ディスパッチ スレッドとオブジェクトとの関連付けが確立されます。
注意 : | ユーザ制御の同時実行性は、スレッド モデルより優先されます。このため、いったんユーザ制御の同時実行性を選択すると、スレッド モデルが同じように動作し、同じプロセスの複数のスレッド内にあるオブジェクトのインスタンスの動作と別のプロセス内のオブジェクトのインスタンスの動作が一貫するようになります。 |
パラレル オブジェクトの詳細については、『Tuxedo CORBA プログラミング リファレンス』の「パラレル オブジェクト」を参照してください。
このセクションでは、アプリケーションが使用するサービスに関する情報を指定します。SERVICES
セクション内の行の形式は次のとおりです。
SVCNM
はサービスの (string_value
) 名です。SVCNM
は 15 文字以下でなければなりません。
必須パラメータはありません。省略可能なパラメータを設定する必要がない場合は、サービスを示す必要はありません。省略可能なパラメータは以下のとおりです。
LOAD
=
number
SVCNM
がシステムに number
のロード ファクタを負わせることを示します。number
には、1 以上 32,767 以下の値を指定できます。指定しない場合、デフォルト値は 50 です。数値が大きくなるほどロード ファクタも大きくなります。
PRIO
=
number
SVCNM
をキューから取り出す優先順位の数値を指定します。この値は 0 より大きく、100 以下でなければなりません (100 が最高の優先度)。デフォルト値は 50 です。
SRVGRP
=
string_value
string_value
内の SVCNM
に適用することを指定します。SRVGRP
を使用すると、同じサービスが異なるサーバ グループ内では異なるパラメータ設定を持つことが可能になります。名前は 30 文字以内でなければなりません。
BUFTYPE
=
”
type1
[:
subtype1
[,
subtype2
.. . ]][;
type2
[:s
ubtype3
[,
. . . ]]] . . . ”
FML
と FML32
(FML バッファ用)、XML
(XML バッファ用)、VIEW
、VIEW32
、X_C_TYPE
、または X_COMMON
(FML VIEW 用)、STRING
(NULL
で終了する文字配列用)、および CARRAY
または X_OCTET
(送信時にエンコードもデコードもされない文字配列用) があります。これらのタイプのうち、VIEW
、VIEW32
、X_C_TYPE
、および X_COMMON
にはサブタイプがあります。VIEW タイプは、サービスが期待する特定の VIEW の名前を指定します。アプリケーションのタイプとサブタイプも追加できます (tuxtypes(5)
を参照)。サブタイプを持つ TYPE
では、サブタイプに "*" を指定して、該当サービスが関連するタイプのすべてのサブタイプを受け付けるようにできます。
tuxtypes(5)
を参照)。BUFTYPE
パラメータが ALL
に設定されている場合、そのサービスはそのバッファ タイプ スイッチにあるバッファ タイプをすべて受け付けます。BUFTYPE
パラメータを省略することと、このパラメータを ALL
に設定することは同じです。サービス名は同じで異なる SRVGRP
パラメータを持つ複数のエントリがある場合、BUFTYPE
パラメータはそのエントリすべてにおいて同じでなければなりません。
BUFTYPE
指定の例を示します。BUFTYPE=FML は、サービスが FML バッファを取ることを示します。
BUFTYPE=VIEW:* は、サービスが FML VIEW のすべてのサブタイプを取ることを示します。
BUFTYPECONV
=
{XML2FML
| XML2FML32
}
ROUTING
=
string_value
string_value
は ROUTING
セクションに定義される ROUTING_CRITERIA_NAME
で、このサービスに対するデータ依存型ルーティングのルーティング基準の名前です。このパラメータを指定しない場合、このサービスではデータ依存型ルーティングが行われません。string_value
は 15 文字以内でなければなりません。サービス名は同じで異なる SRVGRP
パラメータを持つ複数のエントリがある場合、ROUTING
パラメータはそのエントリすべてにおいて同じでなければなりません。
BLOCKTIME
numeric_value
numeric_value
には 0 ~ 32,767 の値を指定します。指定しない場合、デフォルト値は 0 です。その場合は、UBBCONFIG RESOURCES
セクションで指定されたシステム全体の BLOCKTIME
値がサービスで使用されます。
SVCTIMEOUT
=
number
SIGKILL
シグナルで終了します。このシグナルは、サーバ内のすべてのスレッドに影響することに注意してください。このパラメータのデフォルト値は 0 です。
SIGNATURE_REQUIRED
=
{Y
| N
}
N
が設定されます。このパラメータは、Oracle Tuxedo 7.1 以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
SIGNATURE_REQUIRED
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVICES
セクション) のいずれでも指定できます。特定のレベルで SIGNATURE_REQUIRED
に Y
に設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
ENCRYPTION_REQUIRED
=
{Y
| N
}
N
が設定されます。このパラメータは、Oracle Tuxedo 7.1 以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
ENCRYPTION_REQUIRED
は、コンフィグレーション階層の 4 つのレベル (RESOURCES
セクション、MACHINES
セクション、GROUPS
セクション、および SERVICES
セクション) のいずれでも指定できます。特定のレベルで ENCRYPTION_REQUIRED
に Y
を設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
AUTOTRAN
=
{Y
| N
}
TRANTIME
=
number
このセクションでは、アプリケーションで使用する CORBA インタフェースに対するアプリケーション全体のデフォルト パラメータを定義するための情報を指定します。ファクトリベースのルーティング (特定のサーバ グループに処理を分散する機能) を実行しない場合には、CORBA インタフェースに必要なパラメータはありません。ファクトリベースのルーティングを実行する場合は、以下のパラメータを指定する必要があります。
ファクトリベース ルーティングおよび関連パラメータの詳細については、「ROUTING セクション」を参照してください。
指定するパラメータがない場合は、CORBA インタフェースを記述する必要はありません。
AUTOTRAN =
{Y
| N
}
AUTOTRAN
パラメータは、トランザクション ポリシーが optional
のインタフェースにのみ適用されます。それ以外の場合、このパラメータは無視されます。デフォルト値は N
です。
T_IFQUEUE MIB
オブジェクトのトランザクション ポリシーの属性になります。
AUTOTRAN
値を設定する前に、システム管理者はプログラマがインタフェースに割り当てたトランザクション ポリシーを知っておく必要があります。そうでないと、実行時に AUTOTRAN
が期待どおりに機能しない可能性があります。
AUTOTRAN
を Y
に設定した場合、TRANTIME
パラメータも設定する必要があります。
FACTORYROUTING =
criteria_name
LOAD =
number
LOAD
値との関係で相対的に決まります。デフォルト値は 50 です。CORBA 環境では、LOAD
の値を使用して、要求をキューに登録するのに最適なマシンが選択されます。
ルーティング先のサーバの負荷は、要求された CORBA インタフェースのロード ファクタ分 (LOAD
) だけ増加します。
PRIO =
number
この値には、1 ~ 100 の値を指定します。100 は、優先順位が最も高いことを示します。デフォルト値は 50 です。
SRVGRP =
server-group-name
INTERFACES
セクションのこの部分で定義するすべてのパラメータが、指定されたサーバ グループ内のインタフェースに適用されることを示します。この方法を使用すると、特定の CORBA インタフェースに対して、サーバ グループごとに異なるパラメータ値を定義できます。
TRANTIME =
number
AUTOTRAN
が Y
に設定されている場合、TRANTIME
パラメータを設定する必要があります。この値は 0 ~ 2147483647 (231 - 1)、つまり約 68 年でなければなりません。0 は、トランザクションにタイムアウトが設定されていないことを示します。デフォルト値は 30 秒です。
TIMEOUT =
number
SIGKILL
イベントと共に終了します。実行に最も時間がかかるメソッドに合わせてタイムアウト値を指定することをお勧めします。
このセクションでは、FML バッファ、XML バッファ、および VIEW を使用するサービス要求のデータ依存型ルーティングに関する情報を指定します。ここで指定するルーティング基準は、デフォルトのルーティング関数 _froute
、_xroute
、および _vroute
が使用される場合にのみ使用されます (tuxtypes(5)
を参照)。ROUTING
セクション内の行の形式は次のとおりです。
ROUTING_CRITERIA_NAME
required_parameters
ROUTING_CRITERIA_NAME
は、SERVICES
セクションの特定のサービス エントリの ROUTING
パラメータに割り当てられる (string_value
) 名です。ROUTING_CRITERIA_NAME
は 15 文字以下でなければなりません。
FIELD
=
string_value
FLDTBLDIR
および FIELDTBLS
または FLDTBLDIR32
および FIELDTBLS32
を使用)、または FML
ビュー テーブル (2 つの環境変数 VIEWDIR
および VIEWFILES
または VIEWDIR32
および VIEWFILES32
を使用) であるとそれぞれ見なされます。この情報は、メッセージの送信時に、データ依存型ルーティングに関連するフィールド値を取得するために使用されます。FML または FML32 バッファ内のフィールドがルーティングに使用される場合は、フィールドの値は 8191 以下でなければなりません。
FIELD
パラメータを定義する必要があります。
FIELD
="root_element
[/child_element
][/child_element
][/.. .][/@attribute_name
]”
FIELD
の値には、ルーティングの要素または要素の属性名を指定します。要素は、XML 文書またはデータグラムの要素のタイプ (要素名) または要素の属性名と見なされます。この情報は、ドキュメントまたはデータグラム送信時に、データ依存型ルーティングで要素の内容または属性を識別するために使用されます。要素名と属性名を組み合わせて、最大 30 文字まで指定できます。Oracle Tuxedo システムでは、インデックス指定がサポートされていないため、データ依存型ルーティングで XML バッファを処理する場合は、指定された要素のタイプの最初のオカレンスだけが認識されます。
FIELDTYPE
=
type
FIELD
パラメータに指定されたルーティング フィールドのタイプを指定します。このパラメータは、XML バッファをルーティングする場合にのみ使用されます。値 type
は、CHAR
、SHORT
、LONG
、FLOAT
、DOUBLE
、STRING
のいずれかに設定できます。ルーティング フィールドのデフォルトのタイプは STRING
です。
RANGES
=
string_value
string
は二重引用符で囲む必要があります。string
で使用できる文字数は最大 2048 文字です。ただし、Domains の場合は string
は最大 4096 文字です。この文字列は、範囲/group_name の組み合わせのリストをカンマで区切った形式をとります。たとえば、RANGES=”
0-2:DBG1,3-5:DBG2,6-9:"DBG3" のように指定します。
O'Brien
)、一重引用符の前に円マーク (¥) を 2 つ入れます (例: O¥¥'Brien
)。マシン上の関連する FIELD
のデータ型の最小値を示すには、MIN
を使用します。マシン上の関連する FIELD
のデータ型の最大値を示すには、MAX
を使用します。したがって、MIN - -5
は -5 以下のすべての数値を指し、6 - MAX
は、6 以上のすべての数値を指すことになります。範囲内のメタキャラクタ *
(ワイルドカード) は、すでにエントリとして指定した範囲では使用されなかった任意の値を示します。各エントリでは、1 つのワイルドカードによる範囲指定だけが可能です。1 つのエントリで使用できるワイルドカード範囲は 1 つだけで、最後になければなりません (後続の範囲は無視される)。
atof(3)
で使用できる浮動小数点数は、まず任意の符号、次に数字列 (小数点が入ってもよい)、任意の e
または E
、任意の符号またはスペース、最後に整数という形式を取ります。
*
(ワイルドカード) は、フィールド値が範囲と一致しない場合には要求がデフォルトのグループに送られること、またはフィールド値が範囲と一致していても、範囲エントリと関連するグループ内に実行可能なサーバが存在しない場合には、ワイルドカード *
で指定された範囲エントリのデフォルトのグループにサービス要求が転送されることを示します。
:
で区切ります。
FIELDTYPE
パラメータで指定されたデータ型に変換可能な場合にはルーティングに使用できます。
BUFTYPE
=
”
type1
[:
subtype1
[,
subtype2
.. . ]][;
type2
[:
subtype3
[,
. . . ]]] . . .”
FML
、FML32
、XML
、VIEW
、VIEW32
、X_C_TYPE
、X_COMMON
のいずれかでなければなりません。FML
、FML32
、XML
にはサブタイプを指定できません。VIEW
、VIEW32
、X_C_TYPE
、および X_COMMON
にはサブタイプが必要です (* は使用できない)。サブタイプの名前には、セミコロン (;)、コロン (:)、カンマ (,)、アスタリスク (*) は使用できません。タイプとサブタイプのペアのうち、重複するものは同じルーティング基準名として指定できません。タイプとサブタイプのペアがユニークな場合、複数のルーティング エントリは同じ基準名を持つことができます。これは必須パラメータです。単一のルーティング エントリに複数のバッファ タイプが指定される場合、各バッファ タイプに対するルーティング フィールドのデータ型は同じでなければなりません。
BRNCH FIELD=B_FLD RANGES="0-2:DBG1,3-5:DBG2,6-9:DBG3" BUFTYPE="FML”
この例では、フィールド B_FLD
のバッファの値 0-2 をサーバ グループ DBG1
に、値 3-5 をサーバ グループ DBG2
に、値 6-9 をサーバ グループ DBG3
に送信しています。その他の値は使用できません。
フィールド値が設定されない場合 (FML バッファに対して) またはフィールド値が特定の範囲に一致せず、かつワイルドカードの範囲が指定されていない場合は、アプリケーションにエラーが戻されます。
次に、XML 要素の CODE
に基づくルーティング エントリの例を示します。
PRODUCT FIELD="ORDER/CODE" RANGES="'AAA' - 'FFF':DBG1, 'GGG-ZZZ':DBG2" BUFTYPE="XML”
ここでは、CODE
はルート要素 ORDER
の子要素です。
ORDERNO
属性に基づくルーティング エントリは、次の例のようになります。
ORDER FIELD="ORDER/HEADER/@ORDERNO" FIELDTYPE=long RANGES="0-9999:DBG1,10000-MAX:DBG3" BUFTYPE="XML”
ここでは、ORDERNO
は、ルート要素 ORDER
の XML 子要素である HEADER
の属性です。
MASTER
マシン上で TUXCONFIG
コンフィグレーション ファイルを検索するには、環境変数 TUXCONFIG
および TUXOFFSET
を使用します。
# 次は、2 種類のマシン タイプがある
# 2 サイトを含むコンフィグレーション ファイルの例
# データ依存型ルーティングが使用される
*RESOURCES
IPCKEY 80952 # 既知のアドレスのキー
DOMAINID My_Domain_Name
UID 4196 # IPC 構造体のユーザ ID
GID 601 # IPC 構造体のグループ ID
PERM 0660 # IPC アクセスのパーミッション
MAXSERVERS 20 # 同時に処理できるサーバの数を 20 に設定
MAXSERVICES 40 # 提供するサービス数を 40 に設定
MAXGTT 20 # 同時に処理できるグローバル トランザクション数を 20 に設定
MASTER SITE1
SCANUNIT 10
SANITYSCAN 12
BBLQUERY 180
BLOCKTIME 30
NOTIFY DIPIN
OPTIONS LAN,MIGRATE
SECURITY USER_AUTH
AUTHSVC AUTHSVC
MP # 掲示板に基づくマルチプロセッサ
LDBAL Y # ロード バランシングを実行
#
*MACHINES
mach1 LMID=SITE1 TUXDIR="/usr4/tuxbin"
MAXACCESSERS=25
APPDIR="/usr2/apps/bank"
ENVFILE="/usr2/apps/bank/ENVFILE"
TLOGDEVICE="/usr2/apps/bank/TLOG" TLOGNAME=TLOG
TUXCONFIG="/usr2/apps/bank/tuxconfig" TYPE="3B2"
ULOGPFX="/usr2/apps/bank/ULOG"
SPINCOUNT=5
mach386 LMID=SITE2 TUXDIR="/usr5/tuxbin"
MAXACCESSERS=100
MAXWSCLIENTS=50
APPDIR="/usr4/apps/bank"
ENVFILE="/usr4/apps/bank/ENVFILE"
TLOGDEVICE="/usr4/apps/bank/TLOG" TLOGNAME=TLOG
TUXCONFIG="/usr4/apps/bank/tuxconfig" TYPE="386"
ULOGPFX="/usr4/apps/bank/ULOG"
#
*GROUPS
DEFAULT: TMSNAME=TMS_SQL TMSCOUNT=2
# Windows の場合、:bankdb: を ;bankdb; にする
BANKB1 LMID=SITE1 GRPNO=1
OPENINFO="TUXEDO/SQL:/usr2/apps/bank/bankdl1:bankdb:readwrite"
# Windows の場合、:bankdb: を ;bankdb; にする
BANKB2 LMID=SITE2 GRPNO=2
OPENINFO="TUXEDO/SQL:/usr4/apps/bank/bankdl2:bankdb:readwrite"
DEFAULT:
AUTHGRP LMID=SITE1 GRPNO=3
#
*NETWORK
SITE1 NADDR="mach1.80952" BRIDGE="/dev/starlan"
NLSADDR="mach1.serve"
#
SITE2 NADDR="mach386.80952" BRIDGE="/dev/starlan"
NLSADDR="mach386.serve"
*SERVERS
#
DEFAULT: RESTART=Y MAXGEN=5 REPLYQ=Y CLOPT="-A"
TLR SRVGRP=BANKB1 SRVID=1 RQADDR=tlr1
CLOPT="-A -- -T 100"
TLR SRVGRP=BANKB1 SRVID=2 RQADDR=tlr1
CLOPT="-A -- -T 200"
TLR SRVGRP=BANKB2 SRVID=3 RQADDR=tlr2
CLOPT="-A -- -T 600"
TLR SRVGRP=BANKB2 SRVID=4 RQADDR=tlr2
CLOPT="-A -- -T 700"
XFER SRVGRP=BANKB1 SRVID=5
XFER SRVGRP=BANKB2 SRVID=6
ACCT SRVGRP=BANKB1 SRVID=7
ACCT SRVGRP=BANKB2 SRVID=8
BAL SRVGRP=BANKB1 SRVID=9
BAL SRVGRP=BANKB2 SRVID=10
BTADD SRVGRP=BANKB1 SRVID=11
BTADD SRVGRP=BANKB2 SRVID=12
AUTHSVR SRVGRP=AUTHGRP SRVID=20 #
*SERVICES
DEFAULT: LOAD=50 AUTOTRAN=N
WITHDRAWAL PRIO=50 ROUTING=ACCOUNT_ID
DEPOSIT PRIO=50 ROUTING=ACCOUNT_ID
TRANSFER PRIO=50 ROUTING=ACCOUNT_ID
INQUIRY PRIO=50 ROUTING=ACCOUNT_ID
CLOSE_ACCT PRIO=40 ROUTING=ACCOUNT_ID
OPEN_ACCT PRIO=40 ROUTING=BRANCH_ID
BR_ADD PRIO=20 ROUTING=BRANCH_ID
TLR_ADD PRIO=20 ROUTING=BRANCH_ID
ABAL PRIO=30 ROUTING=b_id
TBAL PRIO=30 ROUTING=b_id
ABAL_BID PRIO=30 ROUTING=b_id
TBAL_BID PRIO=30 ROUTING=b_id SVCTIMEOUT=300
#
#
*ROUTING
ACCOUNT_ID FIELD=ACCOUNT_ID BUFTYPE="FML"
RANGES="MIN - 9999:*,10000-59999:BANKB1,60000-109999:BANKB2,*:*"
BRANCH_ID FIELD=BRANCH_ID BUFTYPE="FML"
RANGES="MIN - 0:*,1-5:BANKB1,6-10:BANKB2,*:*"
b_id FIELD=b_id BUFTYPE="VIEW:aud"
RANGES="MIN - 0:*,1-5:BANKB1,6-10:BANKB2,*:*”
相互運用するアプリケーションでは、マスタ側で最新のリリースが動作していなければなりません。異なるリリースの Oracle Tuxedo システム間で相互運用する場合、PMID
(マシン ADDRESS
)、LMID
、TLOGNAME
、グループ名、RQADDR
、サービス名、および ROUTING
(ルーティング基準名) の各パラメータ値は、有効な C 言語識別子 (UBBCONFIG
キーワードではない) でなければなりません。
BRIDGE を実行するローカル マシンが TCP/IP アドレッシングを使用している場合を考えます。ローカル マシンの名前は backus.company.com
、アドレスは 155.2.193.18
です。また、BRIDGE が要求を受け取るポート番号は 2334
だとします。このポート番号 2334
は、bankapp-naddr
という名前のネットワーク サービス データベースに追加されているとします。この場合、アドレスは次のように表現されます。
//155.2.193.18:bankapp-naddr
//155.2.193.18:2334
//backus.company.com:bankapp-naddr
//backus.company.com
:2334
0x0002091E9B02C112
最後の表現は 16 進形式です。0002
は TCP/IP アドレスの先頭部分、091E
は 16 進数に変換されたポート番号 2334
です。その後、IP アドレス 155.2.193.1
の各要素は 16 進数に変換されています。つまり、155
は 9B
、2
は 02
というようになります。
buildserver(1)、tmadmin(1)、tmboot(1)、tmloadcf(1)、tmshutdown(1)、tmunloadcf(1)、buffer(3c)、tpinit(3c)、servopts(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』
VIEW ファイルは、1 つまたは複数の C データ構造体 (VIEW) の記述用ソース ファイルです。viewc()
コマンドへの入力として使用される場合、VIEW ファイルはバイナリ ファイル (ファイル名 view_filename
.V
) とヘッダ ファイル (view_filename
.h
) の基礎となります (viewc、viewc32(1) を参照)。
Oracle Tuxedo システムでは、バイナリ .V
ファイルは次の 2 通りの方法で使用されます。
構造体のメンバーがその論理名によって参照できるように、VIEW を使用するすべてのプログラムに .h
ファイルをインクルードする必要があります。
ソース viewfile の各 VIEW 記述は、次の 3 つの部分から構成されます。
VIEW
で始まり、その後に VIEW 記述の名前が続く行。この名前は最大 33 文字で、有効な C 識別子でなければなりません。つまり、先頭がアンダースコアまたはアルファベットで、英数字またはアンダースコアしか使用できません。tpalloc(3c) で使用する場合、名前に使用できる文字数は 16 文字以内です。END
で始まる行。
各 VIEW 記述の先頭行は、キーワード VIEW
で始まり、後ろに VIEW 記述の名前が続かなければなりません。メンバー記述 (またはマッピング エントリ) は、C 構造体のメンバーに関する情報が含まれている行です。キーワード END
で始まる行は、VIEW 記述の最後の行です。また、シャープ (#
) で始まる行はコメントとして扱われ、無視されます。
したがって、ソース VIEW 記述は、一般に次のような構造になっています。
VIEW vname
# type cname fbname count flag size null
# ---- ----- ------ ----- ---- ---- ----
--------------メンバーの記述-------------------
.
.
.
END
vname
type
fbname
型が設定されます。
注意 : | mbstring メンバー型は、VIEW32 型付きバッファのみでサポートされます。 |
cname
cname
は内部で 30 文字以降が切り捨てられるので、cnames
の最初の 30 文字がユニークでなければなりません。VIEW が FML バッファにマップされない場合、これは有効な fbname
ではありません。
fbname
count
flag
flag
オプションについては後述します。FML バッファにマップしない VIEW の場合、このフィールドには C
または L
オプション (あるいはその両方) を指定でき、またはプレース ホルダ値のダッシュ ( ) を指定する必要があります。
size
size
は 2 つの数値をカンマで区切ります。1 つ目の数値は 10 進数値のバイト数 (0 より大きく 10 未満) で、2 つ目の数値は小数点の右側の桁数です (0 より大きく、バイト数の 2 倍から 1 を引いた値未満)。その他のフィールド タイプの場合、ダッシュ (-) を指定すると VIEW コンパイラがサイズを計算します。
null
以下に、VIEW 記述内のメンバー記述の flag
要素として指定できるオプションのリストを示します。L
および C
オプションは、FML ベースではない VIEW 用にも構造体メンバーを追加生成します。
cname
」という形式で生成されます。ここで cname
は、ACM が宣言されている cname
エントリです。たとえば、parts
という名前のメンバーの ACM は、次のように宣言されます。
short C_parts;
-r
コマンドライン オプションを指定すると、VIEW コンパイラは ACM メンバーと ALM (後述の L オプション参照) メンバーの構造化レコード定義を生成します。
L
オプションを指定すると、carray または string 型の構造体メンバーに関連する長さメンバー (ALM
) が生成されます (FML ベースではない VIEW も同様)。フィールド化バッファから構造体にデータを転送する場合、ALM
は対応する転送されたフィールドの長さに設定されます。フィールド化バッファのフィールドの長さがマップされた構造体メンバーで割り当てられた領域を超える場合、割り当てられたバイト数しか転送されません。対応する ALM
は、フィールド化バッファ項目のサイズに設定されます。このため、ALM
が構造体メンバーの配列の大きさを超えた場合、フィールド化バッファ情報は転送時に切り捨てられます。構造体メンバーからフィールド化バッファのフィールドにデータを転送する場合、そのフィールドが carray 型であれば、ALM
を使用してフィールド化バッファに転送するバイト数を示します。string 型のフィールドの場合、ALM
は転送時には無視されますが、後で転送されたバイト数に設定されます。carray フィールドの長さはゼロであることもあるため、ALM
が 0 である場合、関連する構造体メンバーの値が NULL 値でなければ、フィールド化バッファに長さゼロのフィールドが転送されることを示します。ALM
は unsigned short (VIEW32
の場合は 32 ビット unsigned long) として定義され、「L_
cname
」という名前が付けられます。ここで cname
は ALM
が宣言される構造体の名前です。宣言する ALM
に対応するメンバーのオカレンス数が 1 である場合、またはデフォルト値が 1 に設定されている場合、ALM
は次のように宣言します。unsigned short L_cname;
unsigned short L_cname[N];
ALM
配列として参照されます。このような場合は、ALM 配列内の各要素は構造体メンバー (またはフィールド) の対応するオカレンスを参照します。生成された ALM
名と先頭に「L_
」接頭辞が付いている構造体メンバーが矛盾する場合もあります。そのような矛盾は VIEW コンパイラにより報告され、これを VIEW コンパイラは致命的なエラーと見なします。たとえば、構造体のメンバーの名前が「L_parts
」である場合、これは、メンバー「parts」のために生成された ALM
の名前と矛盾します。また、-r
コマンドライン オプションを指定すると、VIEW コンパイラは ACM
および ALM
(前述の C オプションを参照) メンバーの構造化レコード定義を生成します。
注意 : | VIEW32 バッファの MBSTRING フィールドの場合、viewc32(1) コマンドでは L オプションが自動的に追加され、対応する ALM が宣言されます。Fmbpack32() によって準備される MBSTRING データのサイズは、アプリケーションによって ALM に設定されなければならず、Fmbunpack32() のために使用されます。 |
NULL 値は、C 構造体のメンバーが空であることを示すために使用されます。デフォルトの NULL 値が指定されていますが、独自の NULL 値を定義することもできます。
デフォルトの NULL 値は、数値型では 0 (dec_t の場合は 0.0)、char 型では "¥"、string、carray、および mbstring 型では "" です。
NULL 値を指定するためにエスケープ規則定数を使用することもできます。VIEW コンパイラが認識するエスケープ定数は、ddd
(d
は 8 進数)、0、n、t、v、b、r、f、 、'、および " です。
string、carray、および char 型の NULL 値は、二重引用符または一重引用符で囲まれている場合があります。VIEW コンパイラは、ユーザ定義の NULL 値の内部のエスケープされていない引用符は受け付けません。
要素は、値がその要素の NULL 値と同じであれば NULL になりますが、以下の例外があります。
VIEW 記述の NULL フィールドにキーワード "NONE" を指定することもできます。これは、そのメンバーに対する NULL 値がないことを意味します。
文字列および文字配列のメンバーのデフォルトの最大サイズは 2660 文字です。
文字列メンバーの場合、通常 "0
" で終了するため、ユーザ定義の NULL 値の最後の文字として "0
" は必要ありません。
VIEWFILES
VIEWDIR
変数 (下記参照) で指定したディレクトリのリストから検索されます。
VIEWDIR
VIEW32
では、環境変数 VIEWFILES32
と VIEWDIR32
が使用されます。
# FML ベースの VIEW ファイルの開始
VIEW custdb
$/* コメント行 */
#
#type cname fbname count flag size null
#
carray bug BUG_CURS 4 - 12 "no bugs"
long custid CUSTID 2 - - -1
short super SUPER_NUM 1 - - 999
long youid ID 1 - - -1
float tape TAPE_SENT 1 - - -.001
char ch CHR 1 - - "0"
string action ACTION 4 - 20 "no action"
END
# 非依存 VIEW ファイルの開始
VIEW viewx
$ /* viewx 情報のための VIEW 構造体 */
#
#type cname fbname count flag size null
#
int in - 1 - - -
short sh - 2 - - -
long lo - 3 - - -
char ch - 1 - - -
float fl - 1 - - -
double db - 1 - - -
string st - 1 - 15 -
carray ca - 1 - 15 -
END
viewc、viewc32(1)、tpalloc(3c)、Fvftos、Fvftos32(3fml)、Fvstof、Fvstof32(3fml)
『FML を使用した Oracle Tuxedo アプリケーションのプログラミング』
#include <fml32.h>
#include <tpadm.h>
Oracle Tuxedo システムの MIB は、ワークステーション グループ (1 つの WSL とそれに関連した WSH プロセス) を管理するためのクラスのセットを定義します。
管理要求のフォーマットと管理応答の解釈を行うには、WS_MIB
(5) を共通 MIB リファレンス ページ MIB(5)
と一緒に使用します。このリファレンス ページで説明するクラスや属性を使用し、MIB(5)
の説明に従ってフォーマットした要求を使用すると、アクティブなアプリケーションの既存の ATMI インタフェースの 1 つを通じて管理サービスを要求できます。WS_MIB(5)
のすべてのクラス定義の追加情報については、「WS_MIB(5) に関する追加情報」を参照してください。
各クラスの説明セクションには、次の 4 つのサブセクションがあります。
前述のように、この MIB に含まれる各クラスは、4 つの部分に分けて以下に定義されています。その 1 つが属性表です。属性表はクラス内の属性のリファレンス ガイドであり、管理者、オペレータ、一般ユーザがそれらの属性を使用してアプリケーションと対話するための方法を説明しています。属性表の各属性の説明には、5 つの構成要素 (名前、型、パーミッション、値、デフォルト) があります。各要素については、MIB(5)
を参照してください。
MIB(5)
は、共通 TA_FLAGS
属性を定義します。この属性は long 値フィールドで、共通 MIB フラグ値とコンポーネント MIB 固有フラグ値の両方を持ちます。現時点では、WS_MIB
(5) 固有のフラグ値は定義されていません。
このリファレンス ページで説明する属性のフィールド テーブルは、システムにインストールした Oracle Tuxedo システム ソフトウェアのルート ディレクトリからの相対パスで指定される udataobj/tpadm
ファイルにあります。${TUXDIR}/udataobj
ディレクトリは、FLDTBLDIR
環境変数で指定されるコロン区切りのリストにアプリケーションによって追加される必要があり、フィールド テーブル名 tpadm
は、FIELDTBLS
環境変数で指定されるカンマ区切りのリストに追加される必要があります。
この MIB のヘッダ ファイルとフィールド テーブルには、Oracle Tuxedo システム 6.0 以降が実行されているサイト (ネイティブとワークステーションの両方) からのみアクセスできます。
T_WSH
クラスは、WSH クライアント プロセスの実行時の属性を表します。この属性値は、特定の WSH クライアント プロセスに固有のワークステーション統計情報の特性を示します。このクラスは、共通キー フィールドの TA_SRVGRP
と TA_SRVID
によって T_WSL
にリンクされます。さらに、共通キー フィールドの TA_WSHCLIENTID
によって T_CLIENT
クラス (TM_MIB(5)
を参照) にもリンクされます。
注 1 T_WSH
クラスのすべての属性はローカル属性です。
注 2 Oracle Tuxedo 8.0 以前のリリースの場合、この属性の文字列の長さは最大 78 バイトです。
TA_CLIENTID
: string
[1..78]
TA_WSHCLIENTID
: string
[1..78]
T_CLIENT
オブジェクトにリンクできます。このフィールド値は、このクラスの TA_CLIENTID
属性の値と常に同じです。
TA_SRVGRP
: string
[1..30]
TA_SRVID
: 1 <= num
< 30,001
TA_STATE
:
TM_MIB(5)
の T_CLIENT
クラスに対して定義された任意の状態が返されるか、またはこのリファレンス ページに示すとおり設定します。SUSpended 状態への状態変更は、SUSpended 状態の WSH の ACTive へのリセットと同様に、この WSH に関連付けられたすべてのクライアントにとって過渡的なものです。さらに、SUSpended 状態の WSH クライアントには、WSL によって接続してくるクライアントがこれ以上割り当てられることはありません。T_CLIENT
クラスにアクセスするときに WSH クライアントを DEAD
に設定することができない場合があります。ただし、DEAD
への状態変化は T_WSH
クラスを介して可能となり、この場合、WSH によって処理されるすべての接続が切断されます。
TA_LMID
: LMID
TA_PID
: 1 = num
TA_NADDR
: string
[1..256] (Oracle Tuxedo 8.0 以前は最大で 78 バイト)
TA_HWCLIENTS
: 1 <= num
<32,767
TA_MULTIPLEX
: 1 <= num
<32,767
TA_CURCLIENTS
: 1 <= num
<32,767
TA_TIMELEFT
: 0 <= num
TA_ACTIVE
: {Y
| N
}
Y
は、WSH がそれに関連付けられているワークステーション クライアントの 1 つの代わりに作業を実行していることを示しています。値 N
は、WSH がそれに関連付けられたワークステーション クライアントの 1 つの代わりに実行する処理を待っていることを示しています。
TA_TOTACTTIME
: 0 <= num
TA_TOTIDLTIME
: 0 <= num
TA_CURWORK
: 0 <= num
TA_FLOWCNT
: 0 <= num
TA_NUMBLOCKQ
: 0 <= num
TA_RCVDBYT
: 0 <= num
TA_RCVDNUM
: 0 <= num
TA_SENTBYT
: 0 <= num
TA_SENTNUM
: 0 <= num
このクラスは T_CLIENT
クラスの特殊な場合を表すクラスなので、対応する T_CLIENT
オブジェクトでも重複して定義されている特定の属性を表します。T_CLIENT
クラスに含まれる属性のうちここに記載されていないものにはそのクラスを介してアクセスする必要があり、T_WSH
クラスからアクセスすることはできません。
WSH サーバの属性は、実行時環境でのみ意味を持ちます。したがって、起動されていない環境で tpadmcall(3c) 関数を使用しても、これらの属性を変更することはできません。
T_WSL
クラスは、ワークステーション グループを管理するためにコンフィグレーションされた WSL サーバ プロセスのコンフィグレーションおよび実行時の属性を表します。これらの属性値により、アプリケーション内の WSL T_SERVER
オブジェクトのワークステーション固有のコンフィグレーション属性が識別され、その特性が示されます。このクラスは、共通キー フィールドの TA_SRVGRP
と TA_SRVID
によって T_WSH
にリンクされます。
注 1 オブジェクト作成時、この属性に値を指定しないと、0 が割り当てられます。この属性に 0 を指定すると、アクティブ化時に、TA_MAXHANDLERS
の現在の設定値と TA_MAXWSCLIENTS
の T_MACHINE
クラス設定値から有効値が決定されます。MIB_LOCAL
フラグを設定して GET
操作を実行すると、起動時のデフォルト設定値でオブジェクトの有効値が返されるということに注意してください。
注 2 リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。
注 3 Oracle Tuxedo 8.0 以前のリリースの場合、この属性の文字列の長さは最大 78 バイトです。
TA_SRVGRP
: string
[1..30]
TA_SRVID
: 1 <= num
< 30,001
TA_GRPNO
: 1 <= num
< 30,001
TA_STATE
:
TA_LMID
: LMID
TA_PID
: 1 = num
TA_DEVICE
: string
[0.0.78]
TA_NADDR
: string
[1..256] (Oracle Tuxedo 8.0 以前は最大で 78 バイト)
string
の形式が “0x
hex-digits
”
または “¥¥x
hex-digits
”
の場合、偶数の有効な 16 進数を含める必要があります。これらの形式は、TCP/IP アドレスを含む文字配列に内部変換されます。string
の値は次のいずれかの形式で指定します (表 76 を参照)。
gethostbyname
(3c) を介してアクセスされたローカル コンフィグレーションの名前解決機能を使ってアドレスが結合されるときに、hostname
は TCP/IP ホスト アドレスに解決されます。#.#.#.#
はドットで区切った 10 進数の形式で、各 #
は 0 から 255 までの 10 進数の値を表します。port_number
は 0 から 65535 までの 10 進数です。
注意 : | 一部のポート番号は、お使いのシステムで使用される基底のトランスポート プロトコル (TCP/IP など) のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート プロトコルのマニュアルを調べてください。 |
TA_EXT_NADDR
: string
[0..78]
TA_NADDR
と同じです。ただし、組み合わされたネットワーク アドレスの位置が WSH ネットワーク アドレスからコピーされることを示すために、ポート番号が同じ長さの文字 M で置き換えられます。たとえば、アドレス テンプレートが 0x0002MMMMdddddddd で WSH ネットワーク アドレスが 0x00021111ffffffff のときは、既知のネットワーク アドレスは 0x00021111dddddddd です。アドレス テンプレートが "//" で始まる場合、ネットワーク アドレス タイプは IP 対応であり、WSH ネットワーク アドレスの TCP/IP ポート番号はアドレス テンプレートにコピーされて、組み合わされたネットワーク アドレスが生成されます。この機能は、ワークステーション クライアントがネットワーク アドレス変換を実行するルータを通じて WSH に接続するときに役立ちます。既存の T_WSL
オブジェクトの SET
操作の空の TA_EXT_NADDR
文字列は、TA_CLOPT
属性から -H
エントリを削除します。
注意 : | Tuxedo IPv6 アドレッシングでは、TA_EXT_NADDR はサポートされません。 |
TA_WSHNAME
: string
[1..78]
buildwsh()
コマンドを使用してカスタマイズできます。詳細については、カスタマイズの項と buildwsh(1) リファレンス ページを参照してください。
TA_MINHANDLERS
: 0 <= num
< 256
TA_MAXHANDLERS
: 0 <= num
< 32,767
TA_MULTIPLEX
: 1 <= num
<32,767
TA_MINENCRYPTBITS
: {0
| 40
| 56
| 128
| 256
}
0
は暗号化が行われないことを示し、40
、56
、および 128
は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルト値は 0 です。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。 |
TA_MAXENCRYPTBITS
: {0
| 40
| 56
| 128
| 256
}
0
は暗号化が行われないことを示し、40
、56
、および 128
は暗号化キーの長さをビット単位で指定します。デフォルト値は 128
です。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。 |
TA_CERTIFICATE_AUTHENTICATION
: ”
{Y
| N
}”
TA_SECUREPORT
: 0 <= num
< 32,767
TA_SSL_RENEGOTIATION
: 0 <= num
< 35,791,394
TA_MINWSHPORT
: 0 <= num
< 65,535
TA_MAXWSHPORT
: 0 <= num
< 65,535
TA_MAXIDLETIME
: 0 <= num
< 35,204,650
TA_MAXINITTIME
: 1 <= num
< 32,767
TA_CMPLIMIT
: threshold
しきい値は、負以外の数値または文字列 MAXLONG
です。MAXLONG は、マシンの最大長の設定に動的に変換されます。制限事項 : この属性値は、Oracle Tuxedo Workstation リリース 6.1 以前のシステムを実行しているワークステーション クライアントでは使用されません。
TA_CLOPT
: string
[0..1024]
servopts(5)
リファレンス ページを参照してください。制限事項 : 実行時にこの属性を変更しても、稼働中の WSL サーバに影響はありません。サーバ固有のオプション (ダブルダッシュ "--" の後のオプション) は設定できず、また返されません。
TA_ENVFILE
: string
[0..256] (Oracle Tuxedo 8.0 以前の場合は最大 78 バイト)
T_MACHINE:TA_ENVFILE
を参照してください。制限事項 : 実行時にこの属性を変更しても、稼働中の WSL サーバに影響はありません。
TA_GRACE
: 0 <= num
T_WSL:TA_MAXGEN
制限が適用される秒数。この属性は、再起動可能な WSL サーバに対してのみ意味を持ちます。つまり、T_WSL:TA_RESTART
属性が "Y
" に設定されている場合にのみ意味があります。再起動しているサーバが TA_MAXGEN
制限値を超えても、TA_GRACE
の期限が切れている場合は、システムは現在の世代 (T_SERVER:TA_GENERATION
) を 1 にリセットし、初期起動時間 (T_SERVER:TA_TIMESTART
) を現在の時刻にリセットします。この属性の値が 0 のときには、WSL サーバを必ず再起動する必要があります。
TA_KEEPALIVE
: ”
{client
| handler
| both
| none
}”
TA_MAXGEN
: 1 <= num
< 256
T_WSL:TA_GRACE
) に、再起動可能な WSL サーバ (T_WSL:TA_RESTART == "Y”
) に対して許可される世代数。WSL サーバの最初の起動が 1 世代とカウントされ、各再起動も 1 とカウントされます。最大世代数を超えた後の処理については、前述の TA_GRACE
に関する説明を参照してください。
TA_NETTIMEOUT
: 0 <= num
<= MAXLONG
TA_NETTIMEOUT
の値は、ワークステーション クライアントが WSL/WSH からの応答を受信するために待機状態でいられる最短時間 (秒数) です。デフォルト値は 0、つまりタイムアウトが発生しないことを示します。
TA_RCMD
: string
[0..256] (Oracle Tuxedo 8.0 以前の場合は最大 78 バイト)
TA_RESTART
: ”
{Y
| N
}”
“Y”
) または再起動不可能 (“N”
) に設定します。このサーバ グループに対してサーバ移行が指定された場合には (T_RESOURCE:TA_OPTIONS/MIGRATE T_GROUP:TA_LMID
w/ 代替サイト)、この属性を “Y”
に設定する必要があります。
TA_SEQUENCE
: 1 <= num
< 10,000
TA_SEQUENCE
属性を指定せずに、または無効な値を指定して追加された T_WSL
オブジェクトは、他の自動的に選択されたデフォルト値より大きな 10,000 以上の値を持ちます。サーバは、tmboot()
によってシーケンス番号の昇順で起動され、tmshutdown()
によって降順で停止されます。この属性を実行時に変更すると、tmboot()
と tmshutdown()
にのみ反映され、実行中のサーバが以降の tmshutdown()
の呼び出しによって停止される順序に影響します。
TA_CURHANDLERS
: 0 <= num
TA_HWHANDLERS
: 0 <= num
TA_WSPROTO
: 0 <= num
TA_SUSPENDED
: ”
{NEW
| ALL
| NONE
}”
“NEW”
は、新たに接続してくるクライアントがこの WSL オブジェクトを介して接続しない可能性があることを示しています。値 “ALL”
は、新しいクライアントの接続の禁止に加えて、この WSL を介してすでにアプリケーションに接続されているワークステーション クライアントが SUSPENDED の状態にある (TM_MIB(5)
を参照) ことを示しています。値 “NONE”
は、有効な中断特性がないことを示しています。
TA_VIEWREFRESH
: Y
このクラスは T_SERVER
クラスの特殊な場合を表すクラスなので、対応する T_SERVER
オブジェクトでも重複して定義されている特定の属性を表します。T_SERVER
クラスに含まれる属性のうちここに記載されていないものにはそのクラスを介してアクセスする必要があり、T_WSL
クラスからアクセスすることはできません。
WS_MIB
(5) への接続時には、2 つの一般的なタイプのエラーがユーザに返される場合があります。1 つは、管理要求に対する応答を検索する 3 つの ATMI 関数 (tpcall()
、tpgetrply()
、および tpdequeue()
) が返すエラーです。これらのエラーは、該当するリファレンス ページの記述に従って解釈されます。
ただし、要求がその内容に対応できるシステム サービスに正常にルーティングされても、システム サービス側でその要求を処理できないと判断されると、アプリケーション レベルのサービス障害としてエラーが返されます。このような場合、tpcall()
と tpgetrply()
は、tperrno
を TPESVCFAIL
に設定してエラーを返し、以下のようにエラーの詳細を示す TA_ERROR
、TA_STATUS
、および TA_BADFLD
フィールドと一緒に、元の要求を含む応答メッセージを返します。TMQFORWARD(5)
サーバ経由でシステムに転送された要求に対してサービス障害が発生すると、元の要求で識別される異常終了キューに障害応答メッセージが追加されます (TMQFORWARD
に対して -d
オプションが指定されたと見なされる)。
管理要求の処理中にサービス エラーが発生すると、TA_STATUS
という FML32 フィールドにエラーの内容を説明したテキストが設定され、TA_ERROR
という FML32 フィールドにはエラーの原因 (下記参照) を示す値が設定されます。以下のエラー コードは、いずれもマイナスであることが保証されています。
other
]
MIB(5)
リファレンス ページに指定されています。これらのエラー コードは、ここに定義する WS_MIB
(5) 固有のエラー コードと相互に排他関係にあることが保証されています。
以下の診断コードは TA_ERROR
で戻されるもので、管理要求が正常に完了したことを示します。これらのコードはマイナスでないことが保証されています。
other
]
MIB(5)
リファレンス ページに指定されています。これらのコードは、ここに定義する WS_MIB
(5) 固有の戻りコードと相互に排他関係にあることが保証されています。
このリファレンス ページで定義されているヘッダ ファイルおよびフィールド テーブルは、Oracle Tuxedo リリース 5.0 以降で利用できます。これらのヘッダやテーブルで定義するフィールドはリリースが変わっても変更されません。ただし、以前のリリースで定義されていない新しいフィールドが追加される場合があります。AdminAPI には、要求を作成するために必要なヘッダ ファイルとフィールド テーブルがあれば、どのサイトからでもアクセスできます。T_WSL
および T_WSH
クラスは、Oracle Tuxedo システム リリース 6.0 で新しく追加されたクラスです。そのため、AdminAPI を介して旧リリースのサイト上で WSL プロセスと WSH プロセスをローカル管理することはできません。ただし、このリファレンス ページに定義された管理機能の多くは、リリース 6.0 のサイトと相互運用していれば、リリース 6.0 より前のサイトでも使用できます。リリースが異なるサイト (共にリリース 6.0 以降) を相互運用する場合、当該リリースの MIB リファレンス ページに定義されるように、旧サイト上の情報はアクセスおよび更新可能で、以降のリリースで利用可能な情報のサブセットとなります。
Oracle Tuxedo システムの MIB を使用した管理作業をサポートするために必要な既存の FML32 および ATMI 関数、さらにこのリファレンス ページに定義するヘッダ ファイルとフィールド テーブルは、すべてのサポート対象ネイティブ プラットフォームとワークステーション プラットフォームで使用可能です。
以下の例は、TM_MIB(5)
と WS_MIB
(5) を組み合わせてワークステーション グループを順番に非アクティブ化するコードです。
属性フィールド識別子にアクセスするには、フィールド テーブル tpadm が必要です。そのためには、次のようにシェルで入力します。
$ FIELDTBLS=tpadm
$ FLDTBLDIR=${TUXDIR}/udataobj
$ export FIELDTBLS FLDTBLDIR
#include <atmi.h>
#include <fml32.h>
#include <tpadm.h>
以下のコードは、ワークステーション グループの状態を SUSpended
に設定します。このように設定すると、ワークステーション グループはワークステーション クライアントからの新しい接続を受け入れることができなくなり、現在グループの一部であるすべてのワークステーション クライアントが一時停止します。このコードと後続のコードは、対象としているワークステーション グループを識別するためのローカル変数 ta_srvgrp
と ta_srvid
がすでに設定されているという前提で書かれています。
/* 入力バッファと出力バッファの割り当て */ ibuf = tpalloc("FML32", NULL, 1000);
obuf = tpalloc("FML32", NULL, 1000);
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_WSL", 0);
/* WS_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, ta_srvgrp, 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)ta_srvid, 0);
Fchg32(ibuf, TA_SUSPENDED, 0, "ALL", 0);
/* 要求を作成 */
if (tpcall(".TMIB", (char *)ibuf, 0, (char **)obuf, olen, 0) 0) {
fprintf(stderr, "tpcall failed: %s\en", tpstrerror(tperrno));
if (tperrno == TPESVCFAIL) {
Fget32(obuf, TA_ERROR, 0,(char *)ta_error, NULL);
ta_status = Ffind32(obuf, TA_STATUS, 0, NULL);
fprintf(stderr, "Failure: %ld, %s\en",
ta_error, ta_status);
}
/* 追加のエラー処理 */
}
/* 今後使用するために論理マシン識別子をコピー */
strcpy(ta_lmid, Ffind32(obuf, TA_LMID, 0, NULL));
既存の入力バッファを使って、クラスと操作を変更して新しい要求を作成します。特定の T_WSL
オブジェクトのキー フィールド、ta_srvgrp
と ta_srvid
に関連付けられているすべての T_WSH
オブジェクトを検索します。検索を効率化するため、TA_FILTER
属性を設定します。
/* 要求タイプを定義する MIB(5) 属性を設定 */ Fchg32(ibuf, TA_CLASS, 0, "T_WSH", 0);
Fchg32(ibuf, TA_OPERATION, 0, "GET", 0);
longval = TA_WSHCLIENTID;
Fchg32(ibuf, TA_FILTER, 0, (char *)longval, 0);
/* WS_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_LMID, 0, ta_lmid, 0);
/* 別の出力バッファを割り当てて TA_WSHCLIENTID 値を保存 */
wshcltids = tpalloc("FML32", NULL, 1000);
/* 要求を作成 */
tpcall(".TMIB", (char *)ibuf, 0, (char **)wshcltids, olen, 0);
/* 取得数を確認 */
Fget32(wshcltids, TA_OCCURS, 0,(char *)wshcltcnt, NULL);
検索した TA_WSHCLIENTID
値を使用して、このワークステーション グループ内のワークステーション クライアントの関連付けられた TA_CLIENTID
値のリストを検索します。
/* 要求バッファを初期化 */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "GET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_CLIENT", 0);
longval = TA_CLIENTID;
Fchg32(ibuf, TA_FILTER, 0, (char *)longval, 0);
longval = TA_WSHCLIENTID;
Fchg32(ibuf, TA_FILTER, 1, (char *)longval, 0);
/* WS_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_LMID, 0, ta_lmid, 0);
Fchg32(ibuf, TA_WSC, 0, "Y", 0);
if (wshcltcnt == 1) {
/* 1 だけなので、それをキー フィールドとして使用*/
Fchg32(ibuf, TA_WSHCLIENTID, 0,
Ffind32(wshcltids, TA_WSHCLIENTID, 0, NULL));
}
/* 出力バッファを割り当てて TA_CLIENTID/TA_WSHCLIENTID 値を保存 */
cltids = tpalloc("FML32", NULL, 1000);
/* 要求を作成 */
tpcall(".TMIB", (char *)ibuf, 0, (char **)cltids, olen, 0);
/* 取得数を確認 */
Fget32(cltids, TA_OCCURS, 0,(char *)cltcnt, NULL);
/* 必要な場合、関連付けられていないクライアントを削除 */
if (wshcltcnt > 1) {
for (i=(cltcnt-1); i >= 0 ;i--) {
p = Ffind32(cltids, TA_WSHCLIENTID, i, NULL);
for (j=0; j wshcltcnt ;j++) {
q = Ffind32(wshcltids, TA_WSHCLIENTID, j, NULL);
if (strcmp(p, q) == 0) {
break; /* このクライアントは現在のグループに所属 */
}
}
if (j >= wshcltcnt) {
/* クライアントが見つからないのでリストから削除 */
Fdel32(cltids, TA_CLIENTID, i);
Fdel32(cltids, TA_WSHCLIENTID, i);
cltcnt--;
}
}
}
検索した TA_CLIENTID
値を使用して、このワークステーション グループ内のワークステーション クライアントにログオフを通知します。
notstr = tpalloc("STRING", NULL, 100);
(void)strcpy(notstr, "Please logoff now!");
/* 関係するクライアントをループ処理して一時停止 */
for (i=0; i cltcnt ;i++) {
p = Ffind32(cltids, TA_CLIENTID, i, NULL);
/* クライアントにログオフを通知 */
tpconvert(p, (char *)ci, TPCONVCLTID);
tpnotify(ci, notptr, 0, 0);
}
検索した TA_CLIENTID
値を使用して、このワークステーション グループ内の残りのワークステーション クライアントを非アクティブ化します。すでに非アクティブ化されているクライアントは SET でエラーを返しますが、これは無視します。
/* 要求バッファを初期化 */
Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_CLIENT", 0);
Fchg32(ibuf, TA_STATE, 0, "DEAd", 0);
/* 関連するクライアントをループ処理して非アクティブ化 */
for (i=0; i cltcnt ;i++) {
p = Ffind32(cltids, TA_CLIENTID, i, NULL);
Fchg32(ibuf, TA_CLIENTID, 0, p);
/* 要求を作成 */
tpcall(".TMIB", (char *)ibuf, 0, (char **)obuf, olen, 0);
}
T_WSL
オブジェクトを非アクティブ化します。これにより、関連付けられたアクティブな T_WSH
オブジェクトが自動的に非アクティブ化されます。
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_WSL", 0);
Fchg32(ibuf, TA_STATE, 0, "INActive", 0);
/* WS_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, ta_srvgrp, 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)ta_srvid, 0);
/* 要求を作成 */
tpcall(".TMIB", (char *)ibuf, 0, (char **)obuf, olen, 0);
}
${TUXDIR}/include/tpadm.h、${TUXDIR}/udataobj/tpadm
tpacall(3c)、tpalloc(3c)、tpcall(3c)、tpdequeue(3c)、tpenqueue(3c)、tpgetrply(3c)、tprealloc(3c)、「FML 関数の紹介」、Fadd、Fadd32(3fml)、Fchg、Fchg32(3fml)、Ffind、Ffind32(3fml)、MIB(5)
、TM_MIB(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』
『FML を使用した Oracle Tuxedo アプリケーションのプログラミング』
WSL SRVGRP="identifier
"
SRVID="number
"
CLOPT="[-A] [servoptsoptions
] -- -nnetaddr
[-ddevice
]
[-wWSHname
] [-ttimeout-factor
] [-TClient-timeout
]
[-mminh
] [-Mmaxh
] [-xmpx-factor
]
[-pminwshport
] [-Pmaxwshport
] [-Iinit-timeout
]
[-ccompression-threshold
] [-kcompression-threshold
]
[-K {client|handler|both|none}]
[-z
bits
] [-Z
bits
] [-H
external-netaddr
][-N
network-timeout
]
[-U
inbound-message-size-limit-in-bytes]
[-a] [-v{detect|warn|none}] [-R renegotiation_interval]
[-S secure_port]”
ワークステーション リスナは、ワークステーション クライアントからネイティブ サービスへのアクセスを可能にする Oracle Tuxedo システム提供のサーバです。アプリケーション管理者は、SERVERS
セクションでワークステーション リスナ サーバをアプリケーション サーバとして指定することにより、ワークステーションからアプリケーションへのアクセスを許可します。ワークステーション リスナとワークステーション ハンドラの処理を指定するには、関連するコマンドライン オプションを使用します。
位置指定、サーバ グループ、サーバ ID、その他の汎用サーバ関連パラメータは、サーバ用に定義されているコンフィグレーション ファイル機構を使用してワークステーション リスナに関連付けられます。ワークステーション リスナ専用のコマンドライン オプションを使用して、カスタマイズすることもできます。
アプリケーションの一部として WSL が起動するたびに、単一の既知のネットワーク アドレスから、ワークステーション上で作業するユーザのための代替クライアントとして機能する一群のワークステーション ハンドラ (WSH) へアクセスすることを認めることにより、多数のワークステーション クライアントがアプリケーションにアクセスできるようになります。WSH は、アプリケーション ワークステーションからのワークロードに対応するために、必要に応じて WSL によって動的に起動および停止されます。アプリケーション管理者に対する利点としては、少数のネイティブ サイト プロセス (WSH) によって、多数のクライアントをサポートすることができるため、ネイティブ サイトでのプロセス数を減らすことができるという点、また、ネイティブ サイトが、ワークステーション サイトにある掲示板上の情報を維持するためのオーバーヘッドを負う必要がなくなるという点が挙げられます。
以下の WSL 固有のコマンドライン オプションを使用できます。これらのコマンドライン オプションは、CLOPT
パラメータの二重ダッシュ (--) の後ろに指定できます。
-n
netaddr
netaddr
(1 ~ 78 文字) の形式が “0x
hex-digits
”
または “¥¥x
hex-digits
”
の場合、有効な偶数桁の 16 進数を含める必要があります。これらの形式は、TCP/IP アドレスを含む文字配列に内部変換されます。このアドレスは、次の形式のいずれかで指定することもできます (表 77 を参照)。
#.#.#.#
はドットで区切った 10 進数の形式で、各 #
は 0 から 255 までの 10 進数の値を表します。port_number
は 0 から 65535 までの 10 進数です。
注意 : | 一部のポート番号は、お使いのシステムで使用される基底のトランスポート プロトコル (TCP/IP など) のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート プロトコルのマニュアルを調べてください。 |
-d
device
]
-w
WSHname
]
buildwsh()
コマンドを使用してカスタマイズできます。詳細については、buildwsh(1) リファレンス ページを参照してください。
-t
timeout-factor
]
-I
オプションに置き換えられ、Oracle Tuxedo リリース 6.0 での上位互換性のためにサポートされます。今後のリリースでは削除されることもあります。WSL によってタイムアウトとされる前に、WSH を通じて初期化処理を完了するためにワークステーション クライアントに対して認められるべき秒単位の時間を、SCANUNIT
の値と乗算することによって指定するためのパラメータです。このパラメータのデフォルト値は、セキュリティなしのアプリケーションでは 3 秒、セキュリティありのアプリケーションでは 6 秒です。有効範囲は 1 ~ 255 です。
-T
client-timeout
]
Client-timeout
は、クライアントがアイドル状態を保持できる時間を分単位で表したものです。クライアントがこの時間内に要求を行わなかった場合、WSH はクライアント接続を切断します。このオプションは、安定性の低いクライアントのプラットフォームでの使用に適しています (ユーザが tpterm()
の呼び出しを行わずにコンピュータの電源を切る可能性がある場合など)。また、クライアントが非請求メッセージの通知を受信しても再試行しない場合にも効果があります。-T
を指定しない場合、タイムアウトはありません。
-m
minh
]
-M
maxh
]
MAXWSCLIENTS
の設定値を割った値です。多重係数については、後述の -x
オプションを参照してください。このパラメータの有効範囲は 1 ~ 4096 です。この値は minh
以上でなければなりません。
-x
mpx-factor
]
-p
minwshport
] -P
maxwshport
]
minwshport
が 2048、maxwshport
が 65535 です。
注意 : | 一部のポート番号は、お使いのシステムで使用される基底のトランスポート プロトコル (TCP/IP など) のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート プロトコルのマニュアルを調べてください。 |
-I
init-timeout
]
-t
オプションに取って代わるもので、クライアントの初期化タイムアウト間隔を設定するために使用します。ワークステーション クライアントが WSH を介して初期化プロセスを完了するまでの時間 (秒) を指定します。この時間を過ぎると、ワークステーション クライアントは WSL によってタイムアウトになります。このパラメータのデフォルト値は 60 で、有効な範囲は 1 ~ 32,767 です。
-c
compression-threshold
]
-k
compression-threshold
]
-c
オプションで圧縮しきい値を制御する WSL/WSH のペアと、-k
オプションで制御する WSL/WSH のペアが複数存在できます。-k
の機能は -c
と同じです。
-K
{client
| handler
| both
| none
}]
-K
オプションは、client
、handler
、または both
に対してネットワーク keep-alive 機能をオンにできます。none
を指定すると、クライアントとハンドラの両方に対してこの機能をオフにできます。
-z
[0
| 40
| 56
| 128
| 256
]]
0
は暗号化が行われないことを示し、40
、56
、128
、および 256
は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルト値は 0
です。このオプションは、56 ビットまたは 128/256 ビットの Oracle Tuxedo セキュリティ アドオン パッケージがインストールされている場合にのみ使用できます。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。256 ビットの暗号化は、現時点では SSL を使用している場合にのみ指定できます。 |
-Z
[0
| 40
| 56
| 128
|256
]]
0
は暗号化が行われないことを示し、40
、56
、128
、および 256
は暗号化キーの長さをビット単位で指定します。デフォルト値は LLE の場合 128、SSL の場合 256 です。このオプションは、56 ビットまたは 128/256 ビットの Oracle Tuxedo セキュリティ アドオン パッケージがインストールされている場合にのみ使用できます。
注意 : | リンクレベルの暗号化の値 40 は、下位互換性を維持するために提供されています。256 ビットの暗号化は、現時点では SSL を使用している場合にのみ指定できます。 |
-H
external-netaddr
]
-n
オプションと同じです。ただし、組み合わされたネットワーク アドレスの位置が WSH ネットワーク アドレスからコピーされることを示すために、ポート番号が同じ長さの文字 M
で置き換えられます。たとえば、アドレス テンプレートが 0x0002MMMMdddddddd で WSH ネットワーク アドレスが 0x00021111ffffffff のときは、既知のネットワーク アドレスは 0x00021111dddddddd です。アドレス テンプレートが "//" で始まる場合、ネットワーク アドレス タイプは IP 対応であり、WSH ネットワーク アドレスの TCP/IP ポート番号はアドレス テンプレートにコピーされて、組み合わされたネットワーク アドレスが生成されます。この機能は、ワークステーション クライアントがネットワーク アドレス変換を実行するルータを通じて WSH に接続するときに役立ちます。
注意 : | Tuxedo IPv6 アドレッシングでは、-H オプションはサポートされません。 |
-N
network-timeout
]
-U
inbound-message-size-limit-in-bytes
]
-a
]
-v
{detect|warn|none}
]
detect
を指定すると、Oracle Tuxedo は、接続確立に使用するオブジェクト参照で指定されたホストが、ピア サーバのデジタル証明書で指定されたドメイン名と一致するかどうかを確認します。比較に失敗した場合、Oracle Tuxedo はピアの認証を拒否し、接続をドロップします。detect
は、デフォルト値です。
warn
を指定すると、Oracle Tuxedo は、接続確立に使用するオブジェクト参照で指定されたホストが、ピア サーバのデジタル証明書で指定されたドメイン名と一致するかどうかを確認します。比較に失敗した場合、Oracle Tuxedo はユーザ ログにメッセージを書き込みますが、接続は継続して処理されます。
none
を指定すると、Oracle Tuxedo はピアの検証を行わずに接続を継続して処理します。
-v
パラメータは、SSL または LLE (リンクレベル暗号化) のライセンスがインストールされている場合にのみ使用できます。
-R renegotiation-interval
]
注意 : | -R パラメータが指定されているときに、-S パラメータが指定されていない、または 0 に設定されている場合は、ユーザ ログに警告メッセージが送信されます。 |
-S secure-port
]
-S
および -n
オプションで指定するポート番号に同じ値を設定します。この値は 0 ~ 32767 でなければなりません。デフォルト値は 0 です。
注意 : | -R パラメータが指定されているときに、-S パラメータが指定されていない、または 0 に設定されている場合は、ユーザ ログに警告メッセージが送信されます。 |
MAXWSCLIENTS
の値がゼロの場合など、WSL がワークステーション クライアントをサポートするのを妨げるコンフィグレーションでは、起動時に WSL が異常終了します。
WSL
は、サポートされているすべてのサーバ プラットフォームで Oracle Tuxedo システム提供のサーバとしてサポートされます。
WSL
は相互運用するアプリケーションで実行できますが、Oracle Tuxedo リリース 4.2 以降のノードで実行する必要があります。
*SERVERS
WSL SRVGRP=GROUP1 SRVID=1
WSL SRVGRP="WSLGRP" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-A -- -n 0x0002ffffaaaaaaaa -d /dev/tcp"
WSL SRVGRP="WSLGRP" SRVID=1001 RESTART=Y GRACE=0
CLOPT="-A -- -n 0x0002aaaaffffffff -d /dev/tcp -H 0x0002MMMMdddddddd"
WSL SRVGRP="WSLGRP" SRVID=1002 RESTART=Y GRACE=0
CLOPT="-A -- -n //hostname:aaaa -d /dev/tcp -H //external_hostname:MMMM"
CLOPT="-A -r -- -n //hostname:port -m1 -M10 -x20 -U 2048"
# サイズ制限を 2048 バイトに設定
buildwsh(1)、servopts(5)
、UBBCONFIG(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』