|
このセクションでは、各種のテーブルとファイルの形式ついて説明します。
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 パラメータで指定されるディレクトリに、DMmmddyy.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 セクションのエントリの形式は次のとおりです。
RemoteAccessPointrequired_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_NAMErequired_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_NAMErequired_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 の形式が “0xhex-digits” または “¥¥xhex-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”
GWADMSRVGRP= "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*SERVERSISL 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]}]
[-e stderr_file][-h][-l locktype][-n prio]
[-o stdout_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:abcTM_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:pathpath は、マシンの環境ファイルの最初の PATH= 行の値です。これ以降の PATH= 行はすべて無視されます。この PATH の値は、サーバの検索パスとして使用され、単純なパス名または相対パス名で指定されます。したがって、先頭はスラッシュではありません。
LD_LIBRARY_PATH は環境内で次のように設定されます。APPDIR:TUXDIR/lib:/lib:/usr/lib:liblib は、マシンの環境ファイルの最初の LD_LIBRARY_PATH= 行の値です。これ以降の LD_LIBRARY_PATH= 行はすべて無視されます。
ENVFILE ファイルの変数を読み取ってエクスポートします。変数がマシンとサーバの両方の ENVFILE ファイルに設定されている場合は、サーバの ENVFILE ファイルの値によってマシンの ENVFILE ファイルの値がオーバーライドされます。ただし、PATH はオーバーライドではなく追加されます。クライアントはマシンの ENVFILE ファイルのみを処理します。マシンとサーバの ENVFILE ファイルの処理では、ident= の形式でない行は無視されます。ident に含めることができるのはアンダースコアまたは英数字のみです。
PATH= 行が見つかると、PATH が次のように設定されます。
APPDIR:TUXDIR/bin:/bin:/usr/bin:pathpath は、マシンの環境ファイルの最初の PATH= 行の値です。これ以降の PATH= 行はすべて無視されます。マシンとサーバの両方の環境ファイルに PATH が存在する場合、path は path1:path2 となります。path1 はマシンの ENVFILE から読み取ったパス、path2 はサーバの ENVFILE から読み取ったパスです。LD_LIBRARY_PATH= 行が見つかると、LD_LIBRARY_PATH が次のように設定されます。
APPDIR:TUXDIR/lib:/lib:/usr/lib:liblib は、マシンの環境ファイルの最初の 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:pathpath は、マシンの環境ファイルの最初の PATH= 行の値です。これ以降の PATH= 行はすべて無視されます。この PATH の値は、サーバの検索パスとして使用され、単純なパス名または相対パス名で指定されます。したがって、先頭はスラッシュではありません。LD_LIBRARY_PATH は環境内で次のように設定されます。APPDIR:TUXDIR/lib:/lib:/usr/lib:liblib は、マシンの環境ファイルの最初の LD_LIBRARY_PATH= 行の値です。これ以降の LD_LIBRARY_PATH= 行はすべて無視されます。
tpsvrinit() を呼び出す前) には、サーバがマシンとサーバの両方の ENVFILE ファイルの変数を読み取ってエクスポートします。変数がマシンとサーバの両方の ENVFILE ファイルに設定されている場合は、サーバの ENVFILE ファイルの値によってマシンの ENVFILE ファイルの値がオーバーライドされます。ただし、PATH はオーバーライドではなく追加されます。クライアントはマシンの ENVFILE ファイルのみを処理します。マシンとサーバの ENVFILE ファイルの処理では、ident= の形式でない行は無視されます。ident はアンダースコアまたは英字で始まり、アンダースコアまたは英数字のみを含めることができます。PATH= 行が見つかると、PATH が次のように設定されます。
APPDIR:TUXDIR/bin:/bin:/usr/bin:pathpath は、マシンの環境ファイルの最初の PATH= 行の値です。これ以降の PATH= 行はすべて無視されます。マシンとサーバの両方の環境ファイルに PATH が存在する場合、path は path1:path2 となります。path1 はマシンの ENVFILE から読み取ったパス、path2 はサーバの ENVFILE から読み取ったパスです。LD_LIBRARY_PATH= 行が見つかると、LD_LIBRARY_PATH が次のように設定されます。
APPDIR:TUXDIR/lib:/lib:/usr/lib:liblib は、マシンの環境ファイルの最初の 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 の形式が “0xhex-digits” または “¥¥xhex-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 の形式が “0xhex-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 の形式が “0xhex-digits” の場合、文字数が偶数の有効な 16 進数値を含める必要があります。このような形式の文字列は、指定された文字列の 16 進数表現を含む文字配列に内部変換されます。
TA_FADDR: string[0..256] (Oracle Tuxedo 8.0 以前は最大で 78 バイト)
tmboot、tmloadcf、BRIDGE などのローカル プロセスが、アウトバウンド接続を確立する前にバインドできる完全なネットワーク アドレスを指定します。このアドレスには、TCP/IP アドレスを指定する必要があります。この属性および TA_FRANGE 属性は、TCP/IP ポート (プロセスがアウトバウンド接続を行う前にバインドするときのバインド先) の範囲を指定します。この属性が NULL または空文字列に設定されている場合、オペレーティング システムはバインド先のローカル ポートをランダムに選択します。
string の形式が “0xhex-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]:grouplower と 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