|
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つのACLグループには1人のユーザーを関連付けることができます。複数のロールを引き受けたり複数のグループに関連付けられるユーザーの場合、複数のユーザー・エントリを定義する必要があります。
T_ACLPERMクラスは、Oracle Tuxedoシステムのエンティティに対するアクセスが許可されるグループを示します。これらのエンティティは文字列を介して名前が付けられます。現在、これらの名前は、サービス名、イベント名およびアプリケーション・キュー名を表します。
TA_ACLNAME: string
TA_ACLTYPE: ENQ | DEQ | SERVICE | POSTEVENT
TA_ACLGROUPIDS: string
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つのACLグループには1人のユーザーまたは1つのドメインを関連付けることができます。複数のロールを引き受けたり複数のグループに関連付けられるユーザーの場合、複数のプリンシパル・エントリを定義する必要があります。
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"にユーザーを追加出するものです。
/* Allocate input and output buffers */
ibuf = tpalloc("FML32", NULL, 1000);
obuf = tpalloc("FML32", NULL, 1000);
/* Set MIB(5) attributes defining request type *
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_ACLPRINCIPAL", 0);
/* Set ACL_MIB(5) attributes */
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);
/* Make the request */
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);
}
/* Additional error case processing */
}
${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 ATMIアプリケーションのプログラミング』
『FMLを使用した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が参照するのは、アプリケーション定義の永続的(信頼性の高いディスク・ベース)キューおよび一時的メッセージ(メモリー内)キュー(つまり、/Qキュー)であり、サーバー・キュー(TM_MIB(5)コンポーネントのT_QUEUEクラス)ではありません。
各クラスの説明セクションには、次の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つのアプリケーション・キュー・スペースを明示的に指定するには、適切なキー・フィールドを用意する必要があります。これらの必須キー・フィールドはTA_APPQSPACENAME、TA_QMCONFIGおよびTA_LMIDです。ただし、アプリケーションが構成されていない場合(つまり、TUXCONFIG環境変数が設定されていない場合)は、TA_LMIDを省略する必要があります。たとえば、TA_APPQSPACENAME、TA_QMCONFIGおよびTA_LMID属性が、tpcall()を使用するリクエストに設定されると、指定されたキュー・スペース内のすべての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..127]
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属性に指定されているコマンドの自動的な実行を制御する最高水位標および最低水位標を指定します。これらはそれぞれゼロ以上の整数で、次のいずれかのキー文字が後ろに付きます。これらのキー文字は、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を省略する必要があります。たとえば、TA_APPQSPACENAME、TA_QMCONFIGおよびTA_LMID属性が、tpcall()を使用するリクエストに設定されると、指定されたキュー・スペース内のすべてのキューのすべてのT_APPQMSGオブジェクトが取得されます。
aT_APPQMSGクラスのすべての属性はローカル属性です。
bアプリケーションが構成されていない(TUXCONFIG環境変数が設定されていない)場合を除き、TA_LMIDはキー・フィールドとして指定する必要があります。
c T_APPQMSGオブジェクトのすべての操作(GETとSETの両方)は、関連付けられているキュー・スペースを自動的に開きます。つまり、キュー・スペースの状態がOPEnまたはACTiveになっていない場合、暗黙的にOPEnに設定します。キュー・スペースが大きいと、この操作は時間がかかります。
d1つのアプリケーション・キュー・スペースを明示的に指定するには、GET操作で適切なキー・フィールドを指定する必要があります。
TA_APPQMSGID: string[1..32]
TA_APPQNAME: string[1..127]
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..127]
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属性のコンポーネントです。
すべてのキー・フィールドを未設定にすると、このクラスのインスタンスをすべて検索できません。かわりに、3つのキー・フィールドすべてを指定して単一のアプリケーション・キュー・スペースを明示的に指定する必要があります。唯一の例外は、アプリケーションが構成されていない状況(TUXCONFIG環境変数が設定されていない状況)でtpadmcall()を介してローカル・キュー・スペースにアクセスする場合です。この場合、TA_LMIDキー・フィールドを省略する必要があります。
キュー・スペースのアクセス可能性に関する前述の制限は、T_APPQ、T_APPQMSGおよびT_APPQTRANSオブジェクトにも当てはまります。これは、/Q MIB内のすべてのオブジェクトに対する操作にキュー・スペースが暗黙的に関わるためです。
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:
キュー・スペースに対する共有メモリーおよびその他のIPCリソースが割り当てられ、初期化されています。共有メモリーには現在少なくとも1つのプロセスがアタッチされています。これらのプロセスは、キュー・スペースに関連付けられたキュー・サーバー(
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 <= 36
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..127]
TA_FORCEINIT: {Y | N}
TA_HWACTIONS: 0 <= num
CLEaningに設定されると、この値は0にリセットされます。
TA_HWCURSORS: 0 <= num
CLEaningに設定されると、この値は0にリセットされます。
TA_HWHANDLES: 0 <= num
TA_HWMEMFILTERS: 0 <= num
CLEaningに設定されると、この値は0にリセットされます。
TA_HWMEMNONPERSIST: 0 <= num
TA_HWMEMOVERFLOW: 0 <= num
CLEaningに設定されると、この値は0にリセットされます。
TA_HWMSG: 0 <= num
TA_HWOWNERS: 0 <= num
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システム・デバイスを作成し、次の操作ではキュー・スペース自体を作成します。
/* Allocate the buffer; see above */
/* Build the request to create a new device on 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);
/* Make the request; see above */
/* Reinitialize the same buffer for reuse */
Finit32(rqbuf, (FLDLEN) Fsizeof32(rqbuf));
/* Build the request to create the queue space */
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);
/* Make the request; see above */
以下のコードでは、上の例で作成したキュー・スペースに新しいキューを作成します。
/* Build the request */
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);
/* Make the request; see above */
アプリケーションが認識しているアプリケーション・キュー・スペースを表示するには、2段階の検索を行います。まず、/Qトランザクション・マネージャTMS_QMを使用するグループがアプリケーション環境設定から検索され、次に各グループが参照しているキュー・スペースが検索されます。以下のコードは、キュー・スペースを使用する各GROUPエントリに1つの論理マシンが関連付けられていると仮定します(つまり、サーバー移行は未使用)。
/* Build the request to retrieve all TMS_QM groups */
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);
/* Make the request, assuming we are joined to the application */
rval = tpcall(".TMIB", rqbuf, 0, rpbuf, rplen, flags);
/* For each TMS_QM group, build the request to retrieve its queue space */
rval = Fget32(*rpbuf, TA_OCCURS, 0, (char *)occurs, NULL);
for (i = 0; i occurs; i++) {
/* Reinitialize the buffer and set all common attributes */
Finit32(rqbuf, (FLDLEN) Fsizeof32(rqbuf));
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "T_APPQSPACE", 0);
/* Get the OPENINFO to determine device and queue space name */
/* OPENINFO has the format <resource-mgr>:<qmconfig>:<appqspacename> */
/* or on Windows <resource-mgr>:<qmconfig>;<appqspacename> */
rval = Fget32(rpbuf, TA_OPENINFO, i, openinfo, NULL);
/* The device is the 2nd field in OPENINFO */
qmconfig = strchr(openinfo, ':') + 1;
/* The queue space name is the 3rd field in OPENINFO */
#if defined(_TMDOWN) || defined(_TM_NETWARE)
#define pathsep ";" /* separator for PATH */
#else
#define pathsep ":" /* separator for PATH */
#endif
appqspacename = strchr(qmconfig, pathsep);
appqspacename[0] = '\e0'; /* NULL-terminate qmconfig */
appqspacename++; /* bump past the NULL */
/* Set the APPQSPACENAME and QMCONFIG keys */
Fchg32(rqbuf, TA_APPQSPACENAME, 0, appqspacename, 0);
Fchg32(rqbuf, TA_QMCONFIG, 0, qmconfig, 0);
/* Get the LMID (assume no migration for this group) */
rval = Fget32(rpbuf, TA_LMID, i, lmid, NULL);
Fchg32(rqbuf, TA_LMID, 0, lmid, 0);
/* Make the request */
rval = tpcall(".TMIB", rqbuf, 0, rpbuf2, rplen2, flags);
}
上記のコードでは、キュー・スペースが作成されていても、アプリケーションの構成に対応するGROUPエントリがないと、キュー・スペースは検索されません。このようなキュー・スペースは、キュー・スペースのキー・フィールド(TA_APPQSPACENAME、TA_QMCONFIG、およびTA_LMID)の優先順位が分かっていなければ検索できません。
次のコードは、論理マシンSITE1上のデバイス/dev/q/dsk001のキュー・スペースQSPACE1のキューSTRINGのすべてのメッセージを取得します。
/* Build the request */ 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);
/* Make the request; see above */
以下のコードでは、キュー・スペースQSPACE1の中の任意のキューを使用するトランザクションをすべて検索します。
/* Build the request */ 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);
/* Make the request; see above */
${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)
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
『FMLを使用した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つのインスタンスが実行されている必要があります。構成で指定された別のアクティブ・マシンでは、追加のコピーを実行できます。
ユーザー・ファイルでは、(与えられた名前と)一致するユーザー名とクライアント名が検索されます。ユーザー名は、ユーザー・ファイルのエントリと正確に一致している必要があります。クライアント名は正確に一致している必要がありますが、代替手段としてユーザー・ファイルのクライアント名の値をあらゆるクライアント名に該当するワイルドカード(*)として指定する方法も利用できます。ユーザー・ファイルのエントリは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プラットフォームでサポートされます。
# Using 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
#
#
# Using ACLs
*RESOURCES
SECURITY ACL
AUTHSVC ..AUTHSVC
*SERVERS
AUTHSVR SRVGRP="AUTH" SRVID=100 RESTART=Y GRACE=0 MAXGEN=2
#
#
# Using a custom authentication service
*RESOURCES
SECURITY USER_AUTH
AUTHSVC KERBEROS
*SERVERS
KERBEROSSVR SRVGRP="AUTH1" SRVID=100 RESTART=Y GRACE=0 MAXGEN=2
tpaddusr(1)、tpusradd(1)、UBBCONFIG(5)
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
Accesslog(5) - Tuxedoクライアントの有効性のモニター
Accesslog(5)は、クライアントのログイン/ログオフ・アクションをタイムスタンプと場所情報とともに記録するのに役立ちます。それはアクセス・ログを作成し、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)
/*Not Printed by BBL*/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
ALOGRTNSIZE=numeric_value アクセス・ログのファイル・サイズを指定します。設定されるファイル・サイズよりもファイル・サイズが大きい場合は、追加のアクセス・ログ・ファイルが作成されます。デフォルトのファイル・サイズは2GBです。
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 ATMIアプリケーションのプログラミング』、『COBOLを使用したOracle Tuxedoアプリケーションのプログラミング』、および『Oracle Tuxedoアプリケーションの設定』を参照してください。 |
共有ライブラリを使用してシステムが構築された場合、クライアントを実行する前に、共有ライブラリの位置を定義する環境変数を設定する必要があります。
| 注意: | サーバー用のオプションの詳細は、servopts(5)リファレンス・ページを参照してください。 |
FML関数を呼び出すCプログラムには、以下のヘッダー・ファイルをここに示す順序でインクルードします。
#include <UNIX_header_files> (if needed by the application)
#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)
『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システムで動作するアプリケーションです。
リモート・サービスは、ローカル・ドメインがリモート・ドメイン・アクセス・ポイントとローカル・ドメイン・アクセス・ポイントを介して使用できるリモート・ドメインのサービスです。
ローカル・サービスは、リモート・ドメインがローカル・ドメイン・アクセス・ポイントを介して使用できるローカル・ドメインのサービスです。
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 Tuxedo Mainframe Adaptersのドキュメントを参照してください。
パラメータは通常、KEYWORD = valueという形式で指定します。等号(=)の前後には空白またはタブ文字を使用できます。この形式により、KEYWORDがvalueに設定されます。有効なキーワードについては、以下の各セクションで説明します。
予約語のDEFAULTで始まる行にはパラメータ指定が含まれており、セクション内の以降の該当するすべての行に対して適用されます。デフォルトの指定はすべてのセクションで使用することができます。1つのセクションで複数回使用することもできます。これらの行の形式は次のとおりです。
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パラメータの値がデフォルトとして使用されます。ブロッキング・タイムアウト状態は、関連するサービス・リクエストが失敗したことを示します。 | 注意: | この機能を有効にするには、値をYに設定して環境変数GWT_NW_TIMEOUTをエクスポートする必要があります。 |
BLOCKTIMEを過ぎると、ドメイン間トランザクションでブロッキング・タイムアウト状態が生じます。つまり、ドメイン間トランザクションでは、BLOCKTIME値がTUXCONFIGファイルのSERVICESセクションで指定されたTRANTIMEタイムアウト値(a)未満の場合、またはトランザクションを開始するためのtpbegin()呼出しで渡されたタイムアウト値(b)未満の場合、トランザクションのタイムアウトは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に設定されている場合にのみ有効です。それ以外の接続ポリシーの場合、自動再試行は無効になります。
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内の表)を保持する必要があります。
DMTLOGDEV文字列(DMTLOGDEV="DB:Oracle_XA: Oracle_XA+Acc=P/Scott/*****+SesTm=30+LogDit=/tmp")を使用して、Oracleデータベースに接続する必要があります。Oracle_XAはOracle XAインタフェースの公開名です。DMTLOGDEV文字列内の5つの連続するアスタリスク(*)は、暗号化されたパスワードを示します。
DMTLOGNAME = string[1..18]
TLOGの名前を指定します。(DMTLOGDEVに指定されているとおりに)複数のローカル・ドメイン・アクセス・ポイントに対して同じOracle Tuxedoファイル・システムを使用する場合、この名前は一意である必要があります。このパラメータを指定しない場合、デフォルトは文字列DMTLOGです。この名前は18文字以内である必要があります。
DMTLOGNAMEを空にする必要があります。TLOGが同じデータベースの同じスキーマに格納される場合、DMTLOGNAMEはログごとに一意にする必要があります。他のプログラムでDMTLOGNAMEという表名を使用していないことを確認する必要があります。
DYNAMIC_RAP=value
DYNAMIC_RAPの有効値はYESとNOの2つです。 YESの値は、動的リモート・アクセス・ポイントが許可されることを示します。この機能が有効で、すべてのリモート・アクセス・ポイントが動的登録をリクエストできる場合、/Domain構成で構成する必要はありません。| 注意: | この機能を有効にするとシステムの安全性が低下することに注意してください。現在、動的登録リクエストを開始できるのはOracle Tuxedo JCAアダプタだけです。詳細は、Oracle Tuxedo JCA Adapterのドキュメントを参照してください。 |
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 Tuxedo Mainframe Adaptersのドキュメントを参照してください。
このセクション(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の場合は、このリモート・ドメイン・アクセス・ポイントに対するローカル・サービス・リクエストから資格証明(アイデンティティ)がローカル・ドメインによって削除されます。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=GLOBALは、このリモート・ドメイン・アクセス・ポイントからのリクエストに関連付けられる優先度がローカル・ドメインによって調整されることを意味します。このリモート・ドメイン・アクセス・ポイントからの着信リクエストの優先度が、INPRIORITY値に対して相対的に調整されます。この値は-99 (最低)以上、99 (最高)以下で、デフォルトが0です。INPRIORITYが設定されると、着信リクエストに関連付けられている優先度がINPRIORITY値に加えられ、着信リクエストの絶対的な優先度設定になります。INPRIORITYが設定されない場合、または0に設定された場合、着信リクエストに関連付けられている優先度がそのままローカル・ドメインによって使用されます。リモート・ドメイン・アクセス・ポイントへのリクエストの場合、リクエストに関連付けられている優先度も一緒にリモート・ドメイン・アクセス・ポイントに送信されます。
REQUEST_VERSION = { numeric | * } ( 0 <= num <= 65535 )
VERSION_POLICY = string_value { PROPAGATE }
以下のDM_REMOTEセクション・パラメータは補完的に示したもので、TDOMAINドメイン・ゲートウェイには適用されません。
CODEPAGE = string - SNAXおよびOSITPXドメイン・ゲートウェイに適用可能です。
SNAXおよびOSITPXパラメータの詳細は、Oracle Tuxedo Mainframe Adaptersのドキュメントを参照してください。
このセクション(DM_LOCAL_SERVICESセクションともいう)では、各ローカル・ドメイン・アクセス・ポイントによってエクスポートされるサービスに関する情報を指定します。
個々のローカル・ドメインごとに、このセクションが存在しない場合、または存在してもローカル・ドメインからエクスポートされるローカル・サービスがない場合、ローカル・ドメイン・アクセス・ポイントは、ローカルOracle Tuxedoアプリケーションによって公開されるすべてのサービスに対するリモート・リクエストを受け付けます。このセクションを定義することにより、リモート・ドメインからリクエストできるローカル・サービスのセットが制限されます。
ローカル・サービスは、1つ以上のリモート・ドメインがローカル・ドメイン・アクセス・ポイントを介して使用できるサービスです。
DM_EXPORTセクションのエントリの形式は次のとおりです。
service[optional_parameters]
serviceは、特定のローカル・サービスの識別子の名前(127文字以内)です。この名前は、ローカルの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..127]
service識別子)を使用してこのサービスをリクエストします。
以下のDM_EXPORTセクション・パラメータは補完的に示したもので、TDOMAINドメイン・ゲートウェイには適用されません。
SNAX、OSITPおよびOSITPXパラメータの詳細は、Oracle Tuxedo Mainframe Adaptersのドキュメントを参照してください。
このセクション(DM_REMOTE_SERVICESセクションともいう)では、DM_REMOTEセクションで定義されたリモート・ドメイン・アクセス・ポイントを介してローカル・ドメインにインポートおよび提供されるサービスに関する情報を指定します。DM_IMPORTセクションが存在しない場合、または存在しても空の場合、リモート・サービスはローカル・ドメインで使用できません。
リモート・サービスは、ローカル・ドメインがリモート・ドメイン・アクセス・ポイントとローカル・ドメイン・アクセス・ポイントを介して使用できるサービスです。
DM_IMPORTセクションのエントリの形式は次のとおりです。
service[optional_parameters]
serviceは、特定のリモート・サービスに対してローカルOracle Tuxedoによって公開される識別子の名前(127文字以内)です。リモート・サービスは、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識別子)が公開されます。
BLOCKTIME numeric_value
numeric_valueには0 - 32,767の値を指定します。指定しない場合、デフォルト値は0です。その場合は、UBBCONFIG RESOURCESセクションで指定されたシステム全体のBLOCKTIME値がサービスで使用されます。
CONV = {Y | N}
LOAD = numeric
RNAME = string[1..127]
service識別子)を使用してこのサービスをリクエストします。
ROUTING = identifier
identifierは、DM_ROUTINGセクションで定義されたROUTING_CRITERIA_NAMEです。identifierの値は127文字以下でなければなりません。同じサービス名の複数のエントリが異なるリモート・ドメイン・アクセス・ポイントに含まれている場合(RACCESSPOINTパラメータで指定)、ROUTINGパラメータの値はこれらのエントリすべてに対して同じにする必要があります。
VERSION_RANGE = string_value (0 <= num <= 65535)
string_valueは、1-3のように、2つの数値の間にハイフン(-)を指定します。VERSION_RANGEが指定されない場合、デフォルト値は0-65535です。
| 注意: | ユーザーがVERSION_RANGEをDM_REMOTEで構成すると、ローカル・ドメインは構成したVERSION_RANGEを使用してこのリモート・サービスを公開します。それ以外の場合、ローカル・ドメインにインポートされたリモート・サービスのVERSION_RANGEは、アプリケーション・レベルと、ドメイン・ゲートウェイ・サーバー(GWTDOMAIN)が所属するサービス・グループの構成によって引き続き決定されます。したがって、ユーザーがVERSION_RANGEをDM_REMOTEで指定しない場合には、インポートされたリモート・サービスに対する*GROUPSと*RESOURCESのVERSION_RANGE構成の影響に注意してください。 |
以下の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 Tuxedo Mainframe Adaptersのドキュメントを参照してください。
この省略可能なセクションでは、グローバル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は127文字以下でなければなりません。
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以下でなければなりません。XMLベースDRを有効にするには、FIELDを"XPATH"にする必要があります。
FIELDパラメータは次の構文で定義される必要があります。 FIELD=“root_element[/child_element][/child_element][/. . .][/@attribute_name]”
FIELDの値には、ルーティングの要素または要素の属性名を指定します。root_elementの値には、XMLドキュメントまたはデータ・グラムの要素のタイプ(または名前)あるいは要素の属性名を指定できます。この情報は、ドキュメントまたはデータ・グラム送信時に、データ依存型ルーティングで要素の内容または属性を識別するために使用されます。要素名と属性名を組み合せて、最大30文字まで指定できます。索引はサポートされないので、Oracle Tuxedoシステムは、データ依存型ルーティングでXMLバッファを処理する際に、与えられた要素タイプの最初のオカレンスだけを認識します。 XMLは、属性名に使用できる文字セットを厳密に定義しています。属性名は、単一の文字、アンダースコア、またはコロンを含む文字列で、その後に1つ以上の名前文字が続きます。要素名と属性名はいずれも、大文字/小文字が区別されます。 XMLの詳細は、World Wide Web ConsortiumのWebサイトhttp://www.w3c.org/XMLを参照してください。
FIELDTYPE = type
FIELDパラメータに指定されたルーティング・フィールドのタイプを指定します。このパラメータは、XMLバッファをルーティングする場合にのみ使用されます。値typeは、CHAR、SHORT、LONG、FLOAT、DOUBLE、XPATH、STRINGのいずれかに設定できます。ルーティング・フィールドのデフォルトのタイプはSTRINGです。XMLベースDDRを有効にするには、FIELDTYPEをXPATHにする必要があります。
RANGES = "string[1..4096]"
stringは二重引用符で囲みます。stringの形式は、ペアをカンマで区切って順序付けたリストです。各ペアは1つの範囲と最大10個のリモート・ドメイン・アクセス・ポイント(セミコロン区切り)で構成され、コロン(:)で区切られます。たとえば、xpath式、または"lower - upper" (lowerとupperは共に符号付き数値または一重引用符で囲んだ文字列)の形式で表します。xpath式は一重引用符で囲んでください。また、XML Path Language (XPath)バージョン1.0 (http://www.w3.org/TR/xpath/)に準拠する必要があります。また、lowerには、upper以下の値を設定する必要があることに注意してください。 文字列値に一重引用符を埋め込むには(例: O'Brien)、一重引用符の前に円マーク(¥)を2つ入れます(例: O\\'Brien)。 関連するFIELDのデータ型の最小値を示すために、値MINを使用できます。STRINGとCARRAYの場合はNULL文字列、文字フィールドの場合は0です。数値の場合はフィールドに格納できる最小値です。 関連するFIELDのデータ型の最大値を示すために、値MAXを使用できます。STRINGとCARRAYの場合は、8進数値の255文字の無制限文字列です。文字フィールドの場合は、単一の8進数値の255文字を指定です。数値の場合は、数値としてフィールドに格納できる最大値です。したがって、MIN - -5は-5以下のすべての数値を指し、6 - MAXは、6以上のすべての数値を指すことになります。範囲(range)内のメタキャラクタ* (ワイルドカード)は、すでにエントリとして指定した範囲では使用されなかった任意の値を示します。1つのエントリで1つのワイルドカード範囲のみを指定でき、最後に指定する必要があります(その後の範囲は無視されます)。 数値のルーティング・フィールドには数値による範囲値、文字列のルーティング・フィールドには文字列による範囲値を指定します。文字列で範囲を設定する場合は、文字列、carray、および文字フィールド型の値を一重引用符で囲みます。先頭に符号を付けることはできません。short型とlong型の整数値は数字の文字列であり、正負の符号を数字の前に付けることができます。Cコンパイラまたはatof(3)で使用できる浮動小数点数は、まず任意の符号、次に数字列(小数点が入ってもよい)、任意のeまたはE、任意の符号またはスペース、最後に整数という形式を取ります。 フィールド値が範囲と一致するときに、関連するリモート・ドメイン・アクセス・ポイントには、リクエストがルーティングされるリモート・ドメインを指定します。リモート・ドメイン・アクセス・ポイントの値を"*"にすると、ゲートウェイ・グループに基づいて認識可能な任意のリモート・ドメインをリクエストの宛先にすることができます。 データ依存型ルーティングは、複数のリモート・ドメインへのリクエストのルーティングをサポートするように拡張されています。各値範囲には、最大10個のリモート・ドメインを構成できます。候補であるリモート・ドメイン・リストからターゲット・リモート・ドメイン(RDOM)を選択する際のポリシーは、次のようにまとめられます。
BDMCONFIG)が生成されません。 BDMCONFIG)が生成されません。 "1000-5000:RDOM1,RDOM2,RDOM3": 無効なデリミタ
"1000-5000:RDOM1;RDOM2;RDOM3;RDOM4;RDOM5;RDOM6;RDOM7;RDOM8,RDOM9;RDOM10;RDOM11": リモート・ドメインの上限を超えている
"1000-5000:RDOM1; RDOM2;RDOM3": 空白/スペース/タブを使用できない
"1000-5000:RDOM1;RDOM2;RDOM3;": 末尾のデリミタを使用できない
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)の名前を指定し、1つ以上のリモート・ドメイン・アクセス・ポイントを指定された各ACL名に関連付けます。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ホスト・アドレスに解決されます。IPv4の場合、#.#.#.#はドットで区切った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}
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パラメータは、Oracle Tuxedo 8.1以降のソフトウェアを実行しているときに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に設定されている場合に有効です。それ以外の接続ポリシーの場合、自動再試行は無効になります。
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ゲートウェイは、リクエスト・メッセージを送信してから一定時間内に肯定応答を受信しなかった場合、接続が切断されたと見なして、その接続に関連するすべてのリソースを解放します。 TCPレベル・キープ・アライブを使用すると、Oracle Tuxedoのドメイン間接続を非アクティブな期間にわたって開くことができるだけでなく、TDomainゲートウェイが接続の障害を迅速に検出できるようになります。 | 注意: | TCPKEEPALIVEとDMKEEPALIVEは、相互に排他的ではありません。つまり、両方のパラメータを使用してドメイン間接続を構成できます。 |
DMKEEPALIVE = numeric
DMKEEPALIVEパラメータは、Oracle Tuxedo 8.1以降のソフトウェアが実行されているTDOMAINタイプのドメイン・ゲートウェイにのみ適用されます。リモート・ドメイン・アクセス・ポイントに対するこの値は、ローカル・ドメイン・アクセス・ポイントに対する値に優先します。ローカル・ドメイン・アクセス・ポイント値をオーバーライドできるので、リモート・ドメイン単位でアプリケーション・レベル・キープ・アライブを構成できます。 値が-1の場合、リモート・ドメイン・アクセス・ポイントは、ローカル・ドメイン・アクセス・ポイントについて定義されたアプリケーション・レベル・キープ・アライブ値を受け入れます。-1は、リモート・ドメイン・アクセス・ポイントのデフォルトのアプリケーション・レベル・キープ・アライブ値です。 値が0の場合、このアクセス・ポイントのアプリケーション・レベル・キープ・アライブは無効です。0は、ローカル・ドメイン・アクセス・ポイントのデフォルトのアプリケーション・レベル・キープ・アライブ値です。 1以上2147483647以下の値(単位はミリ秒で、Domainsソフトウェアによって最も近い秒数に切り上げられる)を指定すると、このアクセス・ポイントに対するアプリケーション・レベル・キープ・アライブが有効になります。指定した時間は、TDomainゲートウェイが接続でトラフィックを受信せずに待機する最長時間です。この最長時間を超えると、ゲートウェイはアプリケーション・レベル・キープ・アライブ・リクエスト・メッセージを送信します。接続がまだ開いており、リモートTDomainゲートウェイが正常に動作している場合、リモート・ゲートウェイは肯定応答を返信します。ローカルTDomainゲートウェイは、リクエスト・メッセージを送信してから指定の時間内(DMKEEPALIVEWAITパラメータを参照)に肯定応答を受信しなかった場合、接続が切断されたと見なして、その接続に関連するすべてのリソースを解放します。 アプリケーション・レベル・キープ・アライブを使用すると、Oracle Tuxedoのドメイン間接続を非アクティブな期間にわたって開くことができるだけでなく、TDomainゲートウェイが接続の障害を迅速に検出できるようになります。 | 注意: | 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ソフトウェアによって読み取られ、それ以外のインスタンスはすべて無視されます。 |
このセクションは、リモート・ドメイン・アクセス・ポイントに送信できる、ローカル・ドメインのイベントの情報を提供します。DM_EVT_OUTセクションのエントリの形式は次のとおりです。
event_name [optional_parameters] event_nameは、特定のローカル・イベントの識別子の名前です。
LACCESSPOINT = identifier
TDOMAINであることが必要です。指定されないと、現在のイベントのLACCESSPOINTがデフォルトで"*"として設定されます。これは、DM_LOCALセクションに指定されたすべてのローカル・ドメイン・アクセス・ポイントを意味します。
RACCESSPOINT = identifier1[,identifier2][,identifier3][,identifier4]…[identifier10]
TDOMAINであることが必要です。このイベントのリモート・ドメイン・アクセス・ポイントを指定し、かつ、このイベントのローカル・ドメイン・アクセス・ポイントを(LACCESSPOINTパラメータで)指定した場合、指定したローカル・ドメイン・アクセス・ポイントだけが、指定したリモート・ドメイン・アクセス・ポイントを介してこのローカル・イベントをポストできます。指定されないと、現在のイベントのRACCESSPOINTがデフォルトで"*"として設定されます。これは、DM_REMOTEセクションに指定されたすべてのリモート・ドメイン・アクセス・ポイントを意味します。
| 注意: | event_name、LACCESSPOINTおよびRACCESSPOINTの組合せは一意であることが必要です。通常、RACCESSPOINTに複数のリモート・ドメイン(たとえば、RACCESSPOINT = identifier1, identifier2 …)が含まれる場合、event_name、LACCESSPOINTおよびすべてのidentifierXの組合せがDM_EVT_OUTセクション全体で一意になる必要があります。 |
PRIO = number
EVT_TRAN = {Y|N}
Y"が指定されると、イベント通知はポスト側のトランザクション(存在する場合)に含めれられます。ポスト元がトランザクション以外の場合、このイベントを通知するためにトランザクションが開始されます。逆に、"N"が指定されると、ポストされたすべてのイベントは、ポスト側が参加しているトランザクションに関しては実行されません。指定されない場合、EVT_TRANはデフォルトで"N"に設定されます。
EVT_EXPR = "string"[1..255]
stringは、正規表現を含みNULLで終わる文字列です。指定されない場合、EVT_EXPRはデフォルトでevent_nameに設定されます。
tpsubscribe()のeventexprに似ています。システム・イベント(たとえばSysEvent)をリモート・ドメインに送信するには、EVT_EXPRをEVT_EXPR="\.SysEvent"として構成する必要があります。
EVT_FILTER = "string"[1..255]
REVTNAME = "string"[1..30]
stringの最大文字数は30です。このフィールドが指定された場合、ピア・ドメインのDM_EVT_INセクションのREVTNAMEと一致する必要があります。一致しない場合、それらのフィールドにはevent_nameが設定されます。
このセクションは、リモート・ドメイン・アクセス・ポイントから受信できる、リモート・イベントの情報を提供します。DM_EVT_INセクションのエントリの形式は次のとおりです。
event_name [optional_parameters] event_nameは、特定のリモート・イベントの識別子の名前(最大30文字)です。ローカル・ドメイン・サブスクライバは、このevent_name識別子ではなく、リモート・ドメインにポストされる実際のイベント名をサブスクライブする必要があります(ローカル・イベントのサブスクライブと同様)。
LACCESSPOINT = identifier
| 注意: | REVTNAMEとLACCESSPOINTの組合せはDM_EVT_INセクション内で一意であることが必要です。 |
ACL = identifier
ACL)の名前を指定します。ローカル・ドメイン・アクセス・ポイントは、このリストを使用してローカル・ドメインからこのリモート・イベントへのリクエストを制限します。ACLの名前は、DM_ACCESS_CONTROLセクションで定義します。
EVT_EXPR = "string"[1..255]
stringは、正規表現を含みNULLで終わる文字列です。指定されない場合、EVT_EXPRはデフォルトでevent_nameに設定されます。
EVT_FILTER = "string"[1..255]
REVTNAME = "string"[1..30]
stringの最大文字数は30です。このフィールドが指定された場合、ピア・ドメインのDM_EVT_OUTセクションのREVTNAMEと一致する必要があります。一致しない場合、それらのフィールドにはevent_nameが設定されます。
BDMCONFIG環境変数は、BDMCONFIG構成ファイルを検索するために使用します。
以下は、5つのサイトのDomains構成を定義する構成ファイルの例です。この例は、Central Bank Branchと通信する4つの銀行支店ドメインを示しています。3つの銀行支店は、他のOracle Tuxedoドメイン内で動作しています。4つ目の支店は、別のTPドメインの制御下で動作しています。そのドメインとCentral Bankとの通信にはOSI TPが使用されています。この例は、Central Bankから見たDomains構成ファイルを示しています。
# Oracle Tuxedo Domains Configuration File for the Central Bank
#
#
*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
#
# local network addresses
c01 NWADDR = "//newyork.acme.com:65432" NWDEVICE ="/dev/tcp"
# remote network addresses
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構成ファイルを示しています。
#
#Oracle Tuxedo Domains Configuration file for a Bank Branch
#
#
*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
次の例は、SDPでリスニングするGWTDOMAINの構成方法を示しています。
*DM_LOCAL
#
SCLCU03
GWGRP=DOMGRP
TYPE=TDOMAIN
*DM_TDOMAIN
#
SCLCU03 NWADDR="sdp://IB_IP: 27610"
Example 4
This example shows how to configure GWTDOMAIN to connect using SDP.
*DM_LOCAL
#
SCLCU03
GWGRP=DOMGRP
TYPE=TDOMAIN
#
*DM_REMOTE
#
SCLCU05 TYPE=TDOMAIN
DOMAINID="EXALOGIC_SCLCU05"
#
*DM_TDOMAIN
SCLCU05 NWADDR="sdp://IB_IP: 27610"
次の例は、IPoIBでリスニングするGWTDOMAINの構成方法を示しています。
*DM_LOCAL
#
SCLCU03
GWGRP=DOMGRP
TYPE=TDOMAIN
#
*DM_TDOMAIN
#
SCLCU03 NWADDR="//IB_IP: 27610"
次の例は、IPoIBを使用して接続するGWTDOMAINの構成方法を示しています。
*DM_LOCAL
#
SCLCU03
GWGRP=DOMGRP
TYPE=TDOMAIN
#
*DM_REMOTE
#
SCLCU05 TYPE=TDOMAIN
DOMAINID="EXALOGIC_SCLCU05"
#
*DM_TDOMAIN
#
SCLCU05 NWADDR="//IB_IP: 27610"
次の例は、TCP/IPに基づくイーサネットでリスニングするGWTDOMAINの構成方法を示しています。
*DM_LOCAL
#
SCLCU03
GWGRP=DOMGRP
TYPE=TDOMAIN
#
*DM_TDOMAIN
#
SCLCU03 NWADDR="//ETH_IP: 27610"
次の例は、TCP/IPを使用して接続するGWTDOMAINの構成方法を示しています。
*DM_LOCAL
#
SCLCU03
GWGRP=DOMGRP
TYPE=TDOMAIN
#
*DM_REMOTE
#
SCLCU05 TYPE=TDOMAIN
DOMAINID="EXALOGIC_SCLCU05"
#
*DM_TDOMAIN
#
SCLCU05 NWADDR="//ETH_IP: 27610"
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は、ポート番号2334が16進数に変換された値です。その後、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 Domainsコンポーネント』
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
#include <fml32.h>
#include <tpadm.h> /* MIB Header, includes 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)に関する追加情報」を参照してください。
属性表はクラス内の属性のリファレンス・ガイドであり、管理者、オペレータ、一般ユーザーがそれらの属性を使用してアプリケーションと対話するための方法を説明しています。
属性表の各属性の説明には、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 (r) (k) (*)
|
||||
TA_STATE(r)
|
||||
TA_DMACLNAME: string [1..15]
TA_DMRACCESSPOINTLIST: string [0..1550]
TA_DMRACCESSPOINTLISTは、リモート・ドメイン・アクセス・ポイント名(有効なT_DM_REMOTEオブジェクトのTA_DMRACCESSPOINT属性の値)のカンマ区切りのリストです。リストには、リモート・ドメイン・アクセス・ポイントの識別子要素を50個まで格納できます。この属性を"*"に設定すると、構成のすべてのリモート・ドメインがこのエントリと関連付けられます。""は、リモート・ドメイン・アクセス・ポイントがこのエントリと関連付けられないことを意味します。デフォルトは""です。
TA_STATE:
T_DM_CONNECTIONクラスは、ドメイン・アクセス・ポイント間の接続のステータスを表します。
TA_DMLACCESSPOINT(k)(*)
|
||||
TA_STATE(k)(*)
|
||||
注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_EVT_INクラスは、リモート・ドメインから受信できるイベントを表します。
TA_DMEVTNAME(r)(k)(*)
|
||||
TA_DMLACCESSPOINT(k)(*)
|
||||
TA_STATE(r)
|
||||
| 注意: | すべてのFIELDS定義は"udataobj/tpadm"内で定義されています。 |
TA_DMEVTNAME: string[1..30]
TA_DMLACCESSPOINT: string[1..30]
TA_STATE:
TA_DMACLNAME: string[1..15]
ACL)の名前を指定します。ローカル・ドメイン・アクセス・ポイントは、このリストを使用してローカル・ドメインからこのリモート・イベントへのリクエストを制限します。ACLの名前は、DM_ACCESS_CONTROLセクションで定義します。
TA_DMEVTEXPR: string[1..255]
TA_DMEVTFILTER: string[1..255]
TA_DMREVTNAME: string[1..30]
T_DM_EVT_OUTクラスは、リモート・ドメインに送信できるイベントを表します。
TA_DMEVTNAME(r)(k)(*)
|
||||
TA_DMLACCESSPOINT(k)(*)
|
||||
TA_DMRACCESSPOINTLIST(k)(*)
|
||||
TA_STATE(r)
|
||||
| 注意: | すべてのFIELDS定義は"udataobj/tpadm"内で定義されています。 |
TA_DMEVTNAME: string[1..30]
TA_DMLACCESSPOINT: string[1..30]
TA_DMLACCESSPOINTのデフォルト値は"*"です。これは、DM_LOCALセクションに指定されたすべてのローカル・ドメイン・アクセス・ポイントを意味します。
TA_DMRACCESSPOINTLIST: string[1..92]
TA_DMRACCESSPOINTLISTのデフォルト値は"*"です。これは、DM_REMOTEセクションに指定されたすべてのリモート・ドメイン・アクセス・ポイントを意味します。
TA_STATE:
TA_DMPRIO: 0 < num <= 100
TA_DMEVTTRAN: “{Y|N}”
Y"が指定されると、イベント通知はポスト側のトランザクション(存在する場合)に含めれられます。ポスト元がトランザクション以外の場合、このイベントを通知するためにトランザクションが開始されます。逆に、"N"が指定されると、ポストされたすべてのイベントは、ポスト側が参加しているトランザクションに関しては実行されません。指定されない場合、TA_DMEVTTRANはデフォルトで"N"に設定されます。
TA_DMEVTEXPR: string[1..255]
TA_DMEVTFILTER: string[1..255]
TA_DMREVTNAME: string[1..30]
T_DM_EXPORTクラスは、ローカル・アクセス・ポイントを通じて1つ以上のリモート・ドメインにエクスポートされるローカル・リソースを表します。
TA_DMRESOURCENAME(r)(k)(*)
|
||||
TA_DMLACCESSPOINT(k)(*)
|
||||
TA_STATE(r)
|
||||
TA_DMRESOURCENAME: string[1..127]
SERVICE (サービス名)、QSPACE (キュー・スペース名)、およびQNAME (キュー名)のエントリのローカル・リソース名。SERVICEエントリの場合、この属性の値はアクティブなT_SVCGRPオブジェクトのTA_SERVICENAME属性の値に対応します。このリソースは、同じ名前あるいはTA_DMREMOTENAME属性またはTA_DMTE*属性で定義された別名を使用してリモート・ドメインにエクスポートされます。
TA_DMLACCESSPOINT: string[1..30]
TA_STATE:
SET操作は、選択したT_DM_EXPORTオブジェクトの構成情報を更新します。以下に示す状態は、SETリクエストで設定されるTA_STATEの意味を示します。これ以外の状態を設定することはできません。
TA_DMACLNAME: string [1..15]
TA_DMCONV: "{Y | N}"
TA_DMREMOTENAME: string[1..127]
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(r)(k)(*)
|
||||
TA_DMRACCESSPOINTLIST(k)(*)
|
||||
TA_DMLACCESSPOINT(k)(*)
|
||||
TA_STATE(r)
|
||||
TA_DMRESOURCENAME: string[1..127]
SERVICE (サービス名)、QSPACE (キュー・スペース名)、およびQNAME (キュー名)のエントリで使用するリモート・リソース名。このリソースは、同じ名前あるいはTA_DMREMOTENAME属性またはTA_DMTE*属性で定義された別名を使用してリモート・ドメインからインポートされます。
TA_DMRACCESSPOINTLIST: string[1..92]
TA_DMRACCESSPOINTLISTは、カンマ区切りのフェイルオーバー・ドメイン・リストで、最大30文字のリモート・ドメイン・アクセス・ポイントを10個まで格納できます。この属性を"*"に設定すると、すべてのリモート・ドメイン・アクセス・ポイントからリソースをインポートできます。
TA_DMLACCESSPOINT: string[1..30]
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..127]
TA_DMRESOURCENAMEで指定された名前がデフォルトで使用されます。
TA_DMROUTINGNAME: string[1..15]
TA_VERSION_RANGE: numeric1-numeric2 (0<= num <65535), "DEFAULT"
TA_VERSION_RANGEに有効なバージョン範囲が設定されると、インポートされるサービスのバージョン範囲はこのバージョン範囲に変更されます。"DEFAULT"に設定されると、TA_VERSION_RANGEを使用して、ユーザー構成のサービス・バージョン範囲がリセットされます。サービス・バージョン範囲は、システム・デフォルト値0-65535に変更されます。
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クラスは、ローカル・ドメイン・アクセス・ポイントを定義します。ローカル・ドメイン・アクセス・ポイントは、リモート・ドメインにエクスポートされるローカル・サービスへのアクセス制御、およびリモート・ドメインからインポートされるリモート・サービスへのアクセス制御に使用します。
TA_DMACCESSPOINT(r)(k)(*)
|
||||
TA_STATE(r)
|
||||
注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:
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..18]
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(r)(k)(*)
|
||||
TA_STATE(r)
|
||||
TA_DMAPT(r)
|
||||
TA_DMAEQ(r)
|
||||
TA_DMACCESSPOINT: string[1..30]
T_DM_LOCALまたはT_DM_REMOTEエントリで指定したドメイン・アクセス・ポイント名と一致します。
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(r)(k)(*)
|
||||
TA_STATE(r)
|
||||
TA_DMAET(r)
|
||||
TA_DMNWADDR(r)
|
||||
TA_DMACCESSPOINT: string[1..30]
T_DM_LOCALまたはT_DM_REMOTEエントリで指定したドメイン・アクセス・ポイント名と一致します。
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; ..." port_number構成要素が指定されていない場合は、デフォルト・ポートの102が使用されます。 ローカル・ドメイン・アクセス・ポイントの場合、この属性の値には接続リクエストをリスンするための待機用アドレスを8個までセミコロンで区切って指定できます。リモート・ドメイン・アクセス・ポイントの場合、この属性の値には目的のドメインの優先アドレスを指定し、その後に最大7個の代替アドレスを優先順位の高い順に指定します。代替アドレスは、最初のアドレスが使用できない場合に使用されます。
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 OLTPTA_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(r)(k)(*)
|
||||
TA_DMRACCESSPOINT(r)(k)(*)
|
||||
TA_DMLPWD(r)
|
||||
TA_DMRPWD(r)
|
||||
TA_STATE(r)
|
||||
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属性の意味を示します。次に示されていない状態は返されません。
ドメイン・ゲートウェイ管理サーバー(GWADM)の実行中は、パスワードを再暗号化(TA_STATEから"RECrypt"にSET)することはできません。
T_DM_PRINCIPAL_MAPクラスは、タイプSNAXのアクセス・ポイントを介してプリンシパル名を外部プリンシパル名との間でマッピングするための構成情報を表します。
TA_DMLACCESSPOINT(r)(k)(*)
|
||||
TA_DMRACCESSPOINT(r)(k)(*)
|
||||
TA_DMPRINNAME(r)(k)(*)
|
||||
TA_DMRPRINNAME(r)(k)(*)
|
||||
TA_STATE(r)
|
||||
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属性の意味を示します。次に示されていない状態は返されません。
Oracle Tuxedoリリース7.1以降では、T_DM_PRINCIPAL_MAPクラスはSNAXドメイン・ゲートウェイ・タイプにのみ適用されます。
T_DM_REMOTEクラスは、リモート・ドメイン・アクセス・ポイントの構成情報を表します。1つまたは複数のローカル・ドメイン・アクセス・ポイントを通してエクスポートされるローカル・リソースは、リモート・ドメイン・アクセス・ポイントを通してリモート・ドメインにアクセスできます。同様に、リモート・リソースはリモート・ドメイン・アクセス・ポイントを通してリモート・ドメインからインポートされます。
TA_DMACCESSPOINT(r)(k)(*)
|
||||
TA_DMTYPE(k)
|
||||
TA_STATE(r)
|
||||
TA_DMACCESSPOINT: string[1..30]
T_DM_REMOTEエントリの名前 - このDomains構成内のT_DM_LOCALおよび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:
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が設定されない場合、または0に設定された場合、着信リクエストに関連付けられている優先度がそのままローカル・ドメインによって使用されます。リモート・ドメイン・アクセス・ポイントへのリクエストの場合、リクエストに関連付けられている優先度も一緒にリモート・ドメイン・アクセス・ポイントに送信されます。
TA_REQUEST_VERSION: ‘*’, 0<=num<=65535, “DEFAULT”
*'は、リクエスト・バージョンがどのバージョンでもよいことを示します。 "DEFAULT"は、リクエスト・バージョン構成をデフォルト値にリセットするために使用されます。つまり、ドメイン・ゲートウェイは、指定されたリモート・ドメインからの受信リクエストのリクエスト・バージョンを変更しません。 変更はすぐに有効になります。
TA_VERSION_POLICY: { "PROPAGATE" | "DEFAULT" }
TA_VERSION_POLICYに"PROPAGATE"が設定されると、バージョン・ポリシーが伝播に変更されます。"DEFAULT"に設定されると、TA_VERSION_POLICYを使用して、ユーザー構成のバージョン・ポリシーがデフォルト値にリセットされます。
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の場合は、このリモート・ドメイン・アクセス・ポイントに対するローカル・サービス・リクエストから資格証明(アイデンティティ)がローカル・ドメインによって削除されます。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(r)
|
||||
TA_DMVERSION: string[1..30]
T_DM_ROUTINGクラスは、リモート・ドメイン・アクセス・ポイントを通してリクエストをドメインにルーティングするためのルーティング基準情報を表します。
TA_DMROUTINGNAME(r)(k)(*)
|
||||
TA_DMBUFTYPE(r)(k)(*)
|
||||
TA_DMFIELD(r)
|
||||
TA_DMRANGES(r)
|
||||
TA_STATE(r)
|
||||
TA_DMROUTINGNAME: string[1..15]
TA_DMBUFTYPE: string[1..256]
"type1[:subtype1[,subtype2 . . . ]][;type2[:subtype3[,subtype4 . . . ]] . . . ]" このルーティング・エントリが有効なデータ・バッファのタイプとサブタイプのリスト。最大で32のタイプとサブタイプの組合せを使用できます。タイプは、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にはルーティング要素のタイプ(または名前)か、ルーティング要素の属性名が含まれます。XPATHをXMLベースDDRで使用するには、TA_FIELDを"XPATH"にする必要があります。 XMLバッファ・タイプのTA_DMFIELD属性の構文は、"root_element[/child_element][/child_element] [/. . .][/@attribute_name]"です。要素は、XMLドキュメントまたはデータ・グラム要素のタイプとして処理されます。索引はサポートされません。したがって、Oracle Tuxedoシステムは、データ依存型ルーティングでXMLバッファを処理する際に、与えられた要素タイプの最初のオカレンスだけを認識します。この情報は、メッセージの送信時に、データ依存型ルーティングに関連する要素の内容を取得するために使用されます。内容はUTF-8でエンコードされた文字列である必要があります。 属性は、定義されている要素のXMLドキュメントまたはデータ・グラム属性として処理されます。この情報は、メッセージの送信時に、データ依存型ルーティングに関連する属性値を取得するために使用されます。値はUTF-8でエンコードされた文字列である必要があります。 要素名と属性名の組合せの長さは最大で30文字です。 ルーティング・フィールドの型は、TA_DMFIELDTYPE属性で指定できます。
TA_DMFIELDTYPE: "{CHAR | SHORT | LONG | FLOAT | DOUBLE | XPATH | STRING}"
TA_DMFIELD属性で指定したルーティング・フィールドの型。型にはCHAR、SHORT、LONG、FLOAT、DOUBLE、XPATH、または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以上のすべての数値を指すことになります。 範囲(range)内のメタキャラクタ"*" (ワイルドカード)は、すでにエントリとして指定した範囲では使用されなかった任意の値を示します。各エントリでは1つのワイルドカードによる範囲指定だけが可能です。*は最後に指定します。続けて範囲を指定すると無視されます。 数値のルーティング・フィールドには、数値による範囲値、文字列のルーティング・フィールドには文字列による範囲値を指定します。 文字列で範囲を設定する場合は、文字列、carray、および文字フィールド型の値を一重引用符で囲みます。先頭に符号を付けることはできません。short型とlong型の整数値は数字の文字列であり、正負の符号を数字の前に付けることができます。Cコンパイラまたはatof(3)で使用できる浮動小数点数は、まず任意の符号、次に数字列(小数点が入ってもよい)、任意のeまたはE、任意の符号またはスペース、最後に整数という形式を取ります。 raccesspointパラメータは、フィールドが範囲と一致する場合に、リクエストがルーティングされるリモート・ドメイン・アクセス・ポイントを指定します。raccesspointに"*"を指定すると、必要なサービスをインポートする任意のリモート・ドメイン・アクセス・ポイントにリクエストが送信されることを示します。
| 注意: | 詳細は、「DM_ROUTINGセクション」の「RANGES = “string[1..4096]”」を参照してください。 |
TA_STATE:
GET操作は、T_DM_ROUTINGオブジェクトの構成情報を検索します。以下に示す状態は、GETリクエストに応えて返されるTA_STATE属性の意味を示します。次に示されていない状態は返されません。
T_DM_ROUTINGクラスのインスタンスは、T_DM_IMPORTクラスのインスタンスによって参照されている場合は削除できません。
T_DM_RPRINCIPALクラスは、リモート・プリンシパル名のパスワード構成情報を表します。
TA_DMRACCESSPOINT(r)(k)(*)
|
||||
TA_DMRPRINNAME(r)(k)(*)
|
||||
TA_DMRPRINPASSWD(r)(*)
|
||||
TA_STATE(r)
|
||||
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(k)(r)(*)
|
||||
TA_DMLACCESSPOINT(k)(r)
|
||||
TA_STATE(r)
|
||||
TA_DMNWADDR(r)
|
||||
TA_DMSNACRM: string[1..30]
TA_DMLACCESSPOINT: string[1..30]
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(r)(k)(*)
|
||||
TA_DMSNASTACK(r)(k)
|
||||
TA_DMRACCESSPOINT(r)(k)
|
||||
TA_DMLSYSID(r)
|
||||
TA_DMRSYSID(r)
|
||||
TA_DMLUNAME(r)
|
||||
TA_DMMINWIN(r)
|
||||
TA_STATE(r)
|
||||
TA_DMSNALINK: string[1..30]
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(r)(k)(*)
|
||||
TA_DMSNACRM(r)(k)
|
||||
TA_DMLUNAME(r)
|
||||
TA_DMTPNAME(r)
|
||||
TA_STATE(r)
|
||||
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属性の意味を示します。次に示されていない状態は返されません。
ドメイン・ゲートウェイ管理(GWADM)サーバーがアクティブであるローカル・ドメイン・アクセス・ポイントを参照するT_DM_SNACRMオブジェクトをこのクラスのインスタンスが参照する場合、このクラスのインスタンスを削除または更新することはできません。
このクラスのインスタンスを追加または更新するSET操作の実行時には、TA_DMSNACRM属性で指定するSNA CRM名がT_DM_SNACRMクラス内に存在しなければなりません。SNA CRM名が存在しない場合、TA_DMSNACRM属性に対して"not defined"エラーが戻され、操作は失敗します。
T_DM_TDOMAINクラスは、ローカルまたはリモート・ドメイン・アクセス・ポイントに対するTDomain固有の構成を定義します。
TA_DMACCESSPOINT(r)(k)(*)
|
||||
TA_DMNWADDR(r)(k)(*)
|
||||
TA_STATE(r)
|
||||
TA_DMLACCESSPOINT(r)(k)(*)
|
||||
注1 Oracle Tuxedo 8.0以前のリリースの場合、この属性の文字列の長さは最大78バイトです。
注2リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。
注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エントリ間で一意でなければなりません。表32には、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ゲートウェイは、リクエスト・メッセージを送信してから一定時間内に肯定応答を受信しなかった場合、接続が切断されたと見なして、その接続に関連するすべてのリソースを解放します。 TCPレベル・キープ・アライブを使用すると、Oracle Tuxedoのドメイン間接続を非アクティブな期間にわたって開くことができるだけでなく、TDomainゲートウェイが接続の障害を迅速に検出できるようになります。 | 注意: | TA_DMTCPKEEPALIVEとTA_DMKEEPALIVEは、相互に排他的ではありません。つまり、両方のパラメータを使用してドメイン間接続を構成できます。 |
TA_DMKEEPALIVE = -1 <= num <= 2147483647
TA_DMKEEPALIVE属性は、Oracle Tuxedo 8.1以降のソフトウェアが実行されているTDOMAINタイプのドメイン・ゲートウェイにのみ適用されます。リモート・ドメイン・アクセス・ポイントに対するこの値は、ローカル・ドメイン・アクセス・ポイントに対する値に優先します。ローカル・ドメイン・アクセス・ポイント値をオーバーライドできるので、リモート・ドメイン単位でアプリケーション・レベル・キープ・アライブを構成できます。 値が-1の場合、リモート・ドメイン・アクセス・ポイントは、ローカル・ドメイン・アクセス・ポイントについて定義されたアプリケーション・レベル・キープ・アライブ値を受け入れます。-1は、リモート・ドメイン・アクセス・ポイントのデフォルトのアプリケーション・レベル・キープ・アライブ値です。 値が0の場合、このアクセス・ポイントのアプリケーション・レベル・キープ・アライブは無効です。0は、ローカル・ドメイン・アクセス・ポイントのデフォルトのアプリケーション・レベル・キープ・アライブ値です。 1以上2147483647以下の値(単位はミリ秒で、Domainsソフトウェアによって最も近い秒数に切り上げられる)を指定すると、このアクセス・ポイントに対するアプリケーション・レベル・キープ・アライブが有効になります。指定した時間は、TDomainゲートウェイが接続でトラフィックを受信せずに待機する最長時間です。この最長時間を超えると、ゲートウェイはアプリケーション・レベル・キープ・アライブ・リクエスト・メッセージを送信します。接続がまだ開いており、リモートTDomainゲートウェイが正常に動作している場合、リモート・ゲートウェイは肯定応答を返信します。ローカルTDomainゲートウェイは、リクエスト・メッセージを送信してから指定の時間内(TA_DMKEEPALIVEWAIT属性を参照)に肯定応答を受信しなかった場合、接続が切断されたとみなして、その接続に関連するすべてのリソースを解放します。 アプリケーション・レベル・キープ・アライブを使用すると、Oracle Tuxedoのドメイン間接続を非アクティブな期間にわたって開くことができるだけでなく、TDomainゲートウェイが接続の障害を迅速に検出できるようになります。 | 注意: | 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(k)(*)
|
||||
TA_STATE(r)(k)
|
||||
TA_DMLACCESSPOINT: string[1..30]
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: 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)
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
『FMLを使用した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
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:
TA_QSPACE: string[1..15]
TA_QNAME: string[1..127]
TA_QCTL_QTOP: short
TA_QCTL_BEFOREMSGID: short
tpenqueue()のTPQCTL制御構造体に渡されます(値が設定されている場合のみ)。これにより、/Qサブシステム経由で通知がリクエストされ、メッセージが指定されたメッセージの前のキューに登録されます。
TA_QCTL_QTIME_ABS: short
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..127]
TA_QCTL_FAILUREQUEUE: string[1..127]
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..127]
TA_EVENT_PERSIST: short
TA_EVENT_TRAN: short
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)は、TMFFNAMEサービスがマスターNameManageとして開始されるときにこのサービスによって構文解析されます。このファイルには、NameManagersが他のドメインとのファクトリ・オブジェクトのオブジェクト参照のインポートおよびエクスポートを制御する際に使用する情報が含まれます。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をインクルードしなければなりません。
The following list shows error codes that may be returned by FML and FML32 routines.
#define FMINVAL 0 /* bottom of error message codes */
#define FALIGNERR 1 /* fielded buffer not aligned */
#define FNOTFLD 2 /* buffer not fielded */
#define FNOSPACE 3 /* no space in fielded buffer */
#define FNOTPRES 4 /* field not present */
#define FBADFLD 5 /* unknown field number or type */
#define FTYPERR 6 /* illegal field type */
#define FEUNIX 7 /* unix system call error */
#define FBADNAME 8 /* unknown field name */
#define FMALLOC 9 /* malloc failed */
#define FSYNTAX 10 /* bad syntax in boolean expression */
#define FFTOPEN 11 /* cannot find or open field table */
#define FFTSYNTAX 12 /* syntax error in field table */
#define FEINVAL 13 /* invalid argument to function */
#define FBADTBL 14 /* destructive concurrent access to field table */
#define FBADVIEW 15 /* cannot find or get view */
#define FVFSYNTAX 16 /* bad viewfile */
#define FVFOPEN 17 /* cannot find or open viewfile */
#define FBADACM 18 /* ACM contains negative value */
#define FNOCNAME 19 /* cname not found */
ルーチンには、エラーの戻り値がないものもあります。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マッピング・ファイル
フィールド操作言語の関数は、フィールド化バッファの実装と管理を行います。フィールド化バッファの各フィールドには、識別用の整数のタグが付けられます。可変長フィールド(文字列など)には、長さを示す追加の修飾子が付きます。したがって、フィールド化バッファは、数値識別子/データの組合せ、または数値識別子/長さ/データの組合せから構成されることになります。
フィールドの数値識別子をそのフィールドのフィールド識別子といい、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
エントリは空白類(タブとスペースを任意に組み合せたもの)で区切ります。
すでに説明したとおり、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に変更した場合のフィールド表の例を以下に示します。
# employee ID fields are based at 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
# address fields are based at 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) /* number: 701 type: string */
#define EMPCITY ((FLDID)41662) /* number: 702 type: string */
#define EMPID ((FLDID)8694) /* number: 502 type: long */
#define EMPJOB ((FLDID)16887) /* number: 503 type: char */
#define EMPNAM ((FLDID)41461) /* number: 501 type: string */
#define EMPSTATE ((FLDID)41663) /* number: 703 type: string */
#define EMPZIP ((FLDID)8896) /* number: 704 type: long */
#define SRVCDAY ((FLDID)49656) /* number: 504 type: carray */
『FMLを使用した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プラットフォームでサポートされます。
# Using 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 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に設定できます。
| 注意: | ドメイン間のイベントにVIEW/VIEW32型のバッファ・データが関係している場合は、GWTDOMAINサーバー・プロセスを起動する前にVIEWDIR、VIEWDIR32、VIEWFILESおよびVIEWFILES32を追加します。 |
| 注意: | ドメイン間のイベントにFML/FML32型のバッファ・データが関係している場合は、GWTDOMAINサーバー・プロセスを起動する前にFLDTBLDIR、FLDTBLDIR32、FIELDTBLSおよびFIELDTBLS32を追加します。 |
CLOPTオプションは、GWTDOMAINの起動時に渡されるコマンドライン・オプションの文字列です。次のパラメータは、ゲートウェイ・プロセスの実行時パラメータとして認識されます。
s
U inbound-message-size-limit-in-bytes
-x
SCANUNITの単位がTUXCONFIGでミリ秒で、(SCANUNIT * SANITYSCAN)の値が5秒未満の場合、そのような値は5秒と測定されます。
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コンポーネント』
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]
#options for Outbound IIOP
[-O]
[-o outbound-max-connections]
[-s Server-timeout]
[-u out-mpx-users]
#options for 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クライアントがアプリケーションにアクセスできるようになります。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クライアントからの接続をサポートする予定がある場合は、0から32767の範囲のport_numberを使用する必要があります。プログラマがBootstrapオブジェクトのコンストラクタまたは TOBJADDRで指定するネットワーク・アドレスは、アプリケーションのUBBCONFIGファイルのネットワーク・アドレスと正確に一致する必要があります。アドレスの形式や、大文字/小文字も識別されます。これらのアドレスが一致しないと、Bootstrapコンストラクタの呼出しが失敗し、一見無関係と思われる以下のエラー・メッセージが表示されます: エラー: クライアントからの非公式の接続(アドレス<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はユーザー・ログにメッセージを書き込みますが、接続は継続して処理されます。 noneを指定すると、Oracle ORBはピアの検証を行わずに接続を継続して処理します。 -vパラメータは、SSLおよびLLE (リンク・レベル暗号化)のライセンスがインストールされている場合にのみ使用できます。
[-z [|0|40|56|128|256]]
[-Z [|0|40|56|128|256]]
| 注意: | 0ビットの最大暗号化レベルには-S SSL接続オプションとの互換性はありません。 |
UNIXおよびMicrosoft Windows NTオペレーティング・システムでは、IIOPサーバー・リスナーはOracle Tuxedoが提供するサーバーとしてサポートされます。
リモート・オブジェクトのタイプおよび目的のアウトバウンドIIOP構成によっては、追加のプログラミング作業が必要となる場合もあります。表41に、オブジェクトのタイプおよびアウトバウンド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 <principal name>のようにします。プリンシパル名とそのパスワードは、Kerberosデータベースおよびローカル・キー表で構成する必要があります。
| 注意: | プリンシパル名は、KAUTHSVRPRINCパラメータまたは同じ名前の環境変数を使用して構成することもできます。詳細は、 「Kerberos認証プラグインの使用」を参照してください。 |
Kerberosを使用するようにサーバーを設定する前に、サーバーを実行するホスト上でキー表を設定する必要があります。KAUTHSVRは起動時にサーバー・キー表(KTAB)にアクセスする必要があります。サーバー・キー表を指定するには2つの方法があります。
| 注意: | キー表を更新してもKerberosデータベースには影響を与えません。キー表内のキーを変更する場合は、Kerberosデータベースでも対応する変更を行う必要があります。 |
WindowsプラットフォームでKAUTHSVRを構成する場合、キー表は必要ありません。ただし、アカウント・パスワードが必要です。KAUTHSVRパスワードの設定方法は2つあります。
TUXCONFIGを作成する場合は、コマンド・プロンプトでパスワードを入力する必要があります。
| 注意: | SEC_PRINCIPAL_NAMEのkauthsvcという名前は例としてのみ使用しています。 |
『ATMIアプリケーションにおけるセキュリティの使用』の「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プラットフォームでサポートされます。
# Using 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> /* optional */
#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...127」でした。 |
TA_STATE:
TA_REPOSTUXSERVICE: string[1...127]
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 ATMIアプリケーションのプログラミング』の「型付きバッファの管理」を参照してください。 |
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]
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属性に入力します。
| 注意: | For SET操作の場合、各サービスの設定結果を示すためにTA_ERRORおよびTA_STATUSが各TA_REPOSEMBEDバッファに含まれます。 |
1. 未処理の複数のサービスに対するSET 操作 (追加または更新)
2. ユーザーがシングル・モードのかわりに標準モードを使用する場合
シングル・モードは、1つのサービスのみを指定するMETAREPOS入力バッファでのみ使用できます。シングル・モードは、次の条件下で適用できます。
TA_OPERATION SET
A_CLASS T_REPOSITORY
TA_STATE DEL
TA_REPOSSERVICE保管、転送
tmloadrepos(1)、tpgetrepos(3c)、tpsetrepos(3c)、MIB(5)、TMMETADATA(5)
#include <fml32.h>
#include <fml1632.h> /* Optional */
#include <tpadm.h>
#include<cmib.h>/* Component MIB Header */
Oracle Tuxedoシステム・アプリケーションは、個別コンポーネント(Oracle Tuxedoやワークステーションなど)で構成されており、各コンポーネントは、そのコンポーネント専用として定義された管理情報ベース(MIB)を使用して管理されます。これらのコンポーネントMIBは個別リファレンス・ページに定義されており、各ページはシステムの特定の部分向けのMIBに対応しています。たとえば、リファレンス・ページTM_MIB(5)には、Oracle Tuxedoアプリケーションの基本的な側面の管理に使用されるMIBが定義されています。
ただし、コンポーネントMIBには、必要なアクセスの提供に関連するインタフェースが十分に定義されていません。このリファレンス・ページMIB(5)では、管理者、オペレータ、またはユーザーが任意の定義済コンポーネントMIBと対話するための共通インタフェースについて説明します。各Oracle TuxedoシステムのMIBに対する共通インタフェースは、2つの主要部分で構成されています。
共通インタフェースの最初の部分には、コンポーネントMIBのサポートを担当する管理サービスにアクセスするために既存のOracle Tuxedoシステムのインタフェースを使用する方法が説明されています。FML32 (Oracle Tuxedoシステムのバッファ・タイプ)は、コンポーネントMIBに入力を渡したりコンポーネントMIBから出力を受け取るための媒体として使用されます。ATMIリクエスト/レスポンス関数はコンポーネントMIBに対するインタフェースとして使用され、システムが提供するサービスとして実装されます。FML32バッファのATMI関数を使用した管理ユーザーとコンポーネントMIB間の対話に関する詳細は、このリファレンス・ページの後半のFML32およびATMIセクションを参照してください。
共通インタフェースの2番目の部分には、すべてのMIBとの対話で使用される追加の入出力FML32フィールドが定義されています。追加のFML32フィールドにより、(操作コードの指定の許可などによって)リクエストの機能を強化したり、共通レスポンス属性(エラー・コードや説明テキストなど)を追加します。追加のFML32フィールドの詳細は、このリファレンス・ページの後半の入力および出力セクションを参照してください。
使用方法セクションには、既存のATMI関数および追加のFML32フィールドの使用方法の例が示されています。これらは、コンポーネントMIBを使用した管理作業などに使用できます。
ユーザーがコンポーネントMIBとインタフェースしてアプリケーションを管理する方法の定義以外にも、このリファレンス・ページには、コンポーネントMIBのリファレンス・ページでクラスの定義に使用される形式が定義されています(「クラスの説明」を参照)。
このリファレンス・ページには、T_CLASSおよびT_CLASSATTの2つの共通クラスが定義されています。これら2つのクラスを使用して、管理クラスを識別したり、クラス/属性許可を調整します。すべてのMIB(5)クラス定義に関する詳細は、「MIB(5)に関する追加情報」を参照してください。診断セクションには、コンポーネントMIBシステム・サービスから戻されるエラー・コードがリストされています。
ユーザーは、アプリケーションに参加しようとするときに認証されます(tpinit(3c)を参照)。tpinit()時に、管理者およびオペレータは、クライアント名tpsysadmまたはtpsysopを使用してアプリケーションに参加することを求めることができます。これら2つのcltname値は予約されており、アプリケーションの管理者およびオペレータにのみ関連付けることができます。
最初にアプリケーションを構成する管理者は、特定のセキュリティ・タイプを選択することにより、構成するセキュリティのレベルを決定します。使用可能なセキュリティ・タイプは、次のとおりです。
選択するセキュリティ・タイプにより、管理者およびオペレータによるAdminAPIを介したコンポーネントMIBへのアクセスを許可する際の柔軟性およびセキュリティを決定します。
最も安全かつ柔軟なセキュリティ・タイプは、アプリケーション・パスワード認証とアプリケーション固有の認証サーバーの組合せです(AUTHSVR(5)を参照)。この方法の場合、管理者は、ユーザーが認証サーバーに適切なパスワードを提供することを前提として、すべてのユーザーに対して、または特定のユーザーのみに対してアクセスを許可できます。システム管理者またはオペレータとしてMIBで実行するワークステーション・クライアントでは、このセキュリティ・タイプを使用する必要があります。
アプリケーション固有の認証サーバーがない場合、クライアントが管理者またはオペレータの権限を得るために、アプリケーションの認証要件(なし、またはアプリケーション・パスワード)を満たし、特別なクライアント名の1つをTPINIT構造体のcltnameフィールドに指定し、ローカルの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 ATMI 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
TA_FLAGS
MIBに定義されている特定のクラスからの検索を変更するために使用されます。このMIB内の多くのクラスでは、グローバル情報(アクティブ・アプリケーション内の任意のサイトで使用可能)とローカル情報(オブジェクトがアクティブである特定のサイトで使用可能)の両方が存在します。デフォルトでは、これらのクラスから情報を検索するリクエストでは効率化のため、グローバル情報のみが検索され、ローカル情報は検索されません。アプリケーション・ユーザーが(場合によっては複数のサイトから)ローカル情報が収集されるまで待機してもかまわない場合は、検索リクエストでこのフラグを設定します。ローカル情報があるクラスの場合、ローカル属性が属性表の最後にリストされており、これらがローカル属性であることを示すサブヘッダーが付いています。ローカル情報しかないクラスの場合は、このフラグ値が設定されていなくても、ローカル情報の検索に自動的にデフォルト設定されます。
SET操作が実行される前にプレイメージ・チェックに合格する必要があることを示します。プレイメージ・チェックでは、任意のMIB固有クラス属性のオカレンス0が既存のオブジェクトと一致することを確認します。一致したら、そのオブジェクトは任意のMIB固有クラス属性のオカレンス1を使用して更新されます。2回以上発生しない属性はプレイメージ・チェックの対象とはみなされません。複数回出現するフィールドは、その対応するカウント属性が2度指定されている場合には確認されます。
TA_CLIENTIDを追加し、サーバーの場合はTA_GRPNOおよびTA_SRVIDを追加します。
TA_FILTER
TA_MIBTIMEOUT
TA_CURSORHOLD
GET操作から生成されたシステム・スナップショットを、現在のGETまたはGETNEXTのリクエストが満たされた後に処分せずに保持しておく時間(秒数)を識別するlong値のFML32フィールド。0以下の値を指定した場合、現在のリクエストが満たされた後でスナップショットを処分する必要があります。指定しないと、この値はデフォルトの120に設定されます。
次表において、Rは必須INPUT属性、OはオプションのINPUT属性、-は使用されないINPUT属性を示します。
正常終了した管理リクエストからの出力は、1つ以上のMIB固有オブジェクトと共通出力フィールドの1オカレンスで構成されています。通常、複数のMIB固有オブジェクトは、戻された各クラス属性の複数のオカレンスによって出力バッファに反映されます。各属性のオカレンス0は最初のオブジェクトに関連し、オカレンス1は2番目のオブジェクトに関連するという風に順次関連します。この指針の例外はコンポーネントMIBのリファレンス・ページに記載されています。特定の属性に対する値がない中間オカレンスの場合、FML32定義のNULLフィールド値がプレースホルダーとして挿入されることがあります。SET操作が正常終了すると、操作実行後のオブジェクトを反映する単一オブジェクトが戻されます。GETまたはGETNEXT操作が正常終了すると、リクエストされたオカレンス数(下記のTA_OCCURSを参照)やMIB固有システム・サービス内の指定されたキー・フィールドおよびスペース制限と一致したオカレンス数に応じて、0またはそれ以上のオカレンスが戻されます。
重要なのは、オブジェクトの状態、相互運用的なリリース環境、入力リクエスト・フィルタによっては、任意のクラスに対して定義されたすべての属性がどのリクエストについても戻されるわけではないということです。管理プログラマは、出力バッファ内にある特定の属性が暗黙的に存在するものと思うのではなく、属性値の存在を明示的に確認する必要があります。
繰り返しますが、正常に処理された管理リクエストに対する応答には、すべてのMIBに適用される特定の共通フィールドが含まれます。これらのフィールドはヘッダー・ファイル<tpadm.h>に定義されています。対応するフィールド表ファイルは、${TUXDIR}/udataobj/tpadmにあります。共通応答フィールドは応答バッファに追加され、コンポーネントMIB固有フィールドで戻されます。以下に各応答フィールドについて説明します。
TA_CLASS
TA_OCCURS
TA_MORE
SET操作では、このフィールドは戻されません。
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に固有のFML32フィールドにアクセスするためには、そのコンポーネントMIB固有のヘッダー・ファイルをインクルードする必要があります。
#include <fml32.h>
#include <tpadm.h>
#include<cmib.h>/* Component MIB Header */
コンポーネントMIBと対話するには、FML32型付きバッファが該当するサービスにリクエストを送信することが必要です。ATMI関数tpalloc()は、(<fml32.h>に定義されている) FMLTYPE32を使用してバッファをtype引数の値として割り当てます。FML32バッファのサブタイプは存在しないので、tpalloc()のsubtype引数はNULLになる場合があります。FML32バッファのデフォルトの最小サイズは1024バイトです。tpalloc()のsize引数に0を指定すると、最小サイズのバッファが割り当てられます。これより大きなバッファが必要な場合は、システム最小値より大きな値をsizeに指定することで割り当てることができます。
rqbuf = tpalloc(FMLTYPE32, NULL, 0);
FML32型付きバッファが割り当てられたら、ユーザーは共通MIBフィールド値と処理対象のコンポーネントMIB固有の値を移入する必要があります。リクエスト・バッファに値を追加するときに使用する最も一般的なインタフェースは、Fadd32()およびFchg32()です。リクエスト・バッファがいっぱいでフィールドを追加できない場合は、ATMI関数tprealloc()を使用してバッファを再割当てする必要があります。
/*
* Does not include error processing,bigger_sizeprovided
* by the user, not by the system. Fchg32 used to insure that
* field occurrence 0 is set if we are reusing a buffer.
*/
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です。
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操作から生成されたシステム・スナップショットを、現在のGETまたはGETNEXTのリクエストが満たされた後に処分せずに保持しておく時間(秒数)を指定します。0以下の値を指定した場合、現在のリクエストが満たされた後でスナップショットを処分する必要があります。指定しないと、この値はデフォルトの120に設定されます。
/* GET 1st 5 objects */
Fchg32(rqbuf, TA_OPERATION, 0, "GET", 0);
Fchg32(rqbuf, TA_CLASS, 0, "classname", 0);
n = 5;
Fchg32(rqbuf, TA_OCCURS, 0, n, 0);
/* Make request, see Sending MIB Requests below */
/* Reply is stored in rpbuf and contains cursor */
/*
* GETNEXT 5 objects. Transfer TA_CURSOR from rpbuf.
* Reuse rqbuf generated above. Dispose of snapshot after
* request, that is, set TA_CURSORHOLD to 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);
/* Make request, see Sending MIB Requests below */
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 1st matching occurrence */
/* Make request, see Sending MIB Requests below, reply in rpbuf */
/* Use rpbuf as pre-image and update TA_MIBFIELD value
* if matching
*/
Fcpy32(newrq, rpbuf);
Fconcat32(newrq, rpbuf); /* Add 2nd identical copy */
Fchg32(newrq, TA_OPERATION, 0, "SET", 0);
n = MIB_PREIMAGE;
Fchg32(newrq, TA_FLAGS, 0, n, 0);
Fchg32(newrq, TA_MIBFIELD, 1, "newval", 0); /* Post-image */
/* Make request, see Sending MIB Requests below */
すべてのコンポーネントMIBリクエストは、コアOracle TuxedoコンポーネントMIBサービス".TMIB"を通ります。このサービスは、TM_MIB(5)リクエストを処理するエージェントとして作動するだけでなく、他のコンポーネントMIBをターゲットとするリクエストを転送して、ユーザーがサービス名とMIBやクラスとの照合を気にしなくてもすむようにします。サービス・リクエストは、ATMIのリクエスト/レスポンス指向のサービス関数(tpcall()、tpacall()およびtpenqueue())を使用して生成できます。ユーザーは、これらのインタフェース関数に定義されているすべてのフラグや機能を利用できます。制約は、".TMIB"サービスをトランザクション・スコープの外部から呼び出す必要があることだけです。つまり、tpcall()またはtpacall()を使用してトランザクション内の管理リクエストを転送するときは、TPNOTRANフラグを使用する必要があります。そうしないと、エラー(TPETRAN)が発生します。tpenqueue()を使用してリクエストを転送するときは、転送されるサービス・リクエストがトランザクション境界の外側で作成されるように、TMQFORWARDサーバーを起動する際に-nオプションを使用する必要があります。
/* Build request as shown above */
/* Send request and wait for reply */
flags = TPNOTRAN | TPNOCHANGE | TPSIGRSTRT;
rval = tpcall(".TMIB", rqbuf, 0, rpbuf, rplen, flags);
/* Send request and get descriptor back */
flags = TPNOTRAN | TPSIGRSTRT;
cd = tpacall(".TMIB", rqbuf, 0, flags);
/* Enqueue request, assumes qctl already setup */
flags = TPSIGRSTRT;
rval = tpenqueue("queue", ".TMIB", qctl, rqbuf, 0, flags);
コンポーネントMIBからの応答は、元のリクエストがどのように生成されたかによって、3通りの方法で受信できます。元のリクエストがtpcall()を使用して生成された場合、tpcall()は応答が受信されたという戻り値を戻します。元のリクエストがtpacall()を使用して生成された場合、tpgetrply()を使用して応答を受信できます。元のリクエストがtpenqueue()を使用して生成され、かつキュー制御構造体で応答キューが指定された場合、tpdequeue()を使用して応答を受信できます。これらの様々な呼出し上でサポートされているフラグは適宜使用できます。
/* Build request as shown above */
/* Send request and wait for reply */
flags = TPNOTRAN | TPNOCHANGE | TPSIGRSTRT;
rval = tpcall(".TMIB", rqbuf, 0, rpbuf, rplen, flags);
/* Receive reply using call descriptor */
flags = TPNOCHANGE | TPSIGRSTRT;
rval = tpgetrply(cd, rpbuf, rplen, flags);
/* Receive reply using TPGETANY, may need to change buffer type */
flags = TPGETANY | TPSIGRSTRT;
rval = tpgetrply(rd, rpbuf, rplen, flags);
/* Dequeue reply, assumes qctl already setup */
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バッファ・タイプを限定的にしかサポートしていないので、ATMIのCOBOLバージョンでは管理APIにアクセスできません。
任意のコンポーネントMIBに対するリクエストはアプリケーション・トランザクションの一部にはなりえません。したがって、コンポーネントMIBに向けられ、アクティブ・トランザクション内で実行されるtpcall()またはtpacall()に対する呼出しでは、呼出し時にTPNOTRANフラグを設定する必要があります。ただし、トランザクション内でATMI関数tpenqueue()を使用して、コンポーネントMIBへの今後の配信に備えてリクエストをキューに登録できます。このリクエストのキューへの登録はトランザクション内で起こりますが、コンポーネントMIB内の処理は起こりません。このコンテキストでTMQFORWARD(5)サーバーを使用するには、リクエストが非トランザクション・モードでMIBサービスに転送できるように、-nコマンドライン・オプションを指定してTMQFORWARDを起動する必要があります。コンポーネントMIBサービスは非トランザクションの性質をもっているので、リクエストを再試行するのではなくサービス失敗がすぐに失敗キューに配信されるように、TMQFORWARDに対して-dオプションを指定することもお薦めします。
共通MIBフィールドとコンポーネントMIBのフィールド識別子は6,000から8,000の範囲(両端含む)で割り当てられます。したがって、管理アクションとユーザー・アクションを混合する予定のアプリケーションは、必ずフィールド識別子を適切に割り当てる必要があります。
各クラスの説明セクションには、次の4つのサブセクションがあります。
前述のように、各クラスは4つの部分に分けて定義されています。その1つが属性表です。属性表はクラス内の属性のリファレンス・ガイドであり、管理者、オペレータ、一般ユーザーがそれらの属性を使用してアプリケーションと対話するための方法を説明しています。属性表の各属性の説明には、5つの構成要素(名前、型、許可、値、デフォルト)があります。各要素については、以下を参照してください。
SETキー・フィールド。1つまたは複数のSETキーが定義されたクラス(上記の*)に対するSET操作は、SETキーとして定義された1つ以上の属性値の値を含む必要があります。十分なSETキーを指定して、クラス内の1つのオブジェクトを正確に特定する必要があります。SETキーは、常にオブジェクト検索のキー・フィールドになり、(k)が暗黙に指定されます。ただし、SETキーは、NEWオブジェクトの作成時に常に必須フィールドになるわけではありません。必須の場合には(r)がマークされます。
long、charおよびstringです。プログラムでは、FML32関数Fldtype32()を使用してデータ型を判別できます。これは、データ型(FLD_LONG、FLD_CHARおよびFLD_STRING)を表すFML32 defineを返します(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:
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)
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
『FMLを使用した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][-a FILENAME[[$FIELD]...]
[-s{@filename|service[,service...][:func]}]
[-estderr_file][-h][-llocktype][-nprio]
[-ostdout_file][-P][-p [L][low_water][,[terminate_time]]
[:[high_water][,create_time]][-r][-t][ --uargs][-v]
servoptsはコマンドではありません。Oracle Tuxedoシステム内のサーバーによって認識される実行時オプションのリストです。
これらのオプションを使用するのはOracle Tuxedoシステム提供のサーバー、またはbuildserver(1)コマンドによって作成されたアプリケーション提供のサーバーです。
Oracle Tuxedoシステムでサーバーを実行するには、アプリケーションの構成ファイルで指定したサーバー(およびその他のリソース)で機能するtmboot(1)およびtmadmin(1)コマンドを使用します。servoptsリストで選択したオプションは、構成ファイルのサーバーに対して指定されます。認識されるオプションは以下のとおりです。
-A
-a FILENAME[[$FIELD]...]
FILENAMEで指定したファイルに残高情報を出力します。このオプションは、TSAM Plusエージェントがインストール済でTSAM Plusプラグインが有効化されている場合にのみ使用されます。詳細は、Oracle TSAM Plusリファレンス・ガイドのTSAM Plusの会計処理およびチャージバックに関する項を参照してください。
-s { @filename | service[,service...][:func] }
xサービスは関数xによって実行されます。たとえば、次のように指定したとします。
-s x,y,z は関連付けられたサーバーを実行し、最初にサービスx、yおよびzを提供します。それぞれは同名の関数によって処理されます。その他のケースでは、異なる名前の関数でサービスが実行されることもあります。-s x,y,z:abcと指定すると、関連付けられたサーバーが実行され、初期サービスx、yおよびzのそれぞれは関数abcによって処理されます。 カンマとカンマの間に空白を入れてはいけません。関数名の前にはコロンを付けます。サービス名および暗黙の関数名は127文字以下でなければなりません。明示的関数名(コロンの後に指定する名前)は、128文字まで使用できます。この文字数より長い名前が指定された場合は、警告メッセージが表示されて短縮されます。tmadmin(1)またはTM_MIB(5)によりファイルを取得した場合は、名前の最初の15文字だけが表示されます ファイル名は、-sオプションを使用し、先頭に@記号を付けて指定できます。このファイルの各行は、-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など)。 |
| 注意: | The "-P"オプションは、CORBAアプリケーション サーバーでも使用できます。 |
-p [L][low_water][,[terminate_time]][:[high_water][,create_time]]
L]引数がRPCサーバーで使用される場合、各リクエストのロード・ファクタも考慮されます。 -pオプションがL引数で指定され、指定された時間(秒)内に負荷がしきい値(high_water引数の指定)と同じかしきい値を超えると、システムによって追加のサーバーが自動生成されます。ただし、high_waterの値が1の場合、別のサーバーの自動生成を担当する1つのサーバーは、メッセージを処理している限り自動生成を行いません。 1つのリクエストしかキューで待機していない場合、この問題は継続します。サーバーがそのリクエストを処理するのは、現在のリクエストを終了してからです。新しいサーバーを起動する必要はありません。 ただし、別のリクエストが着信し始め、キューで待機するようになると、やがて新しいサーバーが起動されます。やはり、新しいサーバーが起動されるのは、現在実行中のサーバーが現在のリクエストの処理を終了して、次のリクエストのチェックを開始したときです。 サーバーは、処理する新しいメッセージを取得するためにキューに戻るたび、新しいサーバーの必要性を制御する条件をチェックします。条件が一致すると、サーバーは新しいサーバーを1つだけ自動生成します。 | 注意: | UNIX プラットフォームのみ - alarm()システム呼出しは、サーバー・プール管理下で実行しているサーバーではうまく機能しません。アイドル状態のサーバーを終了するコードではalarm()呼出しを使用するため、Usignal()への呼出しがエラーでない場合でも、ユーザーが独自のシグナル・ハンドラを確立するために作成したコードは失敗します。 |
-pオプションの引数は、以下のように使用しているサーバーの種類によって意味が異なります。
SHM/LDBAL=Yが設定されていない場合、ユーザー・ログ・メッセージ(LIBTUX_CAT:1542)が出力され、生成および廃棄は発生しません。
create_timeの秒数の間、負荷がhigh_waterを超えると、新しいサーバーが生成されます。少なくともterminate_timeの秒数の間、負荷がlow_waterを下回ると、サーバーが非アクティブ化されます。low_waterのデフォルト値は、MSSQの各サーバーで平均1メッセージになる値(つまりワークロード50)です。high_waterのデフォルト値は、各サーバーで平均2メッセージになる値(つまりワークロード100)です。create_timeのデフォルト値は50、terminate_timeのデフォルト値は60です。
| 注意: | Oracle Tuxedo 8.0以降では、マルチスレッドまたは非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変数を使用すると、デバッグ・メッセージがstderrに送信されません。ファイル内のデバッグ・メッセージをtxrptが間違って解釈してしまいます。
-t
GWTDOMAIN)プロセス、システム・プロセス、またはアプリケーション・サーバー・プロセスを使用できます。ワークステーション・リスナー・プロセスの場合は、-tオプションを使用して起動すると、すべてのワークステーション・ハンドラ(WSH)プロセスで相互運用が可能になります。
-L { D | default | oci_lib_name }
--
--の前に、アプリケーションの引数をその後に指定します。アプリケーションの引数は、ユーザーが定義した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)
UNIXシステム・リファレンス・マニュアルのnice(2)、plock(2)、getopt(3)
TM_MIB - コアOracle Tuxedoシステムの管理情報ベース
#include <fml32.h>
#include <tpadm.h>Oracle TuxedoシステムのMIBは、アプリケーションの基本的な側面を設定および管理するための一連のクラスを定義します。これには、マシン、サーバー、ネットワークの管理が含まれます。
管理リクエストのフォーマットと管理応答の解釈を行うには、TM_MIB(5)を共通MIBリファレンス・ページMIB(5)と一緒に使用します。このリファレンス・ページで説明するクラスや属性を使用し、MIB(5)の説明に従ってフォーマットしたリクエストを使用すると、アクティブなアプリケーションの既存のATMIインタフェースの1つを通じて管理サービスをリクエストできます。非アクティブなアプリケーションは、tpadmcall()関数インタフェースを使用して管理することもできます。TM_MIB(5)のすべてのクラス定義の追加情報については、「TM_MIB(5)に関する追加情報」を参照してください。
概要 - このクラスに関連付けられている属性の概要について説明します。属性表 - 属性表の形式を以下に要約します。詳細は、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の意味を示します。
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の意味を示します。
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_TIMELEFT_MSEC: 0 <= num
TA_TIMELEFT_MSECが戻り値になるのは、TUXCONFIGのSCANUNITの単位がミリ秒の場合のみです。それ以外の場合は、TA_TIMELEFTが返されます。
TA_TIMESTART: 1 <= num
T_CLIENT:TA_LMIDでtime(2)システム呼出しから返される1970年1月1日の00:00:00 UTCから起算されます。
TA_TRANLEV: 0 <= num
T_CONNクラスは、アプリケーション内のアクティブな会話の実行時属性を表します。
TA_LMID: LMID
TA_STATE:
TA_SERVICENAME: string[1..127]
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_AUTOTRAN: "{Y | N}"
TA_TRANTIME: 0 <= num <= 2147483647
0以上2147483648未満を指定します。デフォルト値は30秒です。0は、マシンの最大タイムアウト値を示します。
TA_IPCKEY: 32,769 <= num < 262,144
TA_MASTER: "LMID1[,LMID2]"
LMID1)とバックアップ論理マシン(LMID2)の識別子。INActive状態のアプリケーションでは、マスターの識別子(LMID1)がローカル・マシンと一致する必要があります。SHMモードのアプリケーション(後述のTA_MODELを参照)では、マスター論理マシンの識別子のみ設定できます。ACTive MP状態のアプリケーション(後述のTA_MODELを参照)では、この属性値の変更は次のような意味を持ちます。 現在アクティブなマスターLMIDを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
TA_GID: 0 <= num
TA_PERM: 0001 <= num <= 0777
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)の両方をこの数に含める必要があります。 Oracle Tuxedoリリース7.1より前(6.5以前)では、ユーザー・ライセンス数をチェックする仕組みにおいて、アプリケーションのTA_MAXACCESSERS属性とTA_MAXSERVERS属性が使用されていました。つまり、アプリケーションで実行中の1台以上のマシンのTA_MAXACCESSERSの数と、特定のマシンのTA_MAXACCESSERSの数の合計が、TA_MAXSERVERSの数とユーザー・ライセンス数の合計より大きい場合、マシンを起動することはできませんでした。したがって、アプリケーションのTA_MAXACCESSERSパラメータには、TA_MAXSERVERSの数とユーザー・ライセンス数の合計か、またはそれより小さい値を指定しなければなりませんでした。 Oracle Tuxedoのリリース7.1以降では、アプリケーションに設定されているユーザー・ライセンスの数と、現在使用されているユーザー・ライセンスの数に基づいて、ライセンスのチェックが行われます。すべてのユーザー・ライセンスが使用中になると、アプリケーションに新しいクライアントが参加することはできなくなります。 制限事項:この属性を変更しても、構成済の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)コマンドは、指定された値がこの範囲を外れている場合に警告を表示し、その値を最も近い許容値に設定します。 最大許容長が256バイトに拡張された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などがあります。 Oracle Tuxedoシステムを使用しているサイトを管理するには、1サイトあたりほぼ1つのサーバーが必要です。さらに、DBBLプロセス、BBLプロセス、ブリッジ・プロセス、およびWSHプロセスもすべてTA_MAXSERVERSの数に含めます。
TA_MAXSERVICES: 1 <= num < 1,048,575
TA_MAXACLGROUPS: 1 <= num < 16, 384
TA_SHMQMAXMEM: 1 <= num <= 96,000
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は、dip-in方式で通知検出を行うことを示します。この方式では、クライアント・プロセスに代わってシステムがATMI呼出しの間に通知メッセージのみを検出します。特定のATMI呼出し内での検出ポイントはシステムでは定義されず、dip-in検出はブロッキング・システム呼出しを中断しません。DIPINは、デフォルトの通知検出手段です。 SIGNALは、シグナル方式で通知検出を行うことを示します。この方式では、通知メッセージが使用可能になると、システムがターゲットのクライアント・プロセスにシグナルを送出します。システムは、通知方式を選択したクライアントに代わって、シグナル検出ルーチンをインストールします。 THREADは、THREAD方式で通知を行うことを示します。この方式では、非請求メッセージを受け取るための専用のスレッドが作成され、そのスレッドに非請求メッセージ・ハンドラがディスパッチされます。1つのOracle Tuxedoアプリケーションで同時に実行できる非請求メッセージ・ハンドラは1つのみです。この値は、マルチスレッド処理をサポートするプラットフォームでのみ使用できます。COBOLクライアントはTHREAD通知を使用できません。THREADが有効になっている場合は、デフォルトでDIPINが使用されます。 IGNOREを指定した場合、デフォルトで通知メッセージがアプリケーション・クライアントに無視されます。この設定は、tpinit()時の通知をリクエストするクライアントのみが非請求メッセージを受信するアプリケーションに適しています。 制限事項: この属性に対する実行時の変更は、アクティブなクライアントに影響しません。ネイティブ・クライアント・プロセスのすべてのシグナルは、アプリケーション・プロセスではなく管理システム・プロセスによって処理されます。したがって、SIGNAL方式を使用して通知できるのは、アプリケーション管理者と同じUNIXシステム・ユーザー識別子で実行されているネイティブ・クライアントのみです。ワークステーション・クライアントの場合は、どのユーザー識別子で実行されているかに関係なく、SIGNAL方式を使用できます。
| 注意: | SIGNAL通知方式は、MS-DOSクライアントまたはWindowsクライアントでは使用できません。 |
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|EXALOGIC|SPINTUNING|RDMA|SHMQ|RDONLY1PC|APPVER|ECID_CREATE|ECID_USERLOG],*}”
LAN - ネットワーク対応のアプリケーション。 SSL - SSLセキュリティを開始します。指定しない場合は、LLEセキュリティが使用されます。 MIGRATE—サーバー・グループの移行を許可します。 ACCSTATS - 正確な統計値(SHMモードの場合のみ)。 NO_XA - XAトランザクションの使用を許可しません。 NO_AA - 監査および認可のプラグイン関数を呼び出しません。 SPINTUNING—自己チューニング・ロック・メカニズムを有効にします。SPINTUNINGをTA_OPTIONSに指定する場合、EXALOGICも指定する必要があります。 RDMA—Direct Cross Node Communication Leveraging RDMAを有効にします。RDMAをTA_OPTIONSに指定する場合、EXALOGICも指定する必要があります。 SHMQ—プロセス間通信での共有メモリーの使用を有効にします。SHMQをTA_OPTIONSに指定する場合、EXALOGICも指定する必要があります。 RDONLY1PC—部分的1フェーズ・コミットを有効にします。RDONLY1PCをTA_OPTIONSに指定する場合、EXALOGICも指定する必要があります。NO_XAをTA_OPTIONSに指定する場合、RDONLY1PCを同時に指定することはできません。 APPVER—アプリケーション・サービス・バージョン機能を有効にします。 制限事項: アクティブなアプリケーションでは、ACCSTATSとAPPVERのみを設定またはリセットできます。APPVERをリセットするには、ユーザーはアプリケーション・サービス・バージョン構成を最初にリセットする必要があります。 ECID_CREATE—ECID(実行コンテキスト識別子)作成機能が有効になります。このケースでは、境界ノード(ネイティブ、WSおよびJoltのクライアントとドメイン・ゲートウェイを含む)がECIDを生成できます。 ECID_USERLOG—識別子ECID_USERLOGが設定され、ECIDがNULL文字列でない場合、ECIDはユーザー・ログに追加されます。
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_AUTHSVC: string[0..127]
TA_SSL_RENEGOTIATION: 0 <= num <= 2147483647
TA_SCANUNIT: 0 <= num <= 60 (5の倍数)
TA_BBLQUERY、TA_BLOCKTIME、TA_DBBLWAITおよびTA_SANITYSCAN属性は、この値の乗数で指定します。SET操作においてこの属性値として0を渡すと、属性がデフォルト値にリセットされます。
TA_SCANUNIT_MSEC: 0 <= num <= 30000
TA_BBLQUERY、TA_BLOCKTIME、TA_DBBLWAITおよびTA_SANITYSCAN属性は、この値の乗数で指定します。SET操作においてこの属性値として0を渡すと、属性がデフォルト値にリセットされます。
| 注意: | 属性TA_SCANUNITおよびTA_SCANUNIT_MSECは、MIBのSET操作限定です。SCANUNITの単位がTUXCONFIGで秒になっている場合、TA_SCANUNITが返されます。それ以外の場合は、TA_SCANUNIT_MSECが返されます。まれなケースですが、たとえば、MIBの操作でSCANUNITの値を大幅に動的に変更すると、システムが時間ウィンドウ内で正しく機能しないことがあります。 |
TA_BBLQUERY: 0 <= num < 32,768
TA_SCANUNIT属性の乗数。登録されたBBLに対するDBBL状態チェックの間隔を示します。DBBLは、すべてのBBLの状態がTA_BBLQUERYで指定した期間内に報告されるようにします。BBLからの報告がない場合、DBBLはそのBBLにメッセージを送信し、ステータスを照会します。応答がない場合、BBLは分断されます。SET操作においてこの属性値として0を渡すと、属性がデフォルト値にリセットされます。この属性は、TA_SANITYSCAN属性(後述)の値の2倍以上の値に設定する必要があります。
TA_BLOCKTIME: 0 <= num < 32,768
TA_SCANUNIT属性の乗数。ATMIのブロッキング呼出しがタイムアウトする前にブロックする最短時間を示します。SET操作においてこの属性値として0を渡すと、属性がデフォルト値にリセットされます。
TA_DBBLWAIT: 0 <= num < 32,768
TA_SANITYSCAN: 0 <= num < 32,768
TA_SCANUNIT属性の乗数。システムに対する基本的な正常性チェックの間隔を示します。正常性チェックには、BBLステータス・チェック・イン(MPモードの場合のみ)だけでなく、ローカル・マシンで実行しているクライアントまたはサーバーの各BBLによって行われるクライアントまたはサーバーの実行可能状態のチェックも含まれます。SET操作においてこの属性値として0を渡すと、属性がデフォルト値にリセットされます。
TA_DBBLFAILOVER: 0 <= num < 32,768
DBBLを移行するための時間しきい値。両方のDBBLの停止が検出され、関連するマスター・マシンにアクセスできないことがわかると、DBBLFAILOVER*SANITYSCAN*SCANUNIT秒後にDBBLがBACKマシンで再起動されます。DBBLの自動移行が有効になるのは、この属性が0よりも大きな値に設定された場合のみです。
TA_SGRPFAILOVER: 0 <= num < 32,768
SGRPFAILOVER*BBLQUERY*SCANUNIT秒後に再起動されます。サーバー・グループの自動移行が有効になるのは、この属性が0よりも大きな値に設定された場合のみです。
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]
walletを含むディレクトリの場所です。TA_SEC_PRINCIPAL_NAMEを含むディレクトリの場所です。指定されたプリンシプル名のOracle Walletはこのサブディレクトリに格納されます。
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"を設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
TA_REQUEST_VERSION: ‘*’, 0 <= num <= 65535, “DEFAULT”
T_DOMAINクラスとT_GROUPクラス)に指定できます。TA_REQUEST_VERSIONに'*'が設定されると、リクエスト・バージョンは任意のバージョンに変更されます。TA_REQUEST_VERSIONに有効な数値(0 <= 65535)が設定されると、リクエスト・バージョンはその値に変更されます。"DEFAULT"に設定されると、TA_REQUEST_VERSIONを使用して、ユーザー構成のリクエスト・バージョンがリセットされます。リクエスト・バージョンはシステム・デフォルト値(つまり任意のバージョン('*'))に変更されます。
UBBまたはMIBでユーザーがすでにリクエスト・バージョンを構成している場合に、APPVERオプションをリセットするには、まずこの属性を値"DEFAULT"にリセットする必要があります。
TA_VERSION_RANGE: numeric_value-numeric_value (0 <= num <= 65535), "DEFAULT"
T_DOMAINクラスとT_GROUPクラス)に指定できます。 TA_VERSION_RANGEに有効なバージョン範囲が設定されると、サービスのバージョン範囲はこのバージョン範囲に変更されます。"DEFAULT"に設定されると、TA_VERSION_RANGEを使用して、ユーザー構成のサービス・バージョン範囲がリセットされます。サービス・バージョンは、システム・デフォルト値0-65535に変更されます。
UBBまたはMIBでユーザーがすでにサービス・バージョン範囲を構成している場合に、APPVERオプションをリセットするには、まずこの属性を値"DEFAULT"にリセットする必要があります。
TA_VERSION_POLICY: { PROPAGATE | DEFAULT }
T_DOMAINクラスとT_GROUPクラス)に指定できます。 TA_VERSION_POLICYに"PROPAGATE"が設定されると、バージョン・ポリシーが伝播に変更されます。"DEFAULT"に設定されると、TA_VERSION_POLICYを使用して、ユーザー構成のバージョン・ポリシーがリセットされます。つまり、サービスは受信リクエスト・バージョンを伝播しません。
UBBまたはMIBでユーザーがすでにサービス・バージョン範囲を構成している場合に、APPVERオプションをリセットするには、まずこの属性を値"DEFAULT"にリセットする必要があります。
このクラスの属性の多くは、アプリケーションが非アクティブなときにしか調節できません。つまり、ATMIインタフェース・ルーチンを使用してアプリケーションを管理することはできません。そのため、起動されていないアプリケーションを構成したり構成し直したりするための手段として、tpadmcall()という関数が用意されています。このインタフェースは、アプリケーションのマスター・サイトとして設定されたサイトのみで、非アクティブなアプリケーションの構成(SET操作)のためだけに使用します。いったん初期の構成を作成してアクティブにすると、MIB(5)で説明した標準のATMIインタフェースを使用してアプリケーションを管理することが可能になります。
T_FACTORY MIBクラスは、FactoryFinderに登録されているファクトリのオカレンスを表します。アプリケーションで使用可能なファクトリがこのMIBに反映され、管理者は管理コンソールまたはコマンドライン・ツールを使用してそれを確認できます。スコープはグローバルです。
TA_STATE
TA_FACTORY
TA_INTERFACENAME
T_GROUPクラスは、特定のサーバー・グループに関係のあるアプリケーション属性を表します。これらの属性値は、グループの識別、ロケーション、DTPに関する情報を表します。
注1 TA_LMIDは、このクラス内でユニークである必要があります。
注2 Oracle Tuxedo 8.0以前のリリースの場合、この属性の文字列の長さは最大78バイトです。
TA_SRVGRP: string[1..30]
T_GROUPクラスのすべてのグループ名、およびT_MACHINEクラスのTA_LMIDの値と重複しないユニークな名前である必要があります。サーバー・グループ名にはアスタリスク(*)、カンマ、コロンは使用できません。
TA_GRPNO: 1 <= num < 30,000
TA_LMID: "LMID1[,LMID2]"
LMID1)と、セカンダリの論理マシンの識別子(オプション)(LMID2)。セカンダリのLMIDは、サーバー・グループの移行先のマシンを示します(T_DOMAIN:TA_OPTIONS属性のMIGRATEオプションが指定されている場合)。GET操作で指定するLMIDは、プライマリ、セカンダリのどちらかのLMIDと一致します。アクティブなグループのロケーションは、TA_CURLMID属性で使用できます。TA_LMID属性で指定する論理マシン識別子は構成済である必要があります。制限事項:アクティブなオブジェクトでこの属性を変更しても、グループのバックアップLMIDしか変更されません。
TA_STATE:
SET操作は、選択したT_GROUPオブジェクトの構成情報および実行時情報を更新します。以下に示す状態は、SETリクエストで設定されるTA_STATEの意味を示します。これ以外の状態を設定することはできません。
TA_CURLMID: LMID
TA_ENVFILE: string[0..256] (Oracle Tuxedo 8.0以前の場合は最大78バイト)
MASTERに存在しない)がtlisten(1)の環境を継承します。また、対応するT_GROUPオブジェクトの情報に基づいてサーバーが起動されると、TUXCONFIG、TUXDIR、およびAPPDIRも環境に配置されます。 PATHは、環境でAPPDIR:TUXDIR/bin:/bin:/usr/bin:pathに設定されます。pathは、マシン環境ファイルの最初のPATH=行(存在する場合)の値です(その後のPATH=行は無視されます)。このPATHは、単純なパス名すなわち相対パス名(先頭にスラッシュがないパス名)で指定されたサーバーの検索パスとして使用されます。 LD_LIBRARY_PATHは、環境でAPPDIR:TUXDIR/lib:/lib:/usr/lib:libに設定されます。libは、マシン環境ファイルの最初のLD_LIBRARY_PATH=行(存在する場合)の値です(その後のLD_LIBRARY_PATH=行は無視されます)。 サーバーの初期化において(tpsvrinit(3c)が呼び出される前)、サーバーはマシンとサーバーのENVFILEファイルから変数を読み取ってエクスポートします。変数がマシンとサーバーの両方のENVFILEファイルに設定されている場合は、サーバーのENVFILEファイルの値によってマシンのENVFILEファイルの値がオーバーライドされます。ただし、PATHはオーバーライドではなく追加されます。クライアントはマシンのENVFILEファイルのみを処理します。マシンとサーバーのENVFILEファイルが処理されるとき、ident=の形式ではない行は無視されます。identにはアンダースコアと英数字のみが含まれます。 PATH=行が検出された場合、PATHはAPPDIR:TUXDIR/bin:/bin:/usr/bin:pathに設定されます。pathは、環境ファイルの最初のPATH=行の値です(その後のPATH=行は無視されます)。PATHがマシンとサーバー両方のファイルに含まれる場合、pathはpath1:path2として定義されます。path1はマシンのENVFILE、path2はサーバーのENVFILEに基づきます。LD_LIBRARY_PATH=行が見つかった場合、LD_LIBRARY_PATHはAPPDIR:TUXDIR/lib:/lib:/usr/lib:libに設定されます。
libは、環境ファイルで最初に出現するLD_LIBRARY_PATH=行の値になります(以降のLD_LIBRARY_PATH=行は無視されます)。TUXDIR、APPDIRまたはTUXCONFIGをリセットしようとしても、値が対応するT_GROUP属性値と一致しない場合には、無視されて警告が表示されます。
TA_OPENINFO: string[0..256]
TA_TMSNAME属性の値にTMS以外のNULLでない文字列を指定した場合、TA_OPENINFO属性の値は、リソース・マネージャへのアクセスを開始する際に必要なリソース・マネージャに依存する情報を提供します。それ以外の場合、TA_OPENINFO属性の値は無視されます。 TA_OPENINFO属性の値がNULL文字列である場合、このグループのリソース・マネージャがリソースへのopenアクセスにアプリケーション固有の情報を必要としないことを意味します。 TA_OPENINFO文字列の形式は、基底のリソース・マネージャのベンダーごとに異なります。ベンダー固有の情報の先頭には、トランザクション・インタフェース(XAインタフェース)の公開名とコロン(:)が付きます。 Oracle Tuxedo /Qデータベースの場合、形式は、# On UNIX #OPENINFO = "TUXEDO/QM:qmconfig:qspace" # On Windows #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 or 2 <= num < 256
TA_TMSNAME属性の値にNULLでない文字列を指定した場合、TA_TMSCOUNT属性値は関連付けられたグループ用に起動するトランザクション・マネージャ・サーバーの数を示します。それ以外の場合、この属性の値は無視されます。TA_TMSCOUNTを11未満に設定してリソースを保存することをお薦めします。
TA_TMSNAME: string[0..256] (Oracle Tuxedo 8.0以前は最大で78バイト)
a.out。分散トランザクション(tpbegin()で開始し、tpcommit()/tpabort()で終了する、複数のリソース・マネージャやマシンの間で処理されるトランザクション)に参加するサーバーを持つグループ・エントリに対しては、この属性を必ず指定する必要があります。
TMSは、非XAインタフェースを使用することを示すために予約されています。TMS以外の空でない値を指定した場合は、このオブジェクトのプライマリおよびセカンダリ論理マシンに関連付けられたマシンに対してTLOGDEVICEを指定する必要があります。 各TMサーバーに対してユニークなサーバー識別子が自動的に選択され、サーバーは何回でも再起動することができます。
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]
walletを含むディレクトリの場所です。TA_SEC_PRINCIPAL_NAMEを含むディレクトリの場所です。指定されたプリンシプル名のOracle Walletはこのサブディレクトリに格納されます。 従来のTuxedoセキュリティ資格証明形式を使用する場合、これは、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_REQUEST_VERSION: '*', 0 <= num < 65535, "DEFAULT"
TA_REQUEST_VERSIONに'*'が設定されると、リクエスト・バージョンは任意のバージョンに変更されます。TA_REQUEST_VERSIONに有効な数値(0 <= 65535)が設定されると、リクエスト・バージョンはその値に変更されます。"DEFAULT"に設定されると、TA_REQUEST_VERSIONを使用して、ユーザー構成のリクエスト・バージョンがリセットされます。リクエスト・バージョンはシステム・デフォルト値(つまり任意のバージョン('*'))に変更されます。 変更はすぐに有効になります。 この属性が設定される場合は、アプリケーション・サービス・バージョン機能を有効にする必要があります。 UBBまたはMIBでユーザーがすでにリクエスト・バージョンを構成している場合に、APPVERオプションをリセットするには、まずこの属性を値"DEFAULT"にリセットする必要があります。
TA_VERSION_RANGE: numeric_value-numeric_value (0 <= num <= 65535), "DEFAULT"
TA_VERSION_RANGEに有効なバージョン範囲が設定されると、サービスのバージョン範囲はこのバージョン範囲に変更されます。"DEFAULT"に設定されると、TA_VERSION_RANGEを使用して、ユーザー構成のサービス・バージョン範囲がリセットされます。サービス・バージョンは、システム・デフォルト値0-65535に変更されます。 変更はすぐに有効になります。 この属性が設定される場合は、アプリケーション・サービス・バージョン機能を有効にする必要があります。 UBBまたはMIBでユーザーがすでにサービス・バージョン範囲を構成している場合に、APPVERオプションをリセットするには、まずこの属性を値"DEFAULT"にリセットする必要があります。
TA_VERSION_POLICY: { PROPAGATE | DEFAULT }
TA_VERSION_POLICYに"PROPAGATE"が設定されると、バージョン・ポリシーが伝播に変更されます。"DEFAULT"に設定されると、TA_VERSION_POLICYを使用して、ユーザー構成のバージョン・ポリシーがリセットされます。つまり、サービスは受信リクエスト・バージョンを伝播しません。 変更はすぐに有効になります。 この属性が設定される場合は、アプリケーション・サービス・バージョン機能を有効にする必要があります。 UBBまたはMIBでユーザーがすでにサービス・バージョン範囲を構成している場合に、APPVERオプションをリセットするには、まずこの属性を値"DEFAULT"にリセットする必要があります。
T_RMSクラスは、複数のRMSをサポートする1つのサーバー・グループ内のすべてのDTP情報に関係のあるアプリケーション属性を表します。
TA_SRVGRP: string[1..30]
TA_RMID: 1 <= num <= 31
TA_STATE:
SET操作は、選択したT_ RMSオブジェクトの構成情報および実行時情報を更新します。以下に示す状態は、SETリクエストで設定されるTA_STATEの意味を示します。これ以外の状態を設定することはできません。
T_RMSオブジェクトをアクティブにします。状態の変更は、INActive状態でのみ可能です。この状態遷移に対する許可の決定に際しては、アクティブなオブジェクトの許可(--x--x--x)が考慮されます。
|
|
TA_RMSNAME: string[1..30]
TA_TMSNAME: string[0..256]
tpcommit()/tpabort()で終了する、複数のリソース・マネージャやマシンの間で処理されるトランザクション)に参加するサーバーを持つ関連グループ・エントリに対しては、この属性を必ず指定する必要があります。
TLOGDEVICEを指定する必要があります。各TMサーバーに対して一意のサーバー識別子が自動的に選択され、サーバーは何回でも再起動できます。
TA_TMSCOUNT: 0 or 2 <= num < 256
TA_TMSNAME属性の値にNULLでない文字列を指定した場合、TA_TMSCOUNT属性値は関連付けられたグループ用に起動するトランザクション・マネージャ・サーバーの数を示します。それ以外の場合、この属性の値は無視されます。TA_TMSCOUNTを11未満に設定してリソースを保存することをお薦めします。
TA_OPENINFO: string[0..256]
TA_TMSNAME属性の値にTMS以外のNULLでない文字列を指定した場合、TA_OPENINFO属性の値は、リソース・マネージャへのアクセスを開始する際に必要なリソース・マネージャに依存する情報を提供します。それ以外の場合、TA_OPENINFO属性の値は無視されます。TA_OPENINFO属性の値がNULL文字列である場合、このグループのリソース・マネージャがリソースへのopenアクセスにアプリケーション固有の情報を必要としないことを意味します。TA_OPENINFO文字列の形式は、基底のリソース・マネージャのベンダーごとに異なります。ベンダーに必要な情報の先頭には、ベンダーのトランザクション(XA)インタフェースの公開名とコロン(:)が付きます。Oracle Tuxedo /Qデータベースの場合、形式は、# On UNIX #
MOPENINFO = "TUXEDO/QM:qmconfig:qspace"
# On Windows #
MOPENINFO = "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文字列である場合、このグループのリソース・マネージャがリソースへのアクセスを閉じるためにアプリケーション固有の情報を必要としないことを意味します。TA_CLOSEINFO文字列の形式は、基底のリソース・マネージャのベンダーごとに異なります。ベンダー固有の情報の先頭には、トランザクション・インタフェース(XAインタフェース)の公開名とコロン(:)が付きます。制限事項: この属性を実行時に変更しても、グループ内のアクティブなサーバーには反映されません。
TA_RMAUTO: "{Y | N}"
TA_RMAUTO=Yを指定すると、サーバーの起動時にtpopen()を介してRMへの接続が確立されます。クライアントが(TMSによって監視されている)サービスを呼び出すと、対応するRMのxa_startが自動的に呼び出されます。TA_RMAUTO=Nを指定する場合、アプリケーション・サーバーでtprmopenおよびtmrmstartを明示的に呼び出す必要があります。デフォルト値はYです。TA_TMSNAMEパラメータをNULLに設定すると、この項目は無視されます。AUTO=Yで同じサーバー・グループに属するT_RMSオブジェクトの数は、0から15までの値である必要があります。
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:
INActiveまたはINValidからACTiveへの状態変更)はサポートされていません。また、非公開(ACTiveからINActiveへの状態変更)もサポートされていません。
TA_AUTOTRAN: "{Y | N}"
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ファイルで識別され、サーバーの起動時にシステムによって自動的に宣言されます。
50 (注1)
|
|||||
(2 )
|
|||||
N/A (注3)
|
|||||
注1グループ・レベルの 注2同じ 注3 |
TA_INTERFACENAME: string[1..128]
TA_SRVGRP: string[0..30]
TA_STATE:
T_INTERFACEクラスのGET値およびSET TA_STATE値の実行、指定方法です。グループおよびドメイン・レベルのオブジェクト間で実行、指定方法が異なる場合は、その違いを説明しています。
SET操作は、選択したT_INTERFACEオブジェクトの構成情報および実行時情報を更新します。ドメイン・レベルの変更を行うと、複数のサーバー・グループに影響することがあります。また、複数のサーバーがインタフェースを提供している場合は、実行時の変更が複数のサーバーに影響することがあります。以下に示す状態は、SETリクエストで設定されるTA_STATEの意味を示します。これ以外の状態を設定することはできません。
INActiveまたはINValidからACTiveへの状態変更)はサポートされていません。また、非公開(ACTiveからINActiveへの状態変更)もサポートされていません。
TA_AUTOTRAN: "{Y | N}"
T_INTERFACEオブジェクトには反映されず、UBBCONFIGファイル内のこの属性に指定した値がTA_TXPOLICYによってオーバーライドされることがあります。TA_TXPOLICYの状態によって以下のようになります。
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:
SET操作は、選択したT_MACHINEオブジェクトの構成情報および実行時情報を更新します。以下に示す状態は、SETリクエストで設定されるTA_STATEの意味を示します。これ以外の状態を設定することはできません。
ForceINactiveまたはINActiveへの状態の変更は、マスター・マシン以外のマシンに対してのみ実行できます。マスター・サイトの管理プロセスは、T_DOMAINクラスを使用して非アクティブに変更します。
TA_UID: 0 <= num
TA_GID: 0 <= num
TA_ENVFILE: string[0..256] (Oracle Tuxedo 8.0以前の場合は最大78バイト)
MASTERに存在しない)がtlisten(1)の環境を継承します。また、対応するT_MACHINEオブジェクトの情報に基づいてサーバーが起動されると、TUXCONFIG、TUXDIR、およびAPPDIRも環境に配置されます。PATHは環境で APPDIR:TUXDIR/bin:/bin:/usr/bin:pathに設定されます。pathは、マシン環境ファイルの最初のPATH=行(存在する場合)の値です(その後のPATH=行は無視されます)。このPATHは、単純なパス名すなわち相対パス名(先頭にスラッシュがないパス名)で指定されたサーバーの検索パスとして使用されます。LD_LIBRARY_PATHは、環境でAPPDIR:TUXDIR/lib:/lib:/usr/lib:libに設定されます。libは、マシン環境ファイルの最初のLD_LIBRARY_PATH=行(存在する場合)の値です(その後のLD_LIBRARY_PATH=行は無視されます)。 サーバーの初期化において(tpsvrinit()が呼び出される前)、サーバーはマシンとサーバーのENVFILEファイルから変数を読み取ってエクスポートします。変数がマシンとサーバーの両方のENVFILEファイルに設定されている場合は、サーバーのENVFILEファイルの値によってマシンのENVFILEファイルの値がオーバーライドされます。ただし、PATHはオーバーライドではなく追加されます。クライアントはマシンのENVFILEファイルのみを処理します。マシンとサーバーのENVFILEファイルが処理されるとき、ident=の形式ではない行は無視されます。identは先頭がアンダースコアか英字で、その後はアンダースコアと英数字のみが含まれます。PATH=行が検出された場合、PATHはAPPDIR:TUXDIR/bin:/bin:/usr/bin:pathに設定されます。pathは、環境ファイルの最初のPATH=行の値です(その後のPATH=行は無視されます)。PATHがマシンとサーバー両方のファイルに含まれる場合、pathはpath1:path2になります。path1はマシンのENVFILE、path2はサーバーのENVFILEに基づきます。LD_LIBRARY_PATH=行が見つかった場合、LD_LIBRARY_PATHはAPPDIR:TUXDIR/lib:/lib:/usr/lib:libに設定されます。
libは、環境ファイルで最初に出現するLD_LIBRARY_PATH=行の値になります(以降のLD_LIBRARY_PATH=行は無視されます)。TUXDIR、APPDIRまたはTUXCONFIGをリセットしようとしても、値が対応するT_MACHINE属性値と一致しない場合には、無視されて警告が表示されます。
TA_PERM: 0001 <= num <= 0777
TA_ULOGPFX: string[0..256] (Oracle Tuxedo 8.0以前の場合は最大78バイト)
userlog()ファイルの絶対パス名の接頭辞。userlog()ファイルの名前は、TA_ULOGPFX属性値に文字列.mmddyyを付加することにより作成されます。mmddyyは、メッセージが生成された月、日、年を表します。このマシン上で実行しているクライアントやサーバーが生成するアプリケーションやシステムのuserlog()メッセージは、すべてこのファイルに書き込まれます。
TA_TYPE: string[0..15]
TA_TYPE属性を設定する必要があります。この属性のデフォルト値は長さゼロの文字列です。これは、TA_TYPE属性値に長さゼロの文字列を持つすべてのマシンと一致します。
TA_MAXACCESSERS: 1 <= num < 32,768
restartsrv、cleanupsrv、tmshutdown()、tmadmin()などのシステム管理プロセスを含める必要はありません。ただし、DBBL、すべてのブリッジ・プロセス、すべてのシステム提供サーバー・プロセスとアプリケーション・サーバー・プロセス、およびこのサイトで使用する可能性があるクライアント・プロセスはこの数に含めます。システム提供のサーバーには、AUTHSVR、TMQUEUE、TMQFORWARD、TMUSREVT、TMSYSEVT、TMS (T_GROUP TA_TMSNAME属性を参照)、TMS_QM、GWTDOMAIN、WSLなどがあります。アプリケーションがこのサイトでワークステーション・リスナー(WSL)を起動する場合は、起動するWSLと使用する可能性があるワークステーション・ハンドラ(WSH)の両方をこの数に含める必要があります。 Oracle Tuxedoリリース7.1より前(6.5以前)では、ユーザー・ライセンス数をチェックする仕組みにおいて、アプリケーションのTA_MAXACCESSERS属性とTA_MAXSERVERS属性(T_DOMAIN:TA_MAXSERVERS属性を参照)が使用されていました。つまり、アプリケーションで実行中の1台以上のマシンのTA_MAXACCESSERSの数と、特定のマシンのTA_MAXACCESSERSの数の合計が、TA_MAXSERVERSの数とユーザー・ライセンス数の合計より大きい場合、マシンを起動することはできませんでした。したがって、アプリケーションのTA_MAXACCESSERSパラメータには、TA_MAXSERVERSの数とユーザー・ライセンス数の合計か、またはそれより小さい値を指定しなければなりませんでした。 Oracle Tuxedoのリリース7.1以降では、アプリケーションに設定されているユーザー・ライセンスの数と、現在使用されているユーザー・ライセンスの数に基づいて、ライセンスのチェックが行われます。すべてのユーザー・ライセンスが使用中になると、アプリケーションに新しいクライアントが参加することはできなくなります。
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..18]
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" (デフォルト)に設定することは可能ですが、マシン間のスループットがシングル・スレッドのブリッジ・プロセスのスループットを上回ることはありません。 シングル・スレッドまたはマルチスレッド実行用に構成されたブリッジ・プロセスは、Oracle TuxedoまたはWebLogic Enterpriseの旧リリース(Oracle Tuxedoリリース8.0以前、WebLogic Enterprise release 5.1以前)と相互運用できます。これは、スレッド化によって外部機能や動作が変わることはないためです。 | 注意: | 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進数表現を含む文字配列に内部変換されます。表57にはアドレス形式がリストされています。
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進数表現を含む文字配列に内部変換されます。 TCP/IPアドレスの場合は、以下のいずれかの形式になります。
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_SPINTUNING_FACTOR: 0<= num <= 10000
TA_SPINTUNING_MINIDLECPU: 0 <= num <= 100
TA_RDMADAEMONIP: string[0…128]
TA_RDMADAEMONPORT: 1<= num <= 65535
TA_RDMAQSIZE: 1 <= num
TA_RDMAQENTRIES: 1 <= num
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]
walletを含むディレクトリの場所です。TA_SEC_PRINCIPAL_NAMEを含むディレクトリの場所です。指定されたプリンシプル名のOracle Walletはこのサブディレクトリに格納されます。
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
TA_EXALOGIC_MSGQ_CACHE_SIZE: 32 <= num <= 2,048
TA_EXALOGIC_MSGQ_CACHE_SIZEの機能は、環境変数EXALOGIC_MSGQ_CACHE_SIZEの機能と同じです。ただし、Tuxedoの実行時には、そのような環境変数が優先されます。TA_EXALOGIC_MSGQ_CACHE_SIZEの値は32 - 2,048で指定する必要があります。 詳細は、『Oracle Tuxedo/Oracle Exalogicユーザーズ・ガイド』を参照してください。
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システム・メッセージ・キューの実行時属性を表します。
TA_LMID: LMID
TA_MSGID: 1 <= num
EXALOGICオプションとRDMAオプションに指定されるとき、この値はOracle Tuxedoの内部識別子を示します。
TA_STATE:
TA_CURTIME: 1 <= num
T_MSG:TA_LMIDで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:
TA_NADDR: string[1..256] (Oracle Tuxedo 8.0以前は最大で78バイト)
T_DOMAIN:TA_OPTIONS属性値でLANオプションが設定されているときには必ず設定します。
stringの形式が"0xhex-digits"の場合、文字数が偶数の有効な16進数値を含める必要があります。このような形式の文字列は、指定された文字列の16進数表現を含む文字配列に内部変換されます。 TCP/IPアドレスの場合は、以下のいずれかの形式になります(表61を参照)。
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進数表現を含む文字配列に内部変換されます。 TCP/IPアドレスの場合は、以下のいずれかの形式になります(表62を参照)。
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
EXALOGICオプションとRDMAオプションに指定されるとき、この値はOracle Tuxedoの内部識別子を示します。
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
TA_SOURCEの論理マシンから現在このキューに登録されているリクエストの数。この値は、リクエストがキューに登録されるとインクリメントされ、サーバーがキューからリクエストを取り出すとデクリメントされます。
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パラメータで指定されたフィールドとみなされます。詳細は、ファクトリ・ベース・ルーティングに関するセクションを参照してください。DDR Xpathを構成する場合、TA_FIELDに"XPATH"を指定する必要があります。TA_TYPE=SERVICEの場合、TA_FIELDフィールドは、FMLまたはFML32バッファ、XMLバッファ、VIEWフィールド名(文字長254)とみなされます。VIEWフィールド名は、FMLフィールド表(環境変数FLDTBLDIRとFIELDTBLSまたはFLDTBLDIR32とFIELDTBLS32を使用)、またはFMLビュー表(環境変数VIEWDIRとVIEWFILESまたはVIEWDIR32とVIEWFILES32)で指定されます。この情報は、メッセージの送信時に、データ依存型ルーティングに関連するフィールド値を取得するために使用されます。 XMLバッファ・タイプの場合、TA_FIELDにはルーティング要素のタイプ(または名前)か、ルーティング要素の属性名が含まれます。 XMLバッファ・タイプのTA_FIELD属性の構文は以下のとおりです。 “root_element[/child_element][/child_element][/. . .][/@attribute_name]”
XMLバッファを処理する際に、与えられた要素タイプの最初のオカレンスだけを認識します。この情報は、メッセージの送信時に、データ依存型ルーティングに関連する要素の内容を取得するために使用されます。内容はUTF-8でエンコードされた文字列である必要があります。 属性は、定義されている要素のXMLドキュメントまたはデータ・グラム属性として処理されます。この情報は、メッセージの送信時に、データ依存型ルーティングに関連する属性値を取得するために使用されます。値はUTF-8でエンコードされた文字列である必要があります。 要素名と属性名の組合せの長さは最大で30文字です。 ルーティング・フィールドの型は、TA_FIELDTYPE属性で指定できます。
TA_FIELDTYPE: "{char | short | long | float | double | xpath | string}"
TA_FIELD属性で指定したルーティング・フィールドの型。型にはchar、short、long、float、double、xpath、またはstringのいずれか1つを指定できます。この属性は、XMLバッファをルーティングする場合にのみ使用されます。ルーティング・フィールドのデフォルトのデータ型はstringです。
TA_FIELDTYPE (ファクトリ・ベース・ルーティングのみ)
TA_TYPE=FACTORYの場合にのみ有効です。指定可能な型は、SHORT、LONG、FLOAT、DOUBLE、CHAR、XPATH、STRINGです。この属性の指定は、ファクトリ・ベース・ルーティング基準に対してのみ有効です。
TA_RANGES: carray[1..2048]
stringの形式は、カンマで区切って並べられた範囲とグループ名の組合せです。範囲とグループ名の組合せの形式は次のとおりです。
Xpath expression:group: xpath式は一重引用符で囲んでください。また、XML Path Language (XPath)バージョン1.0 (http://www.w3.org/TR/xpath/)に準拠する必要があります。文字列値で一重引用符を使用する場合は、引用符の前に円マークを2つ入力します(例: 'O\\'Brien')。 lower[-upper]:group lowerおよびupperは符号付き数値または一重引用符で囲んだ文字列です。lowerはupper以下にする必要があります。文字列値で一重引用符を使用する場合は、引用符の前に円マークを2つ入力します(例: 'O¥¥'Brien')。マシン上の関連するフィールドのデータ型の最小値を示すには、MINを使用します。マシン上の関連するフィールドのデータ型の最大値を示すには、MAXを使用します。したがって、"MIN--5"は-5以下のすべての数を表し、"6-MAX"は6以上のすべての数を表します。 範囲(range)内のメタキャラクタ* (ワイルドカード)は、すでにエントリとして指定した範囲では使用されなかった任意の値を示します。1つのエントリで1つのワイルドカード範囲のみを指定でき、最後に指定する必要があります(その後の範囲は無視されます)。 ルーティング・フィールドには、FMLでサポートされている任意のデータ型を指定できます。数値のルーティング・フィールドには、数値による範囲値、文字列のルーティング・フィールドには文字列による範囲値を指定します。 文字列で範囲を設定する場合は、文字列、carray、および文字フィールド型の値を一重引用符で囲みます。先頭に符号を付けることはできません。short型とlong型の整数値は数字の文字列であり、正負の符号を数字の前に付けることができます。Cコンパイラまたはatof(3)で使用できる浮動小数点数は、まず任意の符号、次に数字列(小数点が入ってもよい)、任意のeまたはE、任意の符号またはスペース、最後に整数という形式を取ります。 グループ名は、フィールドが範囲に一致する場合にリクエストがルーティングされる関連グループを示します。グループ名"*"は、サーバーが必要なサービスを提供するグループであればどのグループにでもリクエストをルーティングできることを示します。 制限事項: 属性値の長さが256バイトを超えると、Oracle Tuxedoリリース4.2.2以前との相互運用はできません。
| 注意: | 詳細は、「ROUTINGセクション」の「RANGES = string_value」を参照してください。 |
TA_STATE:
TA_TYPE
FACTORY"または"SERVICE"です。"FACTORY"を指定すると、ルーティング基準はCORBAインタフェース用のファクトリ・ベース・ルーティングに適用されます。ファクトリ・ベース・ルーティング基準では、必ずTYPE=FACTORYを指定する必要があります。"SERVICE"を指定すると、ルーティング基準はATMIサービス用のデータ依存型ルーティングに適用されます。デフォルト値は"SERVICE"です。したがって、データ依存型ルーティングを使用する場合はこの属性の指定を省略できます。ここで指定するルーティング基準のタイプは、このMIBクラスに対して定義される他のフィールドの値に影響します。これらのフィールドで指定できる値については個別に説明します。ファクトリ・ベース・ルーティング基準に対するSET操作では、TA_TYPEの指定が必須です。
T_SERVERクラスは、アプリケーション内のサーバーの構成属性と実行時属性を表します。これらの属性値によって、構成済のサーバーを識別したり、各サーバー・オブジェクトに関連する統計値やリソースを実行時に追跡したりできます。戻される情報には、サーバーのすべてのコンテキストで共通のフィールドが常に含まれています。また、システムにマルチコンテキストとして定義されていないサーバー(TA_MAXDISPATCHTHREADSの値が1)の場合は、このクラスにサーバーのコンテキストに関する情報が含まれます。システムにマルチコンテキストとして定義されているサーバーの場合は、プレースホルダーの値がコンテキストごとの属性に対して通知されます。コンテキストごとの属性は、常にT_SERVERCTXTクラスにあります。T_SERVERCTXTクラスは、シングル・コンテキストのサーバーに対しても定義されます。
TA_CLTLMID、TA_CLTPID、TA_CLTREPLY、TA_CMTRET、TA_CURCONV、TA_CURREQ、TA_CURRSERVICE、TA_LASTGRP、TA_SVCTIMEOUT、TA_TIMELEFTおよびTA_TRANLEVの各属性は、サーバー・ディスパッチ・コンテキストごとに固有な属性です。これら以外の属性は、すべてのサーバー・ディスパッチ・コンテキストで共通です。
注1デフォルト設定は、T_DOMAINクラスでこの属性に指定したのと同じ値になります。
注2 Oracle Tuxedo 8.0以前のリリースの場合、この属性の文字列の長さは最大78バイトです。
TA_SRVGRP: string[1..30]
TA_SRVID: 1 <= num < 30,001
TA_SERVERNAME: string[1..78]
TA_SERVERNAMEによって識別されるサーバーは、このサーバーのサーバー・グループのT_GROUP:TA_LMIDによって識別されるマシン上で実行されます。相対パス名を指定すると、実行ファイルの検索が、最初TA_APPDIRで実行されてから、TA_TUXDIR/bin、/bin、/usr/bin、pathの順番で実行されます。なお、pathはマシン環境ファイルで最初に現れるPATH=行の値です。アクティブなサーバーに返される属性値は、常に絶対パス名になることに注意してください。TA_APPDIRとTA_TUXDIRの値は、適切なT_MACHINEオブジェクトから取得します。環境変数の処理方法については、T_MACHINE:TA_ENVFILE属性の項を参照してください。
TA_GRPNO: 1 <= num < 30,000
TA_STATE:
GET: "{ACTive | INActive | MIGrating | CLEaning | REStarting | SUSpended | EXIting | PARtitioned | DEAd}"
SET操作は、選択したT_SERVERオブジェクトの構成情報および実行時情報を更新します。以下に示す状態は、SETリクエストで設定されるTA_STATEの意味を示します。これ以外の状態を設定することはできません。
適切なタイムアウト間隔(
MIB(5)のTA_MIBTIMEOUTを参照)後もまだサーバーが動作している場合に、サーバーにSIGTERMシグナルとSIGKILLシグナルを送信してT_SERVERオブジェクトを非アクティブ化します。デフォルトでは、SIGTERMシグナルによってサーバーの順序立てた停止が開始され、サーバーは再起動可能であっても非アクティブになります。サーバーが1つのサービスを長時間にわたって処理している場合、またはSIGTERMシグナルが無効になっている場合は、SIGKILLが使用され、システムはそれを異常終了として処理します。状態の変更は、ACTive状態またはSUSpended状態でのみ可能です。正常に終了すると、オブジェクトの状態はINActive、CLEaning、またはREStartingになります。
|
TA_BASESRVID: 1 <= num < 30,001
TA_MAX属性値が1のサーバーの場合、この属性は常にTA_SRVIDと同じになります。一方、TA_MAX値が1より大きいサーバーの場合、この属性は同一の環境設定を持つサーバーの集まりが同一のベース・サーバー識別子であることを示します。
TA_CLOPT: string[0..1024]
servopts(5)のリファレンス・ページを参照してください。制限事項:この属性を実行時に変更しても、実行中のサーバーには反映されません。
TA_ENVFILE: string[0..256] (Oracle Tuxedo 8.0以前の場合は最大78バイト)
T_MACHINE:TA_ENVFILEを参照してください。制限事項:この属性を実行時に変更しても、実行中のサーバーには反映されません。
TA_GRACE: 0 <= num
T_SERVER:TA_MAXGENの制限が適用される期間を示します(単位は秒)。この属性は、再起動が可能なサーバーに対してのみ(T_SERVER:TA_RESTART属性が"Y"にセットされている場合にのみ)有効です。再起動しているサーバーがTA_MAXGEN制限値を超えても、TA_GRACEの期限が切れている場合は、システムは現在の世代(T_SERVER:TA_GENERATION)を1にリセットし、初期起動時間(T_SERVER:TA_TIMESTART)を現在の時刻にリセットします。この属性を0に設定すると、サーバーはいつでも再起動できます。
T_SERVER:TA_RQADDRの値が同一のサーバー)は、この属性も同じ値に設定する必要があります。この属性値が異なる場合、キュー上のすべてのサーバーに関連付けられる実行時値が、最初にアクティブにしたサーバーによって確立されます。 制限事項: この属性を実行時に変更すると、実行中のサーバーおよびリクエスト・キューを共有している他のアクティブ・サーバーに反映されます。ただし、変更されるのは選択したサーバーの構成パラメータのみです。したがって、キューを共有するすべてのサーバーについてこの属性を同じ値に設定しないと、その後サーバーをアクティブする際の起動順序によってアプリケーションの動作が変わってしまいます。
TA_MAXGEN: 1 <= num < 256
T_SERVER:TA_GRACE)において、再起動可能なサーバー(T_SERVER:TA_RESTART == "Y")に許可された最大の世代数。サーバーを最初にアクティブにする動作を1つの世代としてカウントし、その後の再起動もそれぞれ1つの世代としてカウントします。最大世代数を超えた後の処理については、前述のTA_GRACEに関する説明を参照してください。
T_SERVER:TA_RQADDRの値が同一のサーバー)は、この属性も同じ値に設定する必要があります。この属性値が異なる場合、キュー上のすべてのサーバーに関連付けられる実行時値が、最初にアクティブにしたサーバーによって確立されます。 制限事項: この属性を実行時に変更すると、実行中のサーバーおよびリクエスト・キューを共有している他のアクティブ・サーバーに反映されます。ただし、変更されるのは選択したサーバーの構成パラメータのみです。したがって、キューを共有するすべてのサーバーについてこの属性を同じ値に設定しないと、その後サーバーをアクティブする際の起動順序によってアプリケーションの動作が変わってしまいます。
TA_MAX: 1 <= num < 1,001
tmboot()がサーバーのT_SERVER:TA_MINオブジェクトを起動します。その他のオブジェクトは、特定サーバーIDを起動して個別に起動するか、自動生成によって起動します(会話型サーバーの場合のみ)。この属性を実行時に変更すると、同一の構成を持つサーバーのうち実行中のサーバー(前述のTA_BASESRVIDを参照)と、サーバーの構成定義に反映されます。
TA_MIN: 1 <= num < 1,001
T_SERVER:TA_RQADDRが指定されており、TA_MINが1より大きい場合、そのサーバーはMSSQセットを形成します。サーバーのサーバー識別子は、T_SERVER:TA_SRVIDからTA_SRVID + T_SERVER:TA_MAX - 1までとなります。各サーバーには、すべて同一のシーケンス番号とその他のサーバー・パラメータが付けられます。
TA_MINDISPATCHTHREADS: 1 <= num < 1,000
TA_MAXDISPATCHTHREADS > 1のときに使用される個別のディスパッチャ・スレッドは、TA_MINDISPATCHTHREADSの値の一部としてはカウントされません。この場合、TA_MINDISPATCHTHREADS <= TA_MAXDISPATCHTHREADSである必要があります。TA_MINDISPATCHTHREADSが指定されていない場合のデフォルト値は0です。 制限事項: この属性を実行時に変更しても、実行中のサーバーには反映されません。
TA_MAXDISPATCHTHREADS: 0 <= num < 1,000
TA_MAXDISPATCHTHREADS > 1の場合、別のディスパッチ・スレッドが使用されます。このディスパッチ・スレッドは、パラメータで指定した数には含まれません。この場合、TA_MINDISPATCHTHREADS <= TA_MAXDISPATCHTHREADSである必要があります。TA_MAXDISPATCHTHREADSが指定されていない場合のデフォルト値は1です。 制限事項: この属性を実行時に変更しても、実行中のサーバーには反映されません。
TA_THREADSTACKSIZE: 0 <= num <= 2147483647
TA_MAXDISPATCHTHREADSに1より大きい値が指定された場合のみサーバーに影響を与えます。
TA_CURDISPATCHTHREADS: 0 <= num
TA_HWDISPATCHTHREADS: 0 <= num
TA_NUMDISPATCHTHREADS: 0 <= num
TA_RCMD: string[0..256] (Oracle Tuxedo 8.0以前の場合は最大78バイト)
T_SERVER:TA_RQADDRの値が同一のサーバー)は、この属性も同じ値に設定する必要があります。この属性値が異なる場合、キュー上のすべてのサーバーに関連付けられる実行時値が、最初にアクティブにしたサーバーによって確立されます。 制限事項: この属性を実行時に変更すると、実行中のサーバーおよびリクエスト・キューを共有している他のアクティブ・サーバーに反映されます。ただし、変更されるのは選択したサーバーの構成パラメータのみです。したがって、キューを共有するすべてのサーバーについてこの属性を同じ値に設定しないと、その後サーバーをアクティブする際の起動順序によってアプリケーションの動作が変わってしまいます。 | 注意: | Windows 2003システムでリダイレクトまたはパイプを選択する場合は、以下のいずれかの方法を使用してください。 |
TA_RESTART: "{Y | N}"
"Y")または再起動不可能("N")に設定します。このサーバー・グループに対してサーバーの移行(T_DOMAIN:TA_OPTIONS/MIGRATE属性および代替サイトによるT_GROUP:TA_LMID)を指定した場合は、TA_RESTARTを"Y"に設定する必要があります。
T_SERVER:TA_RQADDRの値が同一のサーバー)は、この属性も同じ値に設定する必要があります。この属性値が異なる場合、キュー上のすべてのサーバーに関連付けられる実行時値が、最初にアクティブにしたサーバーによって確立されます。 制限事項: この属性を実行時に変更すると、実行中のサーバーおよびリクエスト・キューを共有している他のアクティブ・サーバーに反映されます。ただし、変更されるのは選択したサーバーの構成パラメータのみです。したがって、キューを共有するすべてのサーバーについてこの属性を同じ値に設定しないと、その後サーバーをアクティブする際の起動順序によってアプリケーションの動作が変わってしまいます。
TA_SEQUENCE: 1 <= num < 10,000
TA_SEQUENCE属性を指定しないか、無効な値を指定してT_SERVERオブジェクトを追加すると、10,000以上で、かつその他の自動的に選択されたデフォルト値よりも大きい値が作成されます。サーバーは、tmboot()によってシーケンス番号の昇順で起動され、tmshutdown()によって降順で停止されます。この属性を実行時に変更すると、tmboot()とtmshutdown()にのみ反映され、実行中のサーバーが以降のtmshutdown()の呼出しによって停止される順序に影響します。
TA_SYSTEM_ACCESS: "{FASTPATH | PROTECTED}"
T_DOMAIN:TA_SYSTEM_ACCESSを参照してください。
TA_SYSTEM_ACCESSをPROTECTEDに設定しても、マルチスレッド・サーバーには効果がない場合があります。これは、あるスレッドがOracle Tuxedoコードを実行しているとき(つまりスレッドが掲示板にアタッチされているとき)に別のスレッドがユーザー・コードを実行できるからです。Oracle Tuxedoシステムでは、このような状況を回避することはできません。
TA_CONV: "{Y|N}"
TA_REPLYQ: "{Y | N}"
TA_REPLYQ == "Y")。応答を受信する必要のあるMSSQサーバーでは、この属性を"Y"に設定する必要があります。 | 注意: | Windows 2003システムでリダイレクトまたはパイプする場合は、TA_RCMD属性の説明の際に示した、いずれかの方法を使用する必要があります。 |
TA_RPPERM: 0001 <= num <= 0777
T_SERVER:TA_REPLYQ == "N")、TA_RPPERMは無視されます。 | 注意: | Windows 2003システムでリダイレクトまたはパイプする場合は、TA_RCMD属性の説明の際に示した、いずれかの方法を使用する必要があります。 |
TA_RQADDR: string[0..30]
TA_RQADDR属性値を指定すると、複数サーバー/単一キュー(MSSQ)セットを定義できます。TA_RQADDR属性値が同じサーバーは、同じサーバー・グループに属している必要があります。
TA_RQPERM: 0001 <= num <= 0777
TA_LMID: LMID
TA_GENERATION: 1 <= num < 32,768
TM_MIB(5)でアクティブにした場合、その世代は1に設定されます。サーバーが異常終了して再起動されるごとに世代がインクリメントされます。なお、世代がT_SERVER:TA_MAXGENを超え、T_SERVER:TA_GRACEの期限が切れると、サーバーが再起動されて世代が1にリセットされます。
TA_PID: 1 <= num
TA_RPID: 1 <= num
T_SERVER:TA_REPLYQ == "N")、TA_RPIDはT_SERVER:TA_RQIDと同じ値になります。UBBCONFIGファイルのEXALOGICオプションとRDMAオプションに指定されるとき、この値はOracle Tuxedoの内部識別子を示します。
TA_RQID: 1 <= num
T_SERVER:TA_REPLYQ == "N")、TA_RQIDはT_SERVER:TA_RPIDと同じ値になります。
TA_TIMERESTART: 1 <= num
TA_TIMESTART: 1 <= num
T_SERVER:TA_LMIDでtime(2)システム呼出しから返される1970年1月1日の00:00:00 UTCから、このサーバーが初めて起動された時点までの時間(単位は秒)。サーバーを再起動してもこの値はリセットされませんが、T_SERVER:TA_MAXGENを超え、T_SERVER:TA_GRACEの期限が切れると、この属性は再起動された時間にリセットされます。
TA_SICACHEENTRIESMAX: {"0"– "32767" | "DEFAULT"}
"0"にすると、このマシンではサービス・キャッシュが使用されなくなります。値を"DEFAULT"にした場合、このサーバーに対する値は対応するT_MACHINEクラスのエントリによって決まります。
TA_SEC_PRINCIPAL_NAME: string[0..511]
TA_SEC_PRINCIPAL_NAMEは、構成の階層のうち、T_DOMAINクラス、T_MACHINEクラス、T_GROUPクラス、およびT_SERVERクラスの4つのレベルのどこでも指定できます。特定の構成レベルでのプリンシパル名は、下位レベルでオーバーライドできます。TA_SEC_PRINCIPAL_NAMEがどのレベルでも指定されていない場合、アプリケーションのプリンシパル名にはこのドメインのTA_DOMAINID文字列がデフォルトで設定されます。 TA_SEC_PRINCIPAL_NAMEのほかにも、TA_SEC_PRINCIPAL_LOCATIONとTA_SEC_PRINCIPAL_PASSVARという属性があります。後の2つの属性は、アプリケーション起動時に、Oracle Tuxedo 7.1以降で動作するシステム・プロセスに対して復号化キーを開く処理に関係する属性です。特定のレベルでTA_SEC_PRINCIPAL_NAMEのみが指定されている場合には、それ以外の2つの属性に長さゼロのNULL文字列が設定されます。
TA_SEC_PRINCIPAL_LOCATION: string[0..1023]
walletを含むディレクトリの場所です。TA_SEC_PRINCIPAL_NAMEを含むディレクトリの場所です。指定されたプリンシプル名のOracle Walletはこのサブディレクトリに格納されます。
TA_SEC_PRINCIPAL_NAMEで指定されたプリンシパルの復号化(プライベート)キーを収めるファイルまたはデバイスの場所です。 この属性の最大文字数は、文字列の最後を表すNULL文字列を除いて1023文字です。 TA_SEC_PRINCIPAL_LOCATIONは、構成の階層のうち、T_DOMAINクラス、T_MACHINEクラス、T_GROUPクラス、およびT_SERVERクラスの4つのレベルのどこでも指定できます。この属性は、どのレベルで指定する場合でもTA_SEC_PRINCIPAL_NAME属性と対になっている必要があり、それ以外の場合には無視されます。(TA_SEC_PRINCIPAL_PASSVARは省略可能です。これが指定されていない場合、システムによって長さゼロのNULL文字列が設定されます。)
TA_SEC_PRINCIPAL_PASSVAR: string[0..31]
TA_SEC_PRINCIPAL_PASSVARは、構成の階層のうち、T_DOMAINクラス、T_MACHINEクラス、T_GROUPクラス、およびT_SERVERクラスの4つのレベルのどこでも指定できます。この属性は、どのレベルで指定する場合でもTA_SEC_PRINCIPAL_NAME属性と対になっている必要があり、それ以外の場合には無視されます。(TA_SEC_PRINCIPAL_LOCATIONは省略可能です。これが指定されていない場合、システムによって長さゼロのNULL文字列が設定されます。) 初期化時は、TA_SEC_PRINCIPAL_PASSVARに設定した復号化キーの各パスワードを管理者が入力する必要があります。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
TA_NUMCONV: 0 <= num
TA_NUMDEQUEUE: 0 <= num
TA_NUMENQUEUE: 0 <= num
TA_NUMPOST: 0 <= num
TA_NUMREQ: 0 <= num
TA_NUMSUBSCRIBE: 0 <= num
TA_NUMTRAN: 0 <= num
TA_NUMTRANABT: 0 <= num
TA_NUMTRANCMT: 0 <= num
TA_TOTREQC: 0 <= num
T_SERVER:TA_CONV == "Y")、この属性値は完了した着信会話数を示します。この実行時属性は、サーバーの再起動時には保持されますが、サーバーを停止すると失われます。
TA_TOTWORKL: 0 <= num
T_SERVER:TA_CONV == "Y")、この属性値は完了した着信会話の負荷を示します。この実行時属性は、サーバーの再起動時には保持されますが、サーバーを停止すると失われます。
TA_CLTLMID: LMID
T_SERVERCTXTクラスに含まれます。 リクエスト元のクライアントまたはサーバーとは、サーバーが現在実行しているサービスをリクエストしたプロセスです。このフィールドの値は、シングル・コンテキスト・サーバーに対してのみ有効です。マルチコンテキスト・サーバーの場合は、プレースホルダーとしてNULL文字列が返されます。
TA_CLTPID: 1 <= num
T_SERVERCTXTクラスに含まれます。 このフィールドの値は、シングル・コンテキスト・サーバーに対してのみ有効です。マルチコンテキスト・サーバーの場合は、プレースホルダーとして0が返されます。 制限事項: UNIXシステム固有の属性です。アプリケーションを実行しているプラットフォームがUNIXベースでない場合、この属性は返されないことがあります。
TA_CLTREPLY: "{Y | N}"
T_SERVERCTXTクラスに含まれます。 このフィールドの値は、シングル・コンテキスト・サーバーに対してのみ有効です。マルチコンテキスト・サーバーの場合は、プレースホルダーとしてNULL文字列が返されます。
TA_CMTRET: "{COMPLETE | LOGGED}"
T_SERVERCTXTクラスに含まれます。 この特性の詳細については、ATMI関数呼出しtpscmt()の説明を参照してください。このフィールドの値は、シングル・コンテキスト・サーバーに対してのみ有効です。マルチコンテキスト・サーバーの場合は、プレースホルダーとしてNULL文字列が返されます。
TA_CURCONV: 0 <= num
tpconnect()を使用して開始した会話のうち、現在もアクティブな会話の数。マルチコンテキスト・サーバーの場合、このフィールドはすべてのサーバー・コンテキストの合計を表します。個々のサーバー・コンテキストの値は、T_SERVERCTXTクラスにあります。
TA_CUROBJECTS: 0 <= num
TA_CURINTERFACE: string[0..128]
TA_CURREQ: 0 <= num
tpcall()またはtpacall()を使用して開始したリクエストのうち、現在もアクティブなリクエストの数。マルチコンテキスト・サーバーの場合、このフィールドはすべてのサーバー・コンテキストの合計を表します。個々のサーバー・コンテキストの値は、T_SERVERCTXTクラスにあります。
TA_CURRSERVICE: string[0. .127]
T_SERVERCTXTクラスに含まれます。 このフィールドの値は、シングル・コンテキスト・サーバーに対してのみ有効です。マルチコンテキスト・サーバーの場合は、プレースホルダーとして0が返されます。
TA_CURTIME: 1 <= num
T_SERVER:TA_LMIDでtime(2)システム呼出しから返される1970年1月1日の00:00:00 UTCから現在までの時間(単位は秒)。この属性は、T_SERVER:TA_TIMESTART属性値およびT_SERVER:TA_TIMERESTART属性値からの経過時間を算出するために使用できます。
TA_LASTGRP: 1 <= num < 30,000
T_SERVERCTXTクラスに含まれます。 このフィールドの値は、シングル・コンテキスト・サーバーに対してのみ有効です。マルチコンテキスト・サーバーの場合は、プレースホルダーとして0が返されます。
TA_SVCTIMEOUT: 0 <= num
T_SERVERCTXTクラスに含まれます。 アクティブなサービスに対して0を指定すると、タイムアウト処理は行われません。詳細は、T_SERVICE:TA_SVCTIMEOUTを参照してください。このフィールドの値は、シングル・コンテキスト・サーバーに対してのみ有効です。マルチコンテキスト・サーバーの場合は、プレースホルダーとして0が返されます。
TA_TIMELEFT: 0 <= num
T_SERVERCTXTクラスに含まれます。 タイムアウトは、トランザクション・タイムアウトまたはブロッキング・タイムアウトアウトです。 このフィールドの値は、シングル・コンテキスト・サーバーに対してのみ有効です。マルチコンテキスト・サーバーの場合は、プレースホルダーとして0が返されます。
TA_TIMELEFT_MSEC: 0 <= num
T_SERVERCTXTクラスに含まれます。 タイムアウトは、トランザクション・タイムアウトまたはブロッキング・タイムアウトアウトです。 このフィールドの値に意味があるのはシングルコンテキスト・サーバーのみです。マルチコンテキスト・サーバーの場合、プレースホルダーとして0が返されます。 TA_TIMELEFT_MSECが戻り値になるのは、TUXCONFIGのSCANUNITの単位がミリ秒の場合のみです。それ以外の場合は、TA_TIMELEFTが返されます。
TA_TRANLEV: 0 <= num
T_SERVERCTXTクラスに含まれます。値が0の場合は、サーバーが現在トランザクションに関与していないことを示します。このフィールドの値は、シングル・コンテキスト・サーバーに対してのみ有効です。マルチコンテキスト・サーバーの場合は、プレースホルダーとして0が返されます。
T_SERVERCTXTクラスは、アプリケーション内の各サーバー・ディスパッチ・コンテキストの構成属性と実行時属性を表します。このクラスは、シングル・コンテキスト・サーバーおよびマルチコンテキスト・サーバーの両方に対して定義されます。シングル・コンテキスト・サーバーでは、このクラスの値をT_SERVERクラスの一部として繰り返し使用します。T_SERVERCTXTクラスの属性は読取り専用です。
これらの属性値によって、各サーバー・ディスパッチ・コンテキストに関連する統計値やリソースを実行時に追跡することができます。
注1 T_SERVERCTXTクラスのすべての属性はローカル属性です。
TA_SRVGRP: string[1..30]
TA_SRVID: 1 <= num < 30,001
TA_CONTEXTID: 0 <= num < 30000
TA_CLTLMID: LMID
TA_CLTPID: 1 <= num
TA_CLTREPLY: "{Y | N}"
TA_CMTRET: "{COMPLETE | LOGGED}"
TA_CURCONV: 0 <= num
TA_CURREQ: 0 <= num
TA_CURRSERVICE: string[0..127]
TA_LASTGRP: 1 <= num < 30,000
TA_SVCTIMEOUT: 0 <= num
T_SERVICE:TA_SVCTIMEOUTを参照してください。
TA_TIMELEFT: 0 <= num
TA_TIMELEFT_MSEC: 0 <= num
TA_TIMELEFT_MSECが戻り値になるのは、TUXCONFIGのSCANUNITの単位がミリ秒の場合のみです。それ以外の場合は、TA_TIMELEFTが返されます。
TA_TRANLEV: 0 <= num
T_SERVICEクラスは、アプリケーション内のサービスの構成属性を表します。これらの属性値によって、構成済のサービスを識別できます。T_SERVICEオブジェクトは、T_SVCGRPクラスの一部として構成されていないサービスに対するアクティブ化時の構成属性を提供します。アプリケーション内でアクティブなサービスの実行時情報は、T_SVCGRPクラスでのみ取得可能です。T_SERVICEクラスを実行時に更新しても、通常はアクティブなT_SVCGRPオブジェクトには反映されません(TA_ROUTINGNAMEは例外です)。
T_SERVICEクラスおよびT_SVCGRPクラスは、アプリケーション内のサービス名に対するアクティブ化時の属性設定を定義します。サーバーを初めてアクティブにしたため、またはtpadvertise()を呼び出したために新たなサービスがアクティブ化(公開)されると、サービス開始時に使用する属性値は以下の順序で決定されます。
T_SVCGRPオブジェクトが存在する場合、公開されたサービスの初期構成には、このオブジェクトで定義された属性が使用されます。T_SERVICEオブジェクトが存在する場合、公開されたサービスの初期構成には、このオブジェクトで定義された属性が使用されます。TA_SERVICENAME属性値が一致する構成済のT_SVCGRPオブジェクトが見つかった場合、公開されたサービスの初期構成には、最初に見つかったオブジェクトが使用されます。 アプリケーション・サービスに対する構成属性の指定はすべて省略可能です。つまり、構成値を指定しない場合、サービスのアクティブ化時にサーバーが宣言したサービスには確立済のデフォルト・サービス値が使用されます(サービスのアクティブ化時に属性値を識別する方法については上記を参照のこと)。サーバーが提供するサービス名は実行時に作成されます(buildserver(1)を参照)。ただし、サーバー・オブジェクトに指定されたコマンドライン・オプションによってオーバーライドされる場合もあります(T_SERVER:TA_CLOPTおよびservopts(5)を参照)。
TA_SERVICENAME: string[1..127]
TA_STATE:
TA_AUTOTRAN: "{Y | N}"
"Y"を指定した場合)。制限事項: この属性を実行時に変更しても、アクティブなT_SVCGRPオブジェクトには反映されません。
TA_LOAD: 1 <= num < 32,768
T_SERVICEオブジェクトは、システムに対する負荷を設定します。サービスの負荷は、ロード・バランシングのために使用します。つまり、すでに負荷が大きいキューは、新規の要求ではあまり選択されません。サービスの負荷は、T_DOMAIN:TA_LDBAL属性値が"Y"に設定されている場合にのみ有効です。
TA_PRIO: 1 <= num < 101
TA_BLOCKTIME: 0 <= num < 32,768
UBBCONFIG RESOURCESセクションで指定されたシステム全体のBLOCKTIME値がサービスで使用されます。 制限事項:この属性を実行時に変更しても、アクティブなT_SVCGRPオブジェクトには反映されません。
TA_SVCTIMEOUT: 0 <= num
TA_TRANTIME: 0 <= num
T_SERVICEオブジェクト用に自動的に開始されたトランザクションのトランザクション・タイムアウト値(単位は秒)。サービスのT_SERVICE:TA_AUTOTRAN属性値が"Y"である場合に、トランザクション・モードでないリクエストを受信すると、トランザクションが自動的に開始されます。
TA_BUFTYPE: "type1[:subtype1[,subtype2 . . . ]][;type2[:subtype3[, . . . ]]] . . . "
FMLとFML32 (FMLバッファ用)、XML (XMLバッファ用)、VIEW、VIEW32、X_C_TYPEまたはX_COMMON (FML VIEW用)、STRING (NULLで終了する文字配列用)およびCARRAYまたはX_OCTET (送信時にエンコードもデコードもされない文字配列用)があります。これらのタイプのうち、VIEW、VIEW32、X_C_TYPE、およびX_COMMONにはサブタイプがあります。VIEWサブタイプは、サービスが期待する特定のVIEWの名前を指定します。アプリケーションのタイプとサブタイプも追加できます(tuxtypes(5)を参照)。サブタイプを持つバッファ・タイプでは、サブタイプに"*"を指定して、該当サービスが関連するバッファ・タイプのすべてのサブタイプを受け付けるようにできます。
tuxtypes(5)を参照)。TA_BUFTYPE属性値がALLに設定されている場合、そのサービスはそのバッファ・タイプ・スイッチにあるバッファ・タイプをすべて受け付けます。 タイプ名の長さは8文字以下、サブタイプ名の長さは16文字以下です。タイプ名とサブタイプ名にセミコロン、コロン、カンマ、アスタリスクは使用できません。 制限事項:この属性値は、このサービス名を持つアプリケーション・サービスの各インスタンスでサポートする必要のあるバッファ・タイプを表します。この属性値は、サービスのアクティブ化の際に処理されるため、一致するサービス名を持つアクティブなT_SVCGRPオブジェクトが存在しない場合にのみ更新できます。
TA_ROUTINGNAME: string[0..15]
TA_SIGNATURE_REQUIRED: "{Y | N}"
"Y"に設定すると、このサービスのすべてのインスタンスで、その入力メッセージ・バッファのデジタル署名が必要となります。指定しない場合、デフォルト値の"N"が設定されます。この属性は、Oracle Tuxedo 7.1以降が動作するアプリケーションにのみ適用されます。
TA_SIGNATURE_REQUIREDは、構成の階層のうち、T_DOMAINクラス、T_MACHINEクラス、T_GROUPクラス、およびT_SERVICEクラスの4つのレベルのどこでも指定できます。特定のレベルでSIGNATURE_REQUIREDにYを設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
TA_ENCRYPTION_REQUIRED: "{Y | N}"
"Y"に設定すると、このサービスのすべてのインスタンスで暗号化された入力メッセージ・バッファが必要となります。指定しない場合、デフォルト値の"N"が設定されます。この属性は、Oracle Tuxedo 7.1以降が動作するアプリケーションにのみ適用されます。
TA_ENCRYPTION_REQUIREDは、構成の階層のうち、T_DOMAINクラス、T_MACHINEクラス、T_GROUPクラス、およびT_SERVICEクラスの4つのレベルのどこでも指定できます。特定のレベルでTA_ENCRYPTION_REQUIREDにYを設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
TA_BUFTYPECONV:string[XML2FML32, XML2FML, NOCONVERT]
XML2FML32値は、XMLからFML32への変換を開始します。XML2FML値は、XMLからFMLへの変換を開始します。NOCONVERT値は、変換が行われないことを示します。 制限事項: この属性を実行時に変更しても、アクティブなT_SVCGRPオブジェクトには反映されません。
TA_AFFINITYROLE
TA_AFFINITYROLEパラメータを使用すると、サーバー側のアフィニティでATMIサービス・セッション・ロールを構成できます。固有のロールは、BEGIN、ENDおよびNONEです。デフォルト値はNONEです。
BEGINを使用してサービスを呼び出すと、新しいセッションが開始され、クライアント側で対応するアフィニティ・コンテキストが作成されます。クライアントが以前のセッションに関与している場合、サービス・ロールはNONEとして処理されます。
ENDを使用してサービスを呼び出すと、セッションが終了し、対応するクライアント側のアフィニティ・コンテキストがクリアされます。クライアントが以前のセッションに関与していない場合、サービス・ロールはNONEとして処理されます。
TA_AFFINITYSCOPE
TA_AFFINITYSTRICT
TA_AFFINITYSTRICTパラメータは、MANDATORYおよびPRECEDENTの2つの厳密性レベルを定義します。TA_AFFINITYSTRICTが設定されていない場合、デフォルト値はMANDATORYです。
TPENOENTを使用してリクエストは失敗します。
PRECEDENTを使用すると、フェイルオーバーを実装できます。
T_SVCGRPクラスは、アプリケーション内のサービスまたはグループの構成属性と実行時属性を表します。これらの属性値によって、構成済のサービスやグループを識別したり、各オブジェクトに関連する統計値やリソースを実行時に追跡したりできます。
T_SERVICEクラスおよびT_SVCGRPクラスは、アプリケーション内のサービス名に対するアクティブ化時の属性設定を定義します。サーバーを初めてアクティブにしたため、またはtpadvertise()を呼び出したために新たなサービスがアクティブ化(公開)されると、サービス開始時に使用する属性値は以下の順序で決定されます。
T_SVCGRPオブジェクトが存在する場合、公開されたサービスの初期構成には、このオブジェクトで定義された属性が使用されます。T_SERVICEオブジェクトが存在する場合、公開されたサービスの初期構成には、このオブジェクトで定義された属性が使用されます。TA_SERVICENAME属性値が一致する構成済のT_SVCGRPオブジェクトが見つかった場合、公開されたサービスの初期構成には、最初に見つかったオブジェクトが使用されます。 アプリケーション・サービスに対する構成属性の指定はすべて省略可能です。つまり、構成値を指定しない場合、サービスのアクティブ化時にサーバーが宣言したサービスには確立済のデフォルト・サービス値が使用されます(サービスのアクティブ化時に属性値を識別する方法については上記を参照のこと)。サーバーが提供するサービス名は実行時に作成されます(buildserver(1)を参照)。ただし、サーバー・オブジェクトに指定されたコマンドライン・オプションによってオーバーライドされる場合もあります(T_SERVER:TA_CLOPTおよびservopts(5)を参照)。
いったんT_SVCGRPオブジェクトがアクティブになると、T_SVCGRPクラスでのみ表現されるようになります。サービスを提供するグループ内に複数のサーバーがある場合、特定のサービス名/グループ名の組合せは、実行時に複数のT_SVCGRPクラスに関連付けられます。
注1アドレス指定するオブジェクトをユニークに識別するには、このクラスでのSET操作で十分なキー・フィールドを指定する必要があります。オブジェクトがアクティブな場合は、TA_RQADDRまたはTA_SRVIDを指定したTA_SERVICENAMEまたはTA_SRVGRPキー・フィールドを追加する必要があります。アクティブなオブジェクトを変更すると、そのオブジェクト、および関連する構成レコードに反映されますが、同じ構成レコードから実行時属性を生成した他のアクティブ・オブジェクトには反映されません。
注2この属性値を指定しない場合は、デフォルトでTA_SERVICENAMEとなります。
TA_SERVICENAME: string[1..127]
TA_SRVGRP: string[1..30]
T_SVCGRPの概要を参照してください。
TA_GRPNO: 1 <= num < 30,000
TA_STATE:
SET操作は、選択したT_SVCGRPオブジェクトの構成情報および実行時情報を更新します。サービス・オブジェクトを実行時に変更すると、複数のアクティブなサーバーに反映される場合がありますので注意してください。以下に示す状態は、SETリクエストで設定されるTA_STATEの意味を示します。これ以外の状態を設定することはできません。
TA_AUTOTRAN: "{Y | N}"
TA_LOAD: 1 <= num < 32,768
T_SVCGRPオブジェクトは、システムに対する負荷を設定します。サービスの負荷は、ロード・バランシングのために使用します。つまり、すでに負荷が大きいキューは、新規の要求ではあまり選択されません。
TA_PRIO: 1 <= num < 101
TA_BLOCKTIME: 0 <= num < 32,768
TA_SVCTIMEOUT: 0 <= num
TA_TRANTIME: 0 <= num
T_SVCGRPオブジェクト用に自動的に開始されたトランザクションのトランザクション・タイムアウト値(単位は秒)。サービスのT_SVCGRP:TA_AUTOTRAN属性値が"Y"である場合に、トランザクション・モードでないリクエストを受信すると、トランザクションが自動的に開始されます。
TA_LMID: LMID
TA_RQADDR: string[1..30]
TA_SRVID: 1 <= num < 30,001
TA_SVCRNAM: string[1..127]
SETリクエスト時、サーバーがそのシンボル表を使用して関数名を関数にマップし、正常にサービスを公開できなければなりません。状況によっては(たとえば、サーバーで直接tpadvertise()を呼び出す場合)、ACTiveなサービス・オブジェクトの関数名は不明となり、属性値として文字列"?"が戻されます。
TA_BUFTYPE: string[1..256]
TA_ROUTINGNAME: string[0..15]
TA_SVCTYPE: "{APP | CALLABLE | SYSTEM}"
APPは、アプリケーション定義のサービス名を示します。CALLABLEは、システム提供の呼出し可能サービスを示します。SYSTEMは、システム提供でシステム呼出し可能なサービスを示します。SYSTEMサービスは、アプリケーション・クライアントおよびサーバーから直接アクセスすることはできません。GETキー・フィールドとして使用する場合は、'|'デリミタで区切られたリストを使用して、1つのリクエストに対するサービス・グループ・エントリの複数のタイプを検索できます。デフォルトでは、APPサービスのみが検索されます。
T_DOMAIN:TA_LDBAL属性値が"Y"に設定されている場合にのみ戻されます。
TA_AFFINITYROLE
TA_AFFINITYROLEパラメータを使用すると、サーバー側のアフィニティでATMIサービス・セッション・ロールを構成できます。固有のロールは、BEGIN、ENDおよびNONEです。デフォルト値はNONEです。
BEGINを使用してサービスを呼び出すと、新しいセッションが開始され、クライアント側で対応するアフィニティ・コンテキストが作成されます。クライアントが以前のセッションに関与している場合、サービス・ロールはNONEとして処理されます。
ENDを使用してサービスを呼び出すと、セッションが終了し、対応するクライアント側のアフィニティ・コンテキストがクリアされます。クライアントが以前のセッションに関与していない場合、サービス・ロールはNONEとして処理されます。
TA_AFFINITYSCOPE
TA_AFFINITYSTRICT
TA_AFFINITYSTRICTパラメータは、MANDATORYおよびPRECEDENTの2つの厳密性レベルを定義します。TA_AFFINITYSTRICTが設定されていない場合、デフォルト値はMANDATORYです。
TPENOENTを使用してリクエストは失敗します。
PRECEDENTを使用すると、フェイルオーバーを実装できます。
TA_NCOMPLETED: 0 <= num
TA_NQUEUED: 0 <= num < 32,768
T_TLISTENクラスは、分散アプリケーションで使用するOracle Tuxedoシステムのリスナー・プロセスの実行時属性を表します。
TA_LMID: LMID
TA_STATE:
このクラスは、tpadmcall()インタフェースでは利用できません。
T_TLOGクラスは、トランザクション・ログの構成属性と実行時属性を表します。このクラスを使用すると、アプリケーション内のログの作成、削除、移行などを実行できます。
注1 T_TLOGクラスのすべての属性はローカル属性です。
注2 T_TLOGクラスの各オブジェクトで、1つ以上のTA_GRPNO属性およびTA_TLOGDATA属性が返されます。特定のオブジェクトに属する各属性の値は、TA_TLOGINDEXで始まるTA_TLOGCOUNTのオカレンス数です。
TA_LMID: LMID
TA_STATE:
トランザクション・ログが存在しますが、現在は非アクティブです。 この状態は、関連のある
T_MACHINEオブジェクトが非アクティブであることを意味し、サイトでtlisten(1)プロセスを実行中の場合にのみ返されます。それ以外の場合、サイトは接続不可能で、オブジェクトは返されません。
|
|
SET操作は、選択したT_TLOGオブジェクトの構成情報および実行時情報を更新します。以下に示す状態は、SETリクエストで設定されるTA_STATEの意味を示します。これ以外の状態を設定することはできません。
TA_TLOGCOUNT: 1 <= num
TA_TLOGDATA)の数。この属性は、状態変更を指定したSET操作では無視されます。状態変更を指定しない有効なSET操作の場合、この属性はアクティブなトランザクション・ログに追加されるログ・レコードの数を示します。TA_GRPNOまたはTA_TLOGDATAを指定しないGET操作は、使用中のログ・レコードの数を戻します。TA_GRPNOのみを設定したGET操作は、使用中のログ レコードの数と、指定したグループに対応するコーディネータ・グループを戻します。TA_TLOGDATAのみが("")に設定されたGET操作は、使用中のログ・レコードの数を戻し、これらのログ・レコードに対応するTA_TLOGDATAおよびTA_GRPNO属性値の配列を設定します。TA_GRPNOとTA_TLOGDATAの両方が("")に設定されたGET操作は、使用中のログ・レコードの数と、指定されたグループに一致するコーディネータ・グループを戻し、これらのログ・レコードに対応するTA_TLOGDATAおよびTA_GRPNO属性値の配列を設定します。
TA_TLOGINDEX: 0 <= num
TA_GRPNO: 1 <= num < 30,000
TA_TLOGDATA: string[1..256]
T_TRANSACTIONクラスは、アプリケーション内のアクティブなトランザクションの実行時属性を表します。
注1 T_TRANSACTIONクラスのすべての属性はローカル属性です。
注2 T_TRANSACTIONクラスの各オブジェクトで、1つ以上のTA_GRPNO属性およびTA_GSTATE属性が返されます。特定のオブジェクトに属する各属性の値は、TA_GRPINDEXで始まるTA_GRPCOUNTのオカレンス数です。
TA_COORDLMID: LMID
TA_LMID: LMID
TA_TPTRANID: string[1..78]
TA_XID: string[1..78]
TA_STATE:
GET操作は、選択したT_TRANSACTIONオブジェクトの実行時情報を検索します。次に示す状態は、GETリクエストに応えて返されるTA_STATEの意味を示します。同一のグローバル・トランザクションに付属する別個のオブジェクトは、トランザクション識別子は同じですが状態は異なることがあります。一般的に、コーディネータ・サイトで示される状態(TA_COORDLMID)がトランザクションの本当の状態です。例外は、コーディネータ・サイト以外のサイトが、トランザクションの状態をABortonlYに遷移させる条件を通知した場合です。この遷移は、最終的にはコーディネータ・サイトに伝播され、トランザクションがロールバックされます。ただし、この変更がすぐにはコーディネータ・サイトに反映されないこともあります。すべての状態は、パーミッションの決定においてはACTiveと同等です。
SET操作は、選択したT_TRANSACTIONオブジェクトの実行時情報を更新します。以下に示す状態は、SETリクエストで設定されるTA_STATEの意味を示します。これ以外の状態を設定することはできません。
TA_TIMEOUT: 1 <= num
TA_GRPCOUNT: 1 <= num
TA_GRPINDEX: 1 <= num
TA_GRPNO: 1 <= num < 30,000
TA_GSTATE:
GET操作は、指定グループに付属するT_TRANSACTIONオブジェクトのうち、選択したオブジェクトの実行時情報を検索します。以下に示す状態は、GETリクエストに応えて返されるTA_GSTATEの意味を示します。これら以外の状態は返されません。同一のグローバル・トランザクションに付属する別個のオブジェクトは、トランザクション識別子は同じですが、個別のグループの状態は異なることがあります。一般的に、グループのサイトで示される状態が、トランザクションに参加しているグループの本当の状態です。例外は、コーディネータ・サイトがトランザクションをアボートすることを決定し、各参加リソース・グループの状態をABorteDに設定した場合です。この遷移はグループのサイトに伝播され、トランザクション内のグループの作業がロールバックされます。ただし、すぐには反映されないことがあります。
SET操作は、選択したT_TRANSACTIONオブジェクト内で送信されたリクエストの最初のグループの実行時情報を更新します。以下に示す状態は、SETリクエストで設定されるTA_GSTATEの意味を示します。これ以外の状態を設定することはできません。状態遷移は、グループのサイトを表すオブジェクト(TA_LMID)内で実行される場合にのみ可能です。
T_ULOGクラスは、アプリケーション内のuserlog()ファイルの実行時属性を表します。
注2 TA_LMIDは、システムがどのアプリケーション・ログ・ファイルにアクセスするかを決定する際に必要なフィールドです。返されたレコードを、指定したマシン上で動作するプロセスから生成されたレコードに限定するために使用するのではありません。ネットワーク接続されたファイル・システムを使用して複数のマシンがログ・ファイルを共有する場合、キー・フィールドとして特定の値を指定しても、複数のTA_LMID値が返されます。同様の理由で、TA_PMIDはリクエストを特定のマシンに指定する際に考慮されるではなく、どのレコードを返すか決定するために使用されます。この条件下では、TA_PMIDを正規表現のキー・フィールドとして使用すると便利です。
TA_LMID: LMID
TA_PMID: string[1..30]
TA_MMDDYY: mmddyy
TA_STATE:
TA_ULOGTIME: hhmmss
TA_ENDTIME: hhmmss
TA_ULOGLINE: 1 <= num
TA_ULOGMSG: string[1..256]
TA_TPTRANID: string[1..78]
tpsuspend()から返されたトランザクション識別子。等号比較の場合を除き、ユーザーはこのフィールドのデータを直接解釈することはできません。トランザクションに関連付けられていないメッセージでは、この属性値として長さが0の文字列が検索されます。
TA_XID: string[1..78]
tx_info()から返されたトランザクション識別子。等号比較の場合を除き、ユーザーはこのフィールドのデータを直接解釈することはできません。トランザクションに関連付けられていないメッセージでは、この属性値として長さが0の文字列が検索されます。
TA_PID: 1 <= num
TA_THREADID: 0 <= num
TA_CONTEXTID: -2 <= num < 30,000
TA_SEVERITY: string[1..30]
TA_ULOGCAT: string[1..30]
TA_ULOGMSGNUM: 1 <= num
TA_ULOGPROCNM: string[1..30]
検索は、対応するT_MACHINEオブジェクトもACTiveである場合にのみ行われます。
このクラスの検索は、TA_LMIDを指定して指示する必要があります。ワークステーション・クライアントが書き込んだログ・レコードの検索は、クライアントが使用したログ・ファイルが、当該アプリケーションのT_MACHINEクラスで定義されたマシンの1つで共有されている場合のみ利用可能です。それ以外の場合、このクラスではログ・レコードを使用できません。
このクラスに対する検索が正常に完了しなかった場合は、常に値が1のTA_MOREが返されます。この値は、送信されたリクエストに関する情報が他にも存在することのみを示します。
TM_MIB(5)への接続時には、2つの一般的なタイプのエラーがユーザーに返される場合があります。1つは、管理リクエストに対するレスポンスを検索する3つのATMI関数(tpcall()、tpgetrply()、およびtpdequeue())が返すエラーです。これらのエラーは、該当するリファレンス・ページの記述に従って解釈されます。
ただし、リクエストがその内容に対応できるシステム・サービスに正常にルーティングされても、システム・サービス側でそのリクエストを処理できないと判断されると、アプリケーション・レベルのサービス障害としてエラーが返されます。このような場合、tpcall()とtpcall()は、tpgetrply()をTPESVCFAILに設定してエラーを返し、以下のようにエラーの詳細を示すTA_ERROR、TA_STATUS、およびTA_BADFLDフィールドと一緒に、元のリクエストを含む応答メッセージを返します。TMQFORWARD(5)サーバー経由でシステムに転送されたリクエストに対してサービス障害が発生すると、元のリクエストで識別される異常終了キューに障害応答メッセージが追加されます(TMQFORWARDに対して-dオプションが指定されたとみなされる)。
管理リクエストの処理中にサービス・エラーが発生すると、TA_STATUSというFML32フィールドにエラーの内容を説明したテキストが設定され、TA_ERRORというFML32フィールドにはエラーの原因(下記参照)を示す値が設定されます。エラー・コードは、いずれも負数であることが保証されています。
other]
MIB(5)リファレンス・ページに指定されています。これらのエラーは、ここに定義するTM_MIB(5)固有のエラー・コードと相互に排他関係にあることが保証されています。
以下の診断コードはTA_ERRORで戻されるもので、管理リクエストが正常に完了したことを示します。これらのコードは負数でないことが保証されています。
other]
MIB(5)リファレンス・ページに指定されています。これらのコードは、ここに定義するTM_MIB(5)固有の戻りコードと相互に排他関係にあることが保証されています。
このリファレンス・ページで定義されているヘッダー・ファイルおよびフィールド表は、Oracle Tuxedoリリース6.1以降で利用できます。これらのヘッダーや表で定義するフィールドはリリースが変わっても変更されません。ただし、以前のリリースで定義されていない新しいフィールドが追加される場合があります。AdminAPIには、リクエストを作成するために必要なヘッダー・ファイルとフィールド表があれば、どのサイトからでもアクセスできます。
リリースが異なるサイト(共にOracle Tuxedoリリース6.1以降)を相互運用する場合、当該リリースのMIBリファレンス・ページに定義されるように、旧サイト上の情報はアクセスおよび更新可能で、以降のリリースで利用可能な情報のサブセットとなります。
Oracle TuxedoシステムのMIBを使用した管理作業をサポートするために必要な既存のFML32およびATMI関数、さらにこのリファレンス・ページに定義するヘッダー・ファイルとフィールド表は、すべてのサポート対象ネイティブ・プラットフォームとワークステーション・プラットフォームで使用可能です。
このセクションでは、tpadmcall()とtpcall()を使用して2つのノードを持つアプリケーションを構成、アクティブ化、問合せ、および非アクティブ化するためのコードを抜粋しています。ローカル環境に応じて値が変わる部分には変数名を使用します。たとえば、TUXCONFIGは2つの要素からなる文字ポインタの配列で、それぞれ要素によってマシン上のTUXCONFIGファイルの絶対パス名を識別します。
属性フィールド識別子にアクセスするには、フィールド表tpadmが必要です。そのためには、次のようにシェルで入力します。
$ FIELDTBLS=tpadm
$ FLDTBLDIR=${TUXDIR}/udataobj
$ export FIELDTBLS FLDTBLDIR
#include <atmi.h>
#include <fml32.h>
#include <tpadm.h>
${TUXDIR}/lib/libtmib.a, ${TUXDIR}/lib/libqm.a,
${TUXDIR}/lib/libtmib.so.<rel>, ${TUXDIR}/lib/libqm.so.<rel>,
${TUXDIR}/lib/libtmib.lib buildclientを使用するときには、ライブラリを手動でリンクする必要があります。この場合は、-L${TUXDIR}/lib -ltmib -lqmを指定する必要があります。
以下のコードでは、FML32バッファを作成して設定しています。このFML32バッファは、処理のためにtpadmcall()に渡されます。この例ではさらに、tpadmcall()の戻りコードの解釈を示しています。ここで示すリクエストにより、アプリケーションの初期構成が作成されます。
/* Allocate and initialize the buffer */
ibuf = (FBFR32 *)tpal loc("FML32", NULL, 4000);
obuf = (FBFR32 *)tpalloc("FML32", NULL, 4000);
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* Set TM_MIB(5) attributes to be set in T_DOMAIN class object */
Fchg32(ibuf, TA_OPTIONS, 0, "LAN,MIGRATE", 0);
Fchg32(ibuf, TA_IPCKEY, 0, (char *)&ipckey, 0);
Fchg32(ibuf, TA_MASTER, 0, "LMID1", 0);
Fchg32(ibuf, TA_MODEL, 0, "MP", 0);
/* Set TM_MIB(5) attributes for TA_MASTER T_MACHINE class object */
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
Fchg32(ibuf, TA_PMID, 0, pmid[0], 0);
Fchg32(ibuf, TA_TUXCONFIG, 0, tuxconfig[0], 0);
Fchg32(ibuf, TA_TUXDIR, 0, tuxdir[0], 0);
Fchg32(ibuf, TA_APPDIR, 0, appdir[0], 0);
Fchg32(ibuf, TA_ENVFILE, 0, envfile[0], 0);
Fchg32(ibuf, TA_ULOGPFX, 0, ulogpfx[0], 0);
Fchg32(ibuf, TA_BRIDGE, 0, "/dev/tcp", 0);
Fchg32(ibuf, TA_NADDR, 0, naddr[0], 0);
Fchg32(ibuf, TA_NLSADDR, 0, nlsaddr[0], 0);
/* Perform the action via tpadmcall() */
if (tpadmcall(ibuf, obuf, 0) 0) {
fprintf(stderr, "tpadmcall failed: %s\n", tpstrerror(tperrno));
/* Additional error case processing */
}
以下のコードでは、前のセクションで割り当てたバッファを再利用してリクエスト・バッファを作成しています。以下に示すリクエストにより、先に確立した構成に別のマシンが追加されます。
/* Clear the request buffer */ Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* Set TM_MIB(5) attributes to be set in T_MACHINE class object */
Fchg32(ibuf, TA_LMID, 0, "LMID2", 0);
Fchg32(ibuf, TA_PMID, 0, pmid[1], 0);
Fchg32(ibuf, TA_TUXCONFIG, 0, tuxconfig[1], 0);
Fchg32(ibuf, TA_TUXDIR, 0, tuxdir[1], 0);
Fchg32(ibuf, TA_APPDIR, 0, appdir[1], 0);
Fchg32(ibuf, TA_ENVFILE, 0, envfile[1], 0);
Fchg32(ibuf, TA_ULOGPFX, 0, ulogpfx[1], 0);
Fchg32(ibuf, TA_BRIDGE, 0, "/dev/tcp", 0);
Fchg32(ibuf, TA_NADDR, 0, naddr[1], 0);
Fchg32(ibuf, TA_NLSADDR, 0, nlsaddr[1], 0);
tpadmcall(...) /* See earlier example for detailed error processing */
既存のバッファを再利用して、新たに構成した2つ目のマシンをこのアプリケーションのバックアップ・マスター・サイトとして識別します。
/* Clear the request buffer */ Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
/* Set TM_MIB(5) T_DOMAIN attributes changing *
Fchg32(ibuf, TA_MASTER, 0, "LMID1,LMID2", 0);
tpadmcall(...); /* See earlier example for detailed error processing */
バッファを再利用して、構成済のアプリケーションにサーバー・グループを1つずつ追加するリクエストを2つ作成します。2つ目のリクエストは、単に既存の入力バッファの必要なフィールドを変更するためのものです。
/* Clear the request buffer */ Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_GROUP", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* Set TM_MIB(5) attributes defining first group */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_GRPNO, 0, (char *)&grpno[0], 0);
Fchg32(ibuf, TA_LMID, 0, "LMID1,LMID2", 0);
tpadmcall(...); /* See earlier example for detailed error processing */
/* Set TM_MIB(5) attributes defining second group */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP2", 0);
Fchg32(ibuf, TA_GRPNO, 0, (char *)&grpno[1], 0);
Fchg32(ibuf, TA_LMID, 0, "LMID2,LMID1", 0);
tpadmcall(...); /* See earlier example for detailed error processing */
割当て済のバッファを再利用し、グループごとに1つのサーバーを構成済のアプリケーションに追加します。
/* Clear the request buffer */ Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVER", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* Set TM_MIB(5) attributes defining first server */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&srvid[0], 0);
Fchg32(ibuf, TA_SERVERNAME, 0, "ECHO", 0)
tpadmcall(...); /* See earlier example for detailed error processing */
/* Set TM_MIB(5) attributes defining second server */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP2", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&srvid[1], 0);
tpadmcall(...); /* See earlier example for detailed error processing */
ルーティング基準の定義を追加します。ルーティング基準は、tpcall()インタフェースを使用して同様の操作を行うことで、動作中のアプリケーションに動的に追加することもできます。
/* Clear the request buffer */ Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_ROUTING", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* Set TM_MIB(5) attributes defining routing criteria */
Fchg32(ibuf, TA_ROUTINGNAME, 0, "ECHOROUTE", 0);
Fchg32(ibuf, TA_BUFTYPE, 0, "FML", 0);
Fchg32(ibuf, TA_FIELD, 0, "LONG_DATA", 0);
Fchg32(ibuf, TA_RANGES, 0, "MIN-100:GRP1,100-MAX:GRP2", 26);
tpadmcall(...); /* See earlier example for detailed error processing */
上記で定義したルーティング基準に、公開されたサービス名をマップするサービス・オブジェクトを定義します。
/* Clear the request buffer */ Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVICE", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* Set TM_MIB(5) attributes defining service entry */
Fchg32(ibuf, TA_SERVICENAME, 0, "ECHO", 0);
Fchg32(ibuf, TA_ROUTINGNAME, 0, "ECHOROUTE", 0);
tpadmcall(...); /* See earlier example for detailed error processing */
T_DOMAINクラス・オブジェクトの状態をACTIVEに設定して、マスター・サイトの管理プロセス(DBBL、BBL、BRIDGE)をアクティブにします。
/* Clear the request buffer */ Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "ACT", 0);
tpadmcall(...); /* See earlier example for detailed error processing */
これでアプリケーションがアクティブになりました。次は、アプリケーションに参加して、tpcall()インタフェースを使用してAdminAPIリクエストを作成します。
/* Now that the system is active, join it as the administrator */ tpinfo = (TPINIT *)tpalloc("TPINIT", NULL, TPINITNEED(0));
sprintf(tpinfo->usrname, "appadmin");
sprintf(tpinfo->cltname, "tpsysadm");
if (tpinit(tpinfo) < 0) {
fprintf(stderr, "tpinit() failed: %s\n", tpstrerror(tperrno));
/* Additional error case processing */
}
/* Reinitialize buffers as typed buffers */
Finit32(ibuf, Fsizeof32(ibuf));
Finit32(obuf, Fsizeof32(obuf)); アプリケーションの残り部分をアクティブにします。管理者ユーザーは、リクエストのTA_FLAGS属性にあるTMIB_NOTIFYフラグを設定して、各サーバーを起動しようとする直前または直後に非請求メッセージを送信するようリクエストします。この例では、tpcall()からのエラー戻りの処理を示しています。
/* Clear the request buffer */ Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_STATE, 0, "RAC", 0);
/* Set TM_MIB(5) attributes identifying machine */
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
/* Invoke the /AdminAPI and interpret results */
if (tpcall(".TMIB", (char *)ibuf, 0, (char **)&obuf, &olen, 0) < 0) {
fprintf(stderr, "tpcall failed: %s\n", tpstrerror(tperrno));
if (tperrno == TPESVCFAIL) {
Fget32(obuf,TA_ERROR,0,(char *)&ta_error,NULL);
ta_status = Ffind32(obuf, TA_STATUS, 0, NULL);
fprintf(stderr, "Failure: %ld, %s\n",
ta_error, ta_status);
/* Additional error case processing */
}
アクティブなサーバーのステータスに関する問合せを生成します。
/* Clear the request buffer */ Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "GET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVER", 0);
flags = MIB_LOCAL;
Fchg32(ibuf, TA_FLAGS, 0, (char *)&flags, 0);
/* Set TM_MIB(5) attributes identifying machine */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&srvid[0], 0);
tpcall(...); /* See earlier example for detailed error processing */
各マシンの状態をINACTIVEに設定してアプリケーションを非アクティブ化します。この操作でもTMIB_NOTIFYフラグを使用できます。
/* Clear the request buffer */ Finit32(ibuf, Fsizeof32(ibuf));
/* Shutdown Remote Machine First */
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_LMID, 0, "LMID2", 0);
Fchg32(ibuf, TA_STATE, 0, "INA", 0);
tpcall(....); /* See earlier example for detailed error processing */
/* And now application servers on master machine *
flags = TMIB_APPONLY;
Fchg32(ibuf, TA_FLAGS, 0, (char *)&flags, 0);
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
tpcall(...); /* See earlier example for detailed error processing */
/* Terminate active application access */
tpterm();
/* Finally, shutdown the master admin processes */
Finit32(ibuf, Fsizeof32(ibuf));
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "INA", 0);
tpadmcall(...); /* See earlier example for detailed error processing */
${TUXDIR}/include/tpadm.h, ${TUXDIR}/udataobj/tpadm tpacall(3c)、tpalloc(3c)、tpcall(3c)、tpdequeue(3c)、tpenqueue(3c)、tpgetrply(3c)、tprealloc(3c)、「FML関数の紹介」、Fadd, Fadd32(3fml)、Fchg、Fchg32(3fml)、Ffind、Ffind32(3fml)、MIB(5)、WS_MIB(5)
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
『FMLを使用したTuxedoアプリケーションのプログラミング』
FactoryFinderおよびサポートするNameManagerサービスを実行するサーバー
TMFFNAME SRVGRP="identifier" SRVID="number"
[CLOPT="[-A] [servopts options]
[-- [-F ] [-N | -N – M [-f filename]]]"]
TMFFNAMEはOracle Tuxedoが提供するサーバーで、FactoryFinderおよびサポートするNameManagerサービス(アプリケーションが提供する名前とオブジェクト参照とのマッピングを管理する)を実行します。
-A
-F
-N
– M
-f filename
FactoryFinderサービスはCORBAから派生したサービスです。このサービスは、アプリケーション固有の検索基準に対応するアプリケーション・ファクトリの検出機能をクライアント・アプリケーションに提供します。FactoryFinder APIの詳細は、『Oracle Tuxedo CORBAプログラミング・リファレンス』を参照してください。ファクトリの登録および登録解除の詳細は、『Oracle Tuxedo CORBAサーバー・アプリケーションの作成』を参照してください。CLOPT でサービスが指定されていない場合、FactoryFinderサービスが「デフォルト」のサービスになります。
NameManagerは、アプリケーションが提供する名前とオブジェクト参照とのマッピングを管理するOracle Tuxedo固有のサービスです。このサービスの用途の1つとして、アプリケーション・ファクトリ名とオブジェクト参照間の対応関係を示すリストを維持することが挙げられます。NameManagerサービスは、-Mオプションを使用してマスター・ロールとして起動できます。-Mオプションを指定しない場合、NameManagerはスレーブになります。スレーブのNameManagerはマスターから更新データを取得します。1つのアプリケーションでマスターとして指定できるNameManagerは1つだけです。
マスターNameManagerは、リモート・ドメインにあるファクトリ・オブジェクトをローカル・ドメインでアクセスできるように構成できます。また、ローカル・ドメインにあるファクトリ・オブジェクトをリモート・ドメインからアクセスできるように構成することもできます。これらの構成はいずれも、FactoryFinder Domains構成ファイル、factory_finder.iniで指定します。
factory_finder.iniファイルの場所は、マスターNameManagerの-fコマンドライン・オプションで指定します。-fオプションを指定してもfactory_finder.iniファイルが見つからない場合、マスターNameManagerの初期化が失敗します。-fオプションを指定しない場合、ローカル・アプリケーションからはローカルに登録されたファクトリ・オブジェクトにしかアクセスできず、リモート・ドメイン内のアプリケーションからはローカル・ファクトリ・オブジェクトにアクセスできません。
| 注意: | 同じサービスを実行するTMFFNAMEプロセスを1つまたは複数起動できます。信頼性を高めるには、異なるマシンで少なくとも2つ以上のNameManagerサービスを構成する必要があります。 |
TMFFNAMEサーバーは、Oracle Tuxedo 4.0以降のソフトウェアで動作します。
アプリケーションのUBBCONFIG (TMFFNAME -N)で構成されているNameManagerサービスが2つに満たない場合、サーバーは起動中に終了し、ユーザー・ログにエラー・メッセージを書き込みます。
アプリケーションのUBBCONFIGファイルで構成されていないマスターNameManagerサービスがスレーブNameManagerサービスの開始時に実行されていると、サーバーは起動中に終了し、ユーザー・ログにエラー・メッセージを書き込みます。また、マスターがダウンしている場合は、マスターが再起動するまでファクトリを登録および登録解除できません。
TMSYSEVTサーバーがアプリケーションのUBBCONFIGファイルで構成されておらず、NameManagerサービスの開始時に実行されていない場合、サーバーは起動中に終了し、ユーザー・ログにエラー・メッセージを書き込みます。
NameManagerサービスがアプリケーションのUBBCONFIGファイルで構成されていない場合にFactoryFinderサービスが開始されると、サーバーは起動中に終了し、ユーザー・ログにエラー・メッセージを書き込みます。
MP構成を実行している場合、すべてのネーム・マネージャ(TMFFNAME -N)を起動してからスレーブ・イベント・サービス・サーバー(TMSYSEVT -S)を起動するように構成する必要があります。マスターTMSYSEVTは、ネーム・マネージャの前に起動する必要があります。スレーブTMSYSEVTがネーム・マネージャの前に起動した場合、スレーブ・ネーム・マネージャはマスター・ネーム・マネージャによって送信される更新イベントを受信できない場合があります。この場合、クライアントによってはファクトリ・ファインダを検索するときにNoFactory例外が発生したり、ファクトリ・ファインダが登録されていないファクトリ・オブジェクトを返したり(この結果、呼出し時にNO_IMPLEMENTなどの例外が発生する)、予期しないロード・バランシング処理が行われたりする可能性があります。
スレーブ・ネーム・マネージャを停止してから再起動し、ファクトリを登録(または登録解除)するカスタムCORBAサーバーを起動(または停止)する場合、最初にカスタム・サーバーを起動(または停止)するか、すべてのスレーブTMSYSEVTに対して設定されている最長ポーリング時間にわたって待機します。-pオプションを使用しない場合のデフォルト値は30秒です。
*SERVERS
TMSYSEVT SRVGRP=ADMIN1 SRVID=44 RESTART=Y
CLOPT="-A"
TMFFNAME SRVGRP=ADMIN1 SRVID=45 RESTART=Y
CLOPT="-A -- -F"
TMFFNAME SRVGRP=ADMIN1 SRVID=46 RESTART=Y
CLOPT="-A -- -N – M – f c:\appdir\import_factories.ini"
TMFFNAME SRVGRP=ADMIN2 SRVID=47 RESTART=Y
CLOPT="-A -- -N"
TMFFNAME SRVGRP=ADMIN3 SRVID=48 RESTART=Y
CLOPT="-A -- -F"
TMFFNAME SRVGRP=ADMIN4 SRVID=49 RESTART=Y
CLOPT="-A -- -F"
factory_finder.ini(5)、TMSYSEVT(5)、UBBCONFIG(5)、userlog(3c)、『Oracle Tuxedo CORBAプログラミング・リファレンス』の「TPフレームワーク」
TMIFRSVR SRVGRP="identifier" SRVID="number" RESTART=Y GRACE=0 CLOPT="[servopts options] -- [-f repository_file_name]"
TMIFRSVRサーバーは、インタフェース・リポジトリにアクセスするためにOracleが提供するサーバーです。APIは、CORBAで定義されるインタフェース・リポジトリAPIのサブセットです。インタフェース・リポジトリAPIについては、『Oracle Tuxedo CORBAプログラミング・リファレンス』を参照してください。
[-f repository_file_name]
idl2irコマンドを使用して作成しておく必要があります。このパラメータが指定されていない場合、マシン用のアプリケーション・ディレクトリ(APPDIR)に置かれたデフォルトのリポジトリ・ファイル名repository.ifrが使用されます。リポジトリ・ファイルが読み取れない場合、サーバーは起動できません。
#このサーバーはデフォルトのリポジトリTMIFRSVRを使用する
SRVGRP="IFRGRP" SRVID=1000 RESTART=Y GRACE=0
#このサーバーはデフォルト以外のリポジトリTMIFRSVRを使用する
SRVGRP="IFRGRP" SRVID=1001 RESTART=Y GRACE=0
CLOPT="-- -f /nfs/repository.ifr"
ir2idl(1)、UBBCONFIG(5)、servopts(5)
TMMETADATA - Tuxedoサービス・メタデータ・リポジトリ・サーバー
TMMETADATA SRVGRP="identifier" SRVID="number"
CLOPT="[-A] [servopts options] -- -f repository_file [-r] [-o filename]
TMMETADATAは、Tuxedoサービス・メタデータ・リポジトリ情報を検索および更新するリクエストを処理するTuxedoシステム・サーバーです。
TMMETADATAが提供およびサポートするサービスは、.TMMETAREPOSの1つだけです。このサービスは、Tuxedo MIBで使用されるものとほぼ同じFML32入力および出力バッファを使用します。TMMETADATA FML32バッファの形式については、MIB(5)を参照してください。
| 注意: | メタデータ情報の検索と更新は.TMIBから独立したサービスを通して処理されます。メタデータ・リポジトリはTuxedo構成とは別個に格納されるので、BBLがメタデータ・リクエスト処理のオーバーヘッドを負担するのを避けることができます。 |
CLOPTオプションは、TMMETADATAの起動時に渡されるコマンド・リンク・オプションの文字列です。TMMETADATAが認識する実行時パラメータは以下のとおりです。
-f
-r
read/writeです。
-o
TMMETADATAが提供するサービスは.TMMETAREPOSだけなので、特定のTuxedoドメインで動作する複数のTMMETADATAサーバーはすべて同じパーミッション・アクセスで構成されている必要があります。つまり、すべて読取り専用か、またはすべて読み書き可能にする必要があります。
各TMMETADATAサーバーが同じメタデータ・リポジトリ・ファイル(またはその正確なコピー)にアクセスするように構成することで、リクエストに対して一貫した結果が戻されるようにする必要があります。したがって、複数のTMMETADATAサーバーからメタデータ・リポジトリに安定的にアクセスできるようにしておくことを強くお薦めします。
TMMETADATAは、Tuxedoリリース9.0以降で実行する必要があります。
-rオプションを使用してTuxedo Joltリポジトリ・ファイルに対して呼び出された場合、TMMETADATAはTuxedoメタデータ・リポジトリ・ファイルの場合と同じようにそのファイルのレコードを読み取って返すことができます。
-rオプションを使用せずにTuxedo Joltリポジトリ・ファイルに対して呼び出された場合、TMMETADATAはサーバーの初期化時に失敗します。
*SERVERS
TMMETADATA SRVGRP=ADMIN1 SRVID=137 RESTART=Y MAXGEN=5
GRACE=3600 CLOPT="-A -- -f /usr/tuxadmin/METAREPOS"
*SERVERS
TMMETADATA SVRGRP=ADMIN1 SVRID=101 RESTART=N
CLOPT="-A -- -f /usr/tuxadmin/metarepos1 -r"
TMMETADATA SVRGRP=ADMIN1 SVRID=102 RESTART=Y MAXGEN=5
GRACE=3600 CLOPT="-A -- -f /usr/tuxadmin/metarepos1 -r"
TMMETADATA SVRGRP=ADMIN1 SVRID=103 RESTART=Y MAXGEN=5
GRACE=3600 CLOPT="-A -- -f /usr/tuxadmin/metarepos1 -r"
tpgetrepos(3c)、tpsetrepos(3c)、MIB(5)
『Oracle SALT管理ガイド』の
「サービス規約検索の構成」
TMQFORWARDSRVGRP="identifier"SRVID="number"REPLYQ=NCLOPT="
[-A] [servoptsoptions]---qqueuename[,queuename...]
[-ttrantime] [-iidletime] [-btimeout] [-e] [-d] [-n] [-fdelay] "
メッセージ転送サーバーはOracle Tuxedoシステムが提供するサーバーで、tpenqueue()で格納されたメッセージを後処理のために転送します。アプリケーション管理者は、SERVERSセクションでこのサーバーをアプリケーション・サーバーとして指定することにより、アプリケーション・サーバーのメッセージ処理を自動化できます。
位置指定、サーバー・グループ、サーバー識別子、その他の汎用サーバー関連パラメータは、サーバー用に定義されている構成ファイル機構を使用して、このサーバーに関連付けられます。次に、カスタマイズに使用できる追加コマンドライン・オプションのリストを示します。
-q queuename[,queuename...]
-t trantime
tpbegin()で使用されるトランザクション・タイムアウト値を指定する場合に使用します。指定されない場合、デフォルト値は60秒です。
-i idletime
-b timeout
TUXCONFIGのSCANUNITの単位が秒で、-b timoutがミリ秒単位の場合、tmbootの実行時にTMQFORWARDが失敗します。
-e
TMQFORWARDサーバーを開始および停止できます。
-d
-n
-f delay
tpcallを使う代わりにサービスにメッセージを転送するよう指定する場合に使用します。メッセージが送信され、サービスからの応答は期待されません。TMQFORWARDサーバーは、サービスからの応答を待つときにブロックすることなく、キューの次のメッセージを続けて処理できます。TMQFORWARDがシステムをリクエストでいっぱいにしないようにするには、delay値に、処理するリクエスト間の遅延を秒単位で指定します。ゼロを指定すると、遅延は設定されません。
メッセージは、それが読み取られるキューと同じ名前のサービスを提供するサーバーに送信されます。キューへのメッセージ登録時に優先度を指定した場合は、その優先度がメッセージの優先度になります。指定していない場合、優先度は構成ファイルで定義されているサービスの優先度か、またはデフォルト(50)になります。
メッセージは、1つのトランザクションの中でキューから取り出され、サーバーに送信されます。サービスが正常に終了すると、トランザクションはコミットされ、メッセージはキューから削除されます。メッセージが応答キューに関連付けられている場合は、サービスからの応答はいずれも、返されたtpurcodeと共に応答キューに登録されます。応答キューが存在しない場合、応答はドロップされます。
元のメッセージをキューに登録する場合、アプリケーションではメッセージに対する応答のサービス品質を指定できます。応答のサービス品質が指定されていない場合、応答キューに指定されているデフォルトの配信ポリシーが使用されます。デフォルトの配信ポリシーは、メッセージに対する応答がキューに登録されるときに決定される点に注意してください。つまり、元のメッセージがキューに登録されてからメッセージに対する応答が登録されるまでの間に、応答キューのデフォルトの配信ポリシーが変更された場合、応答が最後に登録される時点で有効なポリシーが使用されます。
サービスが異常終了した場合、そのキューに対する再試行制限によって指定されている回数の範囲内でトランザクションがロールバックされ、メッセージがキューに戻されます。メッセージがキューに戻される際、そのメッセージが最初にキューに登録されたときに適用された順位付けルールおよびキューからの取出しルールは、delay秒の間、一時的に効力を失います。これにより、たとえば、順位付けの低いメッセージが、キューに戻されたメッセージより先に取り出される可能性が出てきます。
-dオプションを指定した場合、サービスが異常終了し、かつサーバーから応答メッセージが受信されるとメッセージはキューから削除されます。また、応答メッセージ(および関連するtpurcode)は、異常終了キューがそのメッセージに関連付けられており、かつ存在していればそのキューに登録されます。キューに設定されている再試行の制限に達すると同時にメッセージが削除されるようになっている場合、元のリクエスト・メッセージはエラー・キューに移されます。
構成の条件によっては、TMQFORWARDがキューからメッセージを取り出せないか、メッセージを転送できないことがあり、その場合はサーバーを起動できなくなります。こうした条件では、次のことが必要です。
TMQFORWARDは、Oracle Tuxedoに用意されている標準バッファ・タイプを処理します。これ以外のアプリケーション・バッファ・タイプが必要な場合は、buildserver(1)をカスタマイズ・タイプ・スイッチと共に使用して、TMQFORWARDのカスタマイズ・バージョンを構築する必要があります。詳細は、『ATMI /Qコンポーネントの使用』を参照してください。
呼出し側によって組み込まれるファイルには、アプリケーション・バッファ・タイプ・スイッチおよびサポートされる必須のルーチンのみを入れてください。buildserverは、サーバー・オブジェクト・ファイル$TUXDIR/lib/TMQFORWARD.oとアプリケーション・タイプ・スイッチのファイル(複数可)を結合し、これに必要なOracle Tuxedoシステム・ライブラリをリンクするために使用されます。次の例を使用して、詳細を説明します。
buildserver -v -o TMQFORWARD -r TUXEDO/QM -f ${TUXDIR}/lib/TMQFORWARD.o -f apptypsw.o-v
-o name
SERVERSセクション中にも指定しなければなりません。一貫性を保つために、この名前としてTMQFORWARDを使用することをお薦めします。このコマンドのアプリケーション固有バージョンは$APPDIRにインストールでき、$TUXDIR/binにあるバージョンのかわりに起動されます。
-r TUXEDO/QM
TUXEDO/QMは、$TUXDIR/udataobj/RMに配置されているリソース・マネージャ表にあり、Oracle Tuxedoシステムのキュー・マネージャ用のライブラリを含んでいます。
-f $TUXDIR/lib/TMQFORWARD.o
-f firstfiles
buildserverのコンパイル段階やリンク段階で組み込まれる1つまたは複数のユーザー・ファイルを指定します。ソース・ファイルは、ccコマンド、またはCC環境変数を通して指定されるコンパイル・コマンドのいずれかを使用してコンパイルされます。これらのファイルは、TMQFORWARD.oオブジェクト・ファイルを組み込んだ後に指定しなければなりません。複数のファイルを指定する場合には、ファイル名を空白類(スペースまたはタブ)で区切り、全体を引用符で囲みます。このオプションは、何回も指定することができます。
サービスを公開するための-sオプションを指定してはなりません。
TMQFORWARDは、サポートされているすべてのサーバー・プラットフォームでOracle Tuxedoシステム提供のサーバーとしてサポートされます。
TMQFORWARDは相互運用するアプリケーションで実行できますが、Oracle Tuxedoリリース4.2以降のノードで実行する必要があります。
*GROUPS # For Windows, :myqueue becomes ;myqueue
TMQUEUEGRP LMID=lmid GRPNO=1 TMSNAME=TMS_QM
OPENINFO="TUXEDO/QM:/dev/device:myqueue"
# no CLOSEINFO is required
*SERVERS # recommended values RESTART=Y GRACE=0
TMQFORWARD SRVGRP="TMQUEUEGRP" SRVID=1001 RESTART=Y GRACE=0
CLOPT=" -- -qservice1,service2" REPLYQ=N
TMQUEUE SRVGRP="TMQUEUEGRP" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-s ACCOUNTING:TMQUEUE"
buildserver(1)、tpdequeue(3c)、tpenqueue(3c)、servopts(5)、TMQUEUE(5)、UBBCONFIG(5)
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
TMQUEUEidentifier
SRVGRP=""number
SRVID="" CLOPT=" [-A][servoptsoptions] -- [-ttimeout]"
メッセージ・キュー・マネージャは、tpenqueue()およびtpdequeue()を呼び出してプログラムのかわりにキューのメッセージの登録と取出しを行うOracle Tuxedoシステム付属のサーバーです。アプリケーション管理者は、SERVERSセクションでこのサーバーをアプリケーション・サーバーとして指定することにより、アプリケーションでキューに対するメッセージの登録および取出しを行うことができます。
位置指定、サーバー・グループ、サーバー識別子、その他の汎用サーバー関連パラメータは、サーバー用に定義されている構成ファイル機構を使用して、このサーバーに関連付けられます。次に、カスタマイズに使用できる追加コマンドライン・オプションを示します。
-t timeout
tpenqueue()またはtpdequeue()がトランザクション・モード以外の呼出し側から呼び出されたり、TPNOTRANフラグを指定して呼び出されたりする場合です。この値は、TPQWAITオプションが指定された、キューからの取出しリクエストにも影響します。この値に基づいて操作がタイムアウトし、エラーがリクエスタに返されるからです。指定されない場合、デフォルト値は30秒です。
TMQUEUEサーバーはアプリケーションの一部として起動され、アプリケーションから関連するキュー・スペースへのアクセスを容易にします。キュー・スペースはキューの集まりです。
構成の条件によっては、TMQUEUEがキューにメッセージを登録できないか、キューからメッセージを取り出せないことがあり、その場合TMQUEUEサーバーは起動時に異常終了します。SRVGRPでは、TMSNAMEがTMS_QMに設定されている必要があり、OPENINFOには関連するデバイスおよびキュー・スペースの名前が設定されている必要があります。
tpenqueue()およびtpdequeue()関数は、第1引数としてキュー・スペースの名前を取ります。この名前は、TMQUEUEによって公開されたサービスの名前でなければなりません。デフォルトでは、TMQUEUEはサービス"TMQUEUE"だけを提供します。キュー・スペースを1つだけ使用するアプリケーションの場合はこれで十分ですが、複数のキュー・スペースを持つアプリケーションでは、異なるキュー・スペース名を必要とすることがあります。また、アプリケーションによっては、キュー・スペースと同じ名前のより説明的なサービス名の指定が必要になる場合もあります。追加サービス名の公開は、使用例にもあるように、標準のサーバー・コマンドライン・オプション-sを使用して行うことができます。また、この後の項で説明するように、カスタムTMQUEUEプログラムを生成するときにサービスをハードコード化してこれを行うこともできます。
これらの方法(サーバー・コマンドライン・オプション、またはカスタマイズされたサーバー)は、キュー・スペースにメッセージの静的ルーティングを行う場合に使用できますが、データ依存型ルーティングを使用して動的なルーティングを行うこともできます。この場合、各TMQUEUEサーバーは同じサービス名を宣言しますが、構成ファイルのROUTINGフィールドが使用されて、待機メッセージ内のアプリケーション・データに基づくルーティング基準が指定されます。ルーティング関数は、サービス名とアプリケーションの型付きバッファ・データに基づいて、GROUPを返します。このGROUPを使用して、指定のグループにあるサービスにメッセージが転送されます(なお、キュー・スペースは、OPENINFO文字列に基づいてGROUPにつき1つしか存在できません)。
TMQUEUEは、Oracle Tuxedoに用意されている標準バッファ・タイプを処理します。これ以外のアプリケーション・バッファ・タイプが必要な場合は、buildserver(1)を使用して、TMQUEUEのカスタマイズ・バージョンを構築する必要があります。詳細は、『ATMI /Qコンポーネントの使用』を参照してください。
buildserverで記述されるカスタマイズは、サーバー用にサービス名をハードコード化する場合にも使用できます。
呼出し側によって組み込まれるファイルには、アプリケーション・バッファ・タイプ・スイッチおよびサポートされる必須のルーチンのみを入れてください。buildserverは、サーバー・オブジェクト・ファイル$TUXDIR/lib/TMQUEUE.oとアプリケーション・タイプ・スイッチのファイル(複数可)を結合し、これに必要なOracle Tuxedoシステム・ライブラリをリンクするために使用されます。次の例を使用して、詳細を説明します。
buildserver -v -o TMQUEUE -sqspacename:TMQUEUE -r TUXEDO/QM \
-f ${TUXDIR}/lib/TMQUEUE.o -f apptypsw.o
-v
-o name
SERVERSセクション中にも指定しなければなりません。一貫性を保つために、この名前としてTMQUEUEを使用することをお薦めします。
-s qspacename,qspacename :TMQUEUE
servopts(5)を参照)。このサーバーでは、サービス名はリクエストの送信先となるキュー・スペースの名前の別名として使用されます。カンマとカンマの間に空白を入れてはいけません。関数名TMQUEUEの前にはコロンを付けます。-sオプションは何回使用してもかまいません。
-r TUXEDO/QM
TUXEDO/QMは、$TUXDIR/udataobj/RMに配置されているリソース・マネージャ表にあり、Oracle Tuxedoシステムのキュー・マネージャ用のライブラリを含んでいます。
-f $TUXDIR/lib/TMQUEUE.o
-f firstfiles
buildserverのコンパイル段階やリンク段階で組み込まれる1つまたは複数のユーザー・ファイルを指定します。ソース・ファイルは、ccコマンド、またはCC環境変数を通して指定されるコンパイル・コマンドのいずれかを使用してコンパイルされます。これらのファイルは、TMQUEUE.oオブジェクト・ファイルを組み込んだ後に指定しなければなりません。複数のファイルを指定する場合には、ファイル名を空白類(スペースまたはタブ)で区切り、全体を引用符で囲みます。このオプションは、何回も指定することができます。
TMQUEUEは、サポートされているすべてのサーバー・プラットフォームでOracle Tuxedoシステム提供のサーバーとしてサポートされます。
TMQUEUEは相互運用するアプリケーションで実行できますが、Oracle Tuxedoリリース4.2以降のノードで実行する必要があります。
*GROUPS
# For Windows, :myqueue becomes ;myqueue
TMQUEUEGRP1 GRPNO=1 TMSNAME=TMS_QM
OPENINFO="TUXEDO/QM:/dev/device1:myqueue"
# For Windows, :myqueue becomes ;myqueue
TMQUEUEGRP2 GRPNO=2 TMSNAME=TMS_QM
OPENINFO="TUXEDO/QM:/dev/device2:myqueue"
*SERVERS
# The queue space name, myqueue, is aliased as ACCOUNTING in this example
TMQUEUE SRVGRP="TMQUEUEGRP1" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-s ACCOUNTING:TMQUEUE"
TMQUEUE SRVGRP="TMQUEUEGRP2" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-s ACCOUNTING:TMQUEUE"
TMQFORWARD SRVGRP="TMQUEUEGRP1" SRVID=1001 RESTART=Y GRACE=0 REPLYQ=N
CLOPT=" -- -qservice1"
TMQFORWARD SRVGRP="TMQUEUEGRP2" SRVID=1001 RESTART=Y GRACE=0 REPLYQ=N
CLOPT=" -- -qservice1"
*SERVICES
ACCOUNTING ROUTING="MYROUTING"
*ROUTING
MYROUTING FIELD=ACCOUNT BUFTYPE="FML"
RANGES="MIN - 60000:TMQUEUEGRP1,60001-MAX:TMQUEUEGRP2" この例では、2つのキュー・スペースを使用できます。どちらのTMQUEUEサーバーも同じサービスを提供し、ルーティングはアプリケーションの型付きバッファのACCOUNTフィールドを介して行われます。
buildserver(1)、tpdequeue(3c)、tpenqueue(3c)、servopts(5)、TMQFORWARD(5)、UBBCONFIG(5)
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
TMSYSEVT SRVGRP="identifier" SRVID="number"
[CLOPT="[-A] [servoptsoptions]
[-- [-S] [-ppoll-seconds] [-fcontrol-file]]"]
TMSYSEVTはOracle Tuxedoシステムが提供するサーバーで、システム・エラーや潜在的なエラー状態に関するイベント通知を処理します。イベント・レポートはフィルタを通され、1つまたは複数の通知アクションを開始できます。
フィルタや通知に関するルールは、制御ファイルcontrol-fileに格納されます。デフォルトの名前は${APPDIR}/tmsysevt.datです。control-fileの構文はEVENT_MIB(5)で定義します。特に、EVENT_MIBのクラス属性を設定することで、通知ルールの範囲内でサブスクリプションをアクティブ化できます。
1つまたは複数の二次的なTMSYSEVTプロセスを起動して、可用性を高めることができます。追加サーバーは、「セカンダリ・サーバー」であることを示すコマンドライン・オプション-Sを指定して起動する必要があります。
EVENT_MIB(5)の構成が更新されるときには、プライマリTMSYSEVTサーバーがその制御ファイルに書込みを行います。セカンダリ・サーバーは、プライマリ・サーバーの制御ファイルが更新されているかどうかをポーリングを通じてチェックし、必要であれば各自の(ローカルの)制御ファイルを更新します。ポーリングの間隔は-pオプションで指定できます。デフォルト値は30秒です。
| 注意: | 複数のリリースのOracle Tuxedoシステムで構成されたMP構成を設定し、TMUSREVTおよびTMSYSEVTサーバーを実行する場合は、これらのサーバーを最新のリリースのノードで実行する必要があります。 |
TMSYSEVTは、Oracle Tuxedoリリース6.0以降のマシンで実行する必要があります。
プライマリTMSYSEVTサーバーを別のマシンに移行するには、システム管理者は現在の制御ファイルのコピーを提供する必要があります。セカンダリTMSYSEVTサーバーは、最新のコピーを自動的に維持します。
TMSYSEVTは、システム・イベントを定義したFML32フィールド表へのアクセス手段が必要になります。FLDTBLDIR32には$TUXDIR/udataobjが、FIELDTBLS32にはevt_mibがそれぞれ含まれている必要があります。これらの環境変数は、マシンまたはサーバーの環境設定ファイルで設定できます。
*SERVERS
TMSYSEVT SRVGRP=ADMIN1 SRVID=100 RESTART=Y GRACE=900 MAXGEN=5
CLOPT="-A --"
TMSYSEVT SRVGRP=ADMIN2 SRVID=100 RESTART=Y GRACE=900 MAXGEN=5
CLOPT="-A -- -S -p 90" tpsubscribe(3c)、EVENTS(5)、EVENT_MIB(5)、TMUSREVT(5)
実行時トレース機能を使用すると、アプリケーション管理者および開発者は、Oracle Tuxedoアプリケーションの実行をトレースできます。
実行時トレースは、アプリケーション実行時の注意すべき条件または遷移をマークする、trace pointの概念に基づいています。トレース・ポイントの例としては、tpcallなどのATMI関数へのエントリ、Oracle Tuxedoメッセージの到着、トランザクションの開始などがあります。
トレース・ポイントに到達すると、次のことが発生します。まず、フィルタfilterが適用され、トレース・ポイントを処理すべきかどうかを決定します。トレース・ポイントを処理すべき場合、trace recordがreceiverに発行されます。最後に、プロセスの中止などのactionが起動されます。レシーバへの発行およびトリガーはどちらも省略可能であり、トレース・ポイントがフィルタを通らない場合には発生しません。
フィルタ、レシーバ、およびトリガーは、trace specificationで指定します。構文について以下に記述します。トレース指定は、TMTRACE環境変数から初期化されます。実行中のプロセスのトレース指定は、トリガー・アクションによってか、tmadmin(1)のchangetraceコマンドを使用することで変更できます。
トレース・ポイントは、以下に列挙するようなtrace categoriesに分類されます。各トレース・ポイントは1つのカテゴリに属します。フィルタは、処理するトレース・カテゴリを記述し、フィルタを通らないトレース・ポイントには最小限の処理が行われます。
また、実行時トレーシングは、クライアントがサーバーに送信したメッセージ(またはそのサーバーから他のサーバーへ)をdye設定する機能を提供します。プロセスがメッセージをダイ設定するように選択した場合、発信元プロセスによってダイ設定が自動的に、発信元プロセスから直接または間接的にメッセージを受信するすべてのプロセスに渡されます。プロセスがダイ設定されたメッセージを受け取ると、atmiトレース・カテゴリが自動的にオンになり、ユーザー・ログへのトレース・レコードの発行が開始されます(発行が行われていなかった場合)。
ダイ設定は、トレース指定のdyeトリガーとundyeトリガーによって明示的にオンまたはオフにできます。また、ダイ設定は、ダイ設定されたメッセージが受信されたときに暗黙的にオンになり、tpreturn()およびtpforward()によって暗黙的にオフにできます。ダイ設定が暗黙的にオフされた場合、ダイ設定がオンであったときに有効であったトレース指定がリストアされます。
atmi
tp関数やtx_関数に対する呼出し)およびアプリケーション・サービス起動のためのトレース・ポイント。いくつか例外があります。最初の呼出しtpinit()でATMI呼出しが処理される際のtpinitに対する暗黙的な呼び出し、およびエラーが発生してtpreturnが呼び出される場合には、暗黙的な呼出しはTXインタフェースがATMIインタフェースを直接呼び出すこのカテゴリに出力されます。
iatmi
暗黙的な呼出しのトレース・ポイント。これらのトレース・ポイントは、アプリケーションのリクエストの処理中に呼び出される内部呼出し、および管理を目的として呼び出される内部呼出しのすべてを示します。この値を設定することは、atmiレベル、つまりATMIまたはTXインタフェースのすべての呼出し (明示的な呼出しと暗黙的な呼出しの両方)がトレースされることを意味します。
trace
トレース指定は、filter-spec: receiver-spec [ : trigger-spec]という構文で指定する文字列です。filter-specは、検査または無視するトレース・カテゴリを記述します。receiver-specは、トレース・レコードのレシーバです。省略可能なtrigger-specは、実行するアクションを記述します。
NULL文字列も有効なトレース指定です。これは、他の指定がない場合のすべてのOracle Tuxedoプロセスのデフォルトです。
文字列onとoffも指定できます。onはatmi:ulog:dyeの別名で、offは: :undyeと等価です。
トレース指定の最初の要素であるフィルタ指定の構文は次のとおりです。
[ { + | - } ] [ category ] ...
ここでcategoryは、上記に示したカテゴリの1つです。categoryの位置に記号*を使用すると、すべてのカテゴリを表すことができます。接頭辞+または-は、後続のカテゴリを現在有効なカテゴリのセットに追加またはそのセットから削除することを示します。+または-の次にカテゴリがない場合、現在有効なカテゴリは変更されません。
フィルタが空の場合、カテゴリが1つも選択されず、トレースが使用不可になります。
トレース・ポイントが発生すると、そのカテゴリがフィルタ指定と比較されます。カテゴリがフィルタ指定に含まれている場合、トレース・ポイントは、レシーバおよびトリガー指定に従ってさらに処理されます。カテゴリが含まれていない場合、トレース・ポイントの処理はこれ以上発生しません。
レシーバは、トレース・レコードの送信先となるエンティティです。各トレース・レコードには、最大1つのレシーバがあります。
トレース指定の2番目の要素であるレシーバ指定の構文は次のとおりです。
[/ regular-expression /] receiver
ここでは、省略可能な正規表現を使用して、フィルタを通過するトレース・ポイントの一部を選択できます。正規表現は、トレース・レコードと比較されます。空のレシーバ指定も有効であり、この場合、トレース・レコードは発行されません。
ulog
utrace
utraceの受信側を指定すると、atmiトレース・カテゴリ・レコードに対してのみユーザー定義のtputrace(3c)が自動的に呼び出されます。トレース・レコード情報と出力の場所をカスタマイズできます。
トリガーは、トレース・レコードの発行後に実行される、省略可能なアクションです。フィルタを通過した各トレース・レコードに対して、最大1つのアクションが実行されます。
トレース指定の、省略可能な3番目の要素であるトリガー指定の構文は、次のとおりです。
[/ regular-expression /] action
ここでは、省略可能な正規表現を使用して、フィルタを通過するトレース・ポイントの一部に対してだけトリガーが実行されるよう設定できます。正規表現は、トレース・レコードと比較されます。
abort
message)
command)
trace-spec)
dye
undye
seconds)
ここでccはトレース・カテゴリの最初の2文字で、dataはトレース・ポイントに関する追加情報です。
トレース・レコードがユーザー・ログに表示されるとき、その行は次のようになります。
hhmmss.system-name!process-name.pid: TRACE:cc:data
MACプラットフォームで動作するワークステーション・クライアントのレシーバやトリガーに対しては、マッチ・パターンを指定することはできません。
tmadmin changetraceコマンドは、ワークステーション・クライアントに対するトレース・レベルを変更するために使用できません。
クライアントをトレースし、アプリケーション・サーバーがそのクライアントのかわりに行ったすべてのATMI呼出しをトレースするには、クライアントの環境にTMTRACE=onを設定してエクスポートします。この指定により、クライアント内のすべての明示的なATMIトレース・ポイントがログに記録され、メッセージのダイ設定がオンになります。このクライアントのかわりにサービスを実行するアプリケーション・サーバー・プロセスは、すべての明示的なATMIトレース・ポイントを自動的にログに記録します。
すべての(明示的および暗黙的な)クライアント・トレース・ポイントを確認するには、次のように設定してエクスポートします。
TMTRACE="*:ulog:dye:" 前述の例で、クライアントからのサービス・リクエストはトレースし、クライアントからの出力のトレースをtpcallリクエストについての最低限の情報に制限するには、次のように設定しエクスポートします。
TMTRACE=atmi:/tpacall/ulog:dye これはクライアントの環境で行います。このように指定すると、クライアントでのすべてのtpacall呼出しがログに記録され、メッセージのダイ設定がオンになります。クライアントの代わりにサービスを実行するアプリケーション・サーバー・プロセスは、すべてのATMIトレース・ポイントを自動的にログに記録します。tpacall()トレース・レコードに含まれるクライアントの識別子は、クライアントの代わりに呼び出されたサービス・ルーチンに渡されるTPSVCINFOパラメータの値と相互に関連させることができます。
アプリケーション・サーバーによって実行されたすべてのサービス・リクエストの呼出しをトレースするには、次のように設定します。
TMTRACE=atmi:/tpservice/ulog これは、参加しているすべてのマシン上のサーバーENVFILEに設定します。
メッセージのダイ設定をオンにして、アプリケーションを通してすべてのトレース・カテゴリの実行時トレースを有効にするには、次のように設定してエクスポートします。
TMTRACE=*:ulog:dye これは、すべてのクライアント環境および参加しているすべてのマシン上のサーバーENVFILEに設定します。この設定では、BBLとDBBLを含むすべてのプロセスがトレース・レコードを発行するので、管理できない量の出力が生成される可能性があります。
グループGROUP1内の実行中のすべてのサーバーで、起動後にATMIのトレースをオンにするには、次のようにtmadminのchangetraceコマンドを呼び出します。
changetrace -g GROUP1 on
changetraceは現在存在しているプロセスに対してのみ影響します。起動されていないグループGROUP1のサーバーのトレース構成は変更されません。(サーバーのデフォルトのトレース構成を設定するには、サーバーのENVFILEにTMTRACEを設定します。)
現在実行中のすべてのアプリケーション・プロセスでトレーシングをオフにするには、次のようにchangetraceを使用します。
changetrace -m all off
グループGROUP1内で識別子が1の実行中のサーバー・プロセスをtpreturnの実行時に中止するには、tmadminに対して次のように指定します。
changetrace -i 1 -g GROUP1 "atmi::/tpreturn/abort"
tmadmin(1)、userlog(3c)、tputrace(3c)
TMUSREVT SRVGRP="identifier" SRVID="number"options
[CLOPT="[-A] [servopts]poll-seconds
[-- [-S] [-p] [-fcontrol-file]]"]
TMUSREVTはOracle Tuxedoシステムが提供するサーバーで、tppost(3c)からのイベント・レポート・メッセージ・バッファを処理し、それらにフィルタを適用して転送するイベント・ブローカとして動作します。
フィルタや通知に関するルールは、制御ファイルcontrol-fileに格納されます。デフォルトの名前は${APPDIR}/tmusrevt.datです。control-fileの構文はEVENT_MIB(5)で定義します。特に、EVENT_MIBのクラス属性を設定することで、通知ルールの範囲内でサブスクリプションをアクティブ化できます。
1つまたは複数の二次的なTMUSREVTプロセスを起動して、可用性を高めることができます。追加サーバーは、「セカンダリ・サーバー」であることを示すコマンドライン・オプション-Sを指定して起動する必要があります。
EVENT_MIB(5)の構成が更新されるときには、プライマリTMUSREVTサーバーがその制御ファイルに書込みを行います。セカンダリ・サーバーは、プライマリ・サーバーの制御ファイルが更新されているかどうかをポーリングを通じてチェックし、必要であれば各自の(ローカルの)制御ファイルを更新します。ポーリングの間隔は-pオプションで指定できます。デフォルト値は30秒です。
| 注意: | 複数のリリースのOracle Tuxedoシステムで構成されたMP構成を設定し、TMUSREVTおよびTMSYSEVTサーバーを実行する場合は、これらのサーバーを最新のリリースのノードで実行する必要があります。 |
TMUSREVTは、Oracle Tuxedoリリース6.0以降のマシンで実行する必要があります。
プライマリTMUSREVTサーバーを別のマシンに移行するには、システム管理者は現在の制御ファイルのコピーを提供する必要があります。セカンダリTMUSREVTサーバーは、最新のコピーを自動的に維持します。
tppost()をトランザクション・モードで呼び出す場合は、すべてのTMUSREVTサーバー・グループがトランザクション機能(TMSプロセス)を備えている必要があります。
TMUSREVTサーバーの環境変数は、メッセージにフィルタを適用したりフォーマットする際に必要となるFMLフィールド表やVIEWファイルを使用できるように設定しておく必要があります。これらの環境変数は、マシンまたはサーバーの環境設定ファイルで設定できます。
*SERVERS
TMUSREVT SRVGRP=ADMIN1 SRVID=100 RESTART=Y MAXGEN=5 GRACE=3600
CLOPT="-A --"
TMUSREVT SRVGRP=ADMIN2 SRVID=100 RESTART=Y MAXGEN=5 GRACE=3600
CLOPT="-A -- -S -p 120"
tppost(3c)、tpsubscribe(3c)、EVENTS(5)、EVENT_MIB(5)、TMSYSEVT(5)
tperrno - Oracle Tuxedoシステム・エラー・コード
#include <atmi.h> エラー条件のシンボル名によって表される数値は、Oracle Tuxedoシステム・ライブラリ・ルーチンの実行時に発生するエラー用のtperrnoに割り当てられます。
tperrnoは、int型の変更可能なlvalueの拡張です。lvalueの値は、複数のOracle Tuxedoシステム・ライブラリ・ルーチンによって正のエラー番号に設定されます。tperrnoはオブジェクトの識別子である必要はなく、lvalue関数呼出しの結果、変更可能なlvalueに拡張される場合があります。tperrnoがマクロであるかまたは外部リンクで宣言される識別子であるかは特定されていません。実際のオブジェクトをアクセスするためのtperrnoマクロの定義が抑止されている場合、または、あるプログラムが名前tperrnoを使用して識別子を定義している場合、動作は不確定です。
Oracle Tuxedoシステム・ライブラリ・ルーチンのリファレンス・ページには、各ルーチンのエラー条件とそのコンテキストにおけるエラーの意味が掲載されています。掲載されているエラーの順番は重要ではなく、優先順位を示すものでもありません。tperrnoの値は、エラーが指摘された後にのみ検査します。つまり、構成要素の戻り値がエラーを示していて、構成要素の定義でtperrnoのエラー時の設定が指定されている場合です。tperrnoの値を検査するアプリケーションは、ヘッダー・ファイル<atmi.h>をインクルードする必要があります。
TPEABORT
TPEBADDESC
TPEBLOCK
TPEDIAGNOSTIC
TPEEVENT
TPEGOTSIG
TPEHAZARD
TPEHEURISTIC
TPEINVAL
TPEITYPE
TPELIMIT
TPEMATCH
TPEMIB
TPENOENT
TPEOS
TPEOTYPE
TPEPERM
TPEPROTO
TPERELEASE
TPERMERR
TPESVCERR
TPESVCFAIL
TPESYSTEM
TPETIME
TPNOBLOCKまたはTPNOTIMEが指定されている場合は発生しません。)いずれの場合も、*odata、その内容、*olenはどれも変更されません。 トランザクション・タイムアウトが発生した場合、トランザクションがアボートされない限り、新しいリクエストの送信や未処理の応答の受信はできず、TPETIMEが発生します。その例外とは、ブロックされず、応答を期待せず、かつ呼出し側のトランザクションのかわりに送信されない(つまり、TPNOTRAN、TPNOBLOCKおよびTPNOREPLYを設定してtpacall()を呼び出した場合の)リクエストです。 サービスがトランザクション内で失敗すると、そのトランザクションはTX_ROLLBACK_ONLY状態になります。ほとんどの場合、この状態はタイムアウトと同じものとして扱われます。このトランザクションの以降のATMI呼出しは、TPETIMEで失敗します(前の段落で説明した例外を除く)。
TPETRAN
ルーチンには、エラーの戻り値がないものもあります。tperrnoをゼロに設定するルーチンはないため、アプリケーションは、tperrnoをゼロに設定し、ルーチンを呼び出してから、エラーが発生したかを調べるために再度tperrnoをチェックできます。
個々のOracle Tuxedoライブラリ・ルーチンのERRORSの項を参照してください。
tpurcode - アプリケーションが指定する戻りコードのためのOracle Tuxedoシステムのグローバル変数
#include <atmi.h> tpurcodeは、atmi.hで定義されるグローバル変数です。その値は、tpreturn()のrcode引数の値として使用されているものと同じ長さの整数です。tpurcodeはアプリケーションで使用され、アプリケーション・サービスを呼び出すプロセスに追加的な情報を返す場合があります。詳細については、tpreturn()を参照してください。
アプリケーションがtpurcodeの値に意味を割り当てます。
アプリケーション・サービスでrcodeにより値myvalを戻す場合、次のようになります。
.
.
.
tpreturn(TPSUCCESS, myval, rqst->data, 0L, 0);
.
.
.
.
.
.
ret = tpcall("TOUPPER", (char *)sendbuf, 0, (char **)&rcvbuf, \ &rcvlen, (long)0);
.
.
.
(void) fprintf(stdout, "Returned string is: %s\n", rcvbuf);
(void) fprintf(stdout, "Returned tpurcode is: %d\n", tpurcode);
サンプル・クライアントsimpclを"My String"という値で呼び出した場合、次のように出力されます。
%simpcl "My String"
Returned string is: MY STRING
Returned tpurcode is: myval
myvalの意味はアプリケーションで定義する必要があります。
tuxenv - Oracle Tuxedoシステムでの環境変数のリスト。
アプリケーションのクライアントとサーバーをコンパイルし、Oracle Tuxedoシステムを実行するには、正しい環境変数の設定とエクスポートが重要です。ここでは、最も使用頻度の高い変数について説明します。
CC
CFLAGS
EDITOR
LANG
nl_types(5)を参照してください。
LOGNAME
LD_LIBRARY_PATH
NLSPATH
PAGER
PATH
SHELL
TERM
TMPDIR
tmpnam()関数(Oracle Tuxedo MIBおよびその他のOracle Tuxedoコードで呼び出される)で指定される、オペレーティング・システム固有の場所に書き込むこともできます。tmpnam()の呼出しが行われると、Oracle TuxedoシステムはTMPDIR変数を無視します。
tmpnam()関数で指定される一時的な場所にメッセージ・ファイルを書き込み、この一時的な場所のパス名をサービス・キューに配置します。Oracle Tuxedo 7.1以降のリリースでも、このコードは旧リリースと同様に機能します。ただし、一時的な場所はTMPDIRによって指定されるディレクトリのパス名になり(この変数が設定されている場合)、TMPDIRが設定されていない場合はオペレーティング・システムによって指定されるディレクトリのパス名になります。
TZ
これらの変数についての詳細は、UNIXシステムのリファレンス・ページenviron(5)を参照してください。
APPDIR
APP_PW
ENVFILE
TLOGDEVICE
TMUSEIPV6
n|NにするとデフォルトのIPv4値になり、y|YにするとIPv6値に設定されます。これは、UBBCONFIGのセクション*MACHINES、*GROUPS、*SERVERSで設定できます。つまり、Tuxedoの起動前に設定できます。/WS、CORBA、Joltの各クライアントでも設定できます。 MPモードでは、スレーブ・マシン上でtlisten実行する前にTMUSEIPV6にy|Yを設定する必要があります。 | 注意: | デュアル・スタック・ホストの場合は、Tuxedoドメイン内のコンポーネントの一部がIPv6を使用し、一部がIPv4を使用することも可能です。 |
TUXCONFIG
TUXDIR
ULOGPFX
TPMBENC
TPMBENCに定義されているコードセット・エンコーディング名がバッファの属性として自動的に付加され、バッファ・データと一緒に目的のプロセスに送信されます。
TPMBACONVという別の環境変数が設定されている場合、TPMBENCに定義されているコードセット・エンコーディング名が受信バッファ内のコードセット・エンコーディング名と比較されます。エンコーディング名が同じでない場合、MBSTRINGバッファのデータはTPMBENCに定義されているエンコーディングに変換されてからサーバーまたはクライアント・プロセスに渡されます。 TPMBENCのデフォルト値はありません。MBSTRING型付きバッファを使用するアプリケーション・サーバーまたはクライアントでは、TPMBENCを定義する必要があります。 | 注意: | TPMBENCはFML32型付きバッファのFLD_MBSTRINGフィールドと同じように使用されます。 |
TPMBACONV
TPMBENCに定義されているエンコーディングに自動変換するかどうかを指定します。デフォルトでは、自動変換は無効です。つまり、受信したMBSTRINGバッファ内のデータはエンコーディング変換されず、そのままの状態で目的のサーバーまたはクライアント・プロセスに渡されます。TPMBACONVをY (yes)などのNULL以外の値に設定すると、自動変換が有効になります。 | 注意: | TPMBACONVはFML32型付きバッファのFLD_MBSTRINGフィールドと同じように使用されます。 |
URLENTITYCACHING
Y)。URLENTITYCACHINGをN (no)に設定すると、キャッシングは無効になります。
URLENTITYCACHEDIR
URLENTITYCACHEDIR変数には、キャッシュするファイルの絶対パス名を指定します。URLENTITYCACHEDIRを指定しない場合、デフォルトのディレクトリはURLEntityCachedirになります。このディレクトリはアプリケーション・サーバーまたはワークステーション・クライアント・プロセスの現在の作業ディレクトリ内に作成され、適切な書込み権が設定されています。
これらの変数の詳細は、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』、『Oracle Tuxedoアプリケーションの設定』、および『Oracle Tuxedoアプリケーション実行時の管理』を参照してください。
FMLおよびVIEWSで使用される環境変数は以下のとおりです。
FIELDTBLS
VIEWFILES
FLDTBLDIR
VIEWDIR
これらの変数の詳細は、『Oracle Tuxedoアプリケーションの設定』、『Oracle Tuxedoアプリケーション実行時の管理』、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』、および『FMLを使用したOracle Tuxedoアプリケーションのプログラミング』を参照してください。
以下の変数は、Oracle Tuxedoシステムのファイル・システムおよびトランザクション・ログで使用します。
FSCONFIG
FSMAXCOMMIT
FSMAXUPDATE
FSMSGREP
FSOFFSET
以下の変数は、ワークステーション・クライアント・マシンで使用します。
TMUSEIPV6
TPMBENC
TPMBACONV
URLENTITYCACHING
URLENTITYCACHEDIR
WSINTOPPRE71
Yに設定すると(WSINTOPPRE71=Y)、相互運用が可能になります。
WSBUFFERS
WSDEVICE
WSENVFILE
WSFADDR
WSFRANGE変数と共に、アウトバウンド接続を確立する前にプロセスがバインドを試みるTCP/IPポートの範囲を決定します。
WSFRANGE
WSNADDR
WSRPLYMAX
WSTYPE
これらの変数の詳細は、『Oracle Tuxedo Workstationコンポーネント』を参照してください。
以下の環境変数は、Oracle Tuxedo /Qで使用します。
QMCONFIG
ISSANE
TMQFORWARDが異常終了した場合も引き続き/Qを正常に動作させるために使用します。この変数をyes/YESに設定すると、TMQFORWARDが異常終了(アプリケーション・サーバーのハングによるハングなど)した場合、停止リクエストがTMQFORWARDに送信され、TMQFORWARDが/Qロックを持っていなければ、/Qは正常に動作し、TMQFORWARDを後で再起動できます。それ以外の場合、TMQFORWARDが異常終了しすると、/Qは異常と認識され、再起動が必要になります。
詳細は、『ATMI /Qコンポーネントの使用』を参照してください。
ALTCC
| 注意: | Fujitsu NetCOBOLコンパイラを使用する場合、プラットフォームに関係なくこの変数をcobcc85に設定する必要があります。 |
ALTCFLAGS
| 注意: | Windowsシステムでは、ALTCCおよびALTCFLAGS環境変数は使用できません。これらの変数を設定すると、予想外の結果が生じます。まずCOBOLコンパイラを使用してアプリケーションをコンパイルし、次に生成されたオブジェクト・ファイルをbuildclient(1)またはbuildserver(1)コマンドに渡す必要があります。 |
COBCPY
| 注意: | Fujitsu NetCOBOLコンパイラを使用する場合、この変数を設定できない場合があります。COBOL環境変数については、NetCOBOLのマニュアルを参照してください。 |
COBOPT
| 注意: | Fujitsu NetCOBOLコンパイラを使用する場合、この変数を設定できない場合があります。COBOL環境変数については、NetCOBOLのマニュアルを参照してください。 |
TM_ORB_CLTMAXRTY
TM_CBL_IGNORE_CONTEXT
CONTEXT-FLAGを使用して、Tuxedo 6.5のCOBOLプログラムでTPINITIALIZEを呼び出すと、TPEINVALエラーで失敗します。
"Y"を設定すると、既存のTuxedo 6.5のCOBOLプログラムはTuxedo 10.0で正常に実行し、マルチコンテキスト機能は動作しません。Tuxedo 10.0のCOBOLプログラムでマルチコンテキストを使用する場合は、TM_CBL_IGNORE_CONTEXTを無効にする必要があります。
これらの変数の詳細は、『COBOLを使用したOracle Tuxedoアプリケーションのプログラミング』を参照してください。
ALOGPFX
ALOGPFX=string_value 環境変数ALOGPFXが指定されていない場合は、デフォルトの$APPDIR/accessが使用されます。日付"mmddyy" (月、日、年)がログ・ファイル名の接頭辞に追加されます。アクセス・ログのファイル名の長さは255文字未満でなければなりません。
ALOGRTNSIZE=numeric_value
ALOGRTNSIZE=numeric_value アクセス・ログのファイル・サイズを指定します。設定されるファイル・サイズよりもファイル・サイズが大きい場合は、追加のアクセス・ログ・ファイルが作成されます。デフォルトのファイル・サイズは2GBです。
ALOGRTNSIZE を編集した後は、Tuxedoを再起動する必要があります。MHSCACHE
PMID
PMIDを使用して、UBBCONFIGファイルで指定されたマシン名を代替マシン名に置き換えることができます。これにより、マスター・マシンをマスターからHAクラスタ内のバックアップに移行できます。
TAGENTLOG
TMCMPLIMIT
TMCMPLIMIT=[remote_threshold[,local_threshold]] しきい値は、0からMAXLONGまでの数字です。この数字により、データ圧縮を行うメッセージの最小バイト・サイズが設定されます。
TMCMPPRFM
TMCMPPRFMを読み取ると、ULOGメッセージが書き込まれます。
TMNETLOAD
TMNOTHREADS
yesに設定します。スレッドを使用しないアプリケーションの場合、マルチスレッド処理をオフにすると、ミューテックス関数の呼出しが減り、パフォーマンスが大幅に向上します。
TMSICACHEENTRIESMAX
TM_CPAU
tuxipcを起動する前に環境変数TM_CPAU =YESを設定します。tuxipcは、tmbootを開始したユーザーに属するOracle Tuxedoプロセスを作成します。
tuxipcがサービスとして起動されたら、「スタート」 -> 「コントロール パネル」 -> 「システム」 -> 「詳細設定」 -> 「環境変数」の順に選択し、GUIを介してシステム変数TM_CPAU=YESを設定し、ORACLE ProcMGRサービスを再起動します。
TM_ENGINE_TMSHMSEGSZ
export TM_ENGINE_TMSHMSEGSZ=500を発行します。このロジックは、Tuxedoによって使用される最大共有メモリー・セグメントが500 * (1024 * 1024) = 524,288,000バイトに設定されるように実装されています。この環境変数を設定しない場合、使用するオペレーティング・システムでのTuxedoのデフォルト・サイズが使用されます。
TM_ICU_COMPATIBILITY
TM_GWT_OLDSECCHECK
GWTDOMAINの環境で設定する必要があります。この値は、他のTuxedoプロセスに(それらに対して設定された場合でも)影響を与えません。これは、Tuxedo 6.5で動作するTuxedoドメインをパッチ・レベル446にアップグレードできない場合、Tuxedo 6.5と他のTuxedoリリース間のドメイン間トランザクション・リクエストを正常に実行するために使用します。 | 注意: | Tuxedo 6.5ドメインをパッチ・レベル446以降にアップグレードした場合、この環境変数を削除する必要があります。 |
TM_GWT_OLDSECCHECK=Yの場合、GWTDOMAINで旧形式セキュリティ・チェックが使用されます。これは、patchlev 446よりも前にTuxedo 6.5パッチと相互運用するために必要です。ただし、セキュリティが暗黙的に低下します。TM_GWT_OLDSECCHECK=Yの場合、GWTDOMAINプロセスはネットワークから最初のデータまたは接続を受け取ったときにその事実を示すULOGメッセージを書き出します。 TM_GWT_OLDSECCHECK=NまたはTM_GWT_OLDSECCHECKを設定しなかった場合、最後のセキュリティ・チェックが使用されます。この場合、相互運用しているすべてのTuxedo 6.5ドメインが少なくともパッチ・レベル446である必要があります。
TM_LOG_ESYS
export TM_LOG_ESYS=all
export TM_LOG_ESYS=native
export TM_LOG_ESYS=native:ws
export TM_LOG_ESYS=native:ws:domain ("all"と同じ) | 注意: | native=native ATMI呼び出し、ws=workstation ATMI呼び出し、domain=ATMI呼出しは、ドメイン・ゲートウェイを通過します。 |
TUX_BLOCKLICIW
| 注意: | 任意の文字列をsetするとTUX_BLOCKLICIWが有効になり、unsetすると無効になります。 |
TUX_BLOCKLICIWによってブロックされるエラー・メッセージは以下のとおりです。 1) ユーザー・ログ: CMDTUX_CAT:4749 WARN: Tuxedoシステム・バイナリ契約ユーザー数の100%に達しました。 CMDTUX_CAT:4753 INFO: Tuxedoシステム・バイナリ契約ユーザー数の90%に達しました。 CMDTUX_CAT:4729 WARN: Tuxedoシステム・バイナリ契約ユーザー数の100%に達しました。 CMDTUX_CAT:4731 INFO: Tuxedoシステム・バイナリ契約ユーザー数の90%に達しました。 2) イベント・ブローカ: CMDTUX_CAT:4750 WARN: .SysLicenseWarn: Tuxedoシステム・バイナリ契約ユーザー数の100%%に達しました。 CMDTUX_CAT:4754 INFO: .SysLicenseInfo: Tuxedoシステム・バイナリ契約ユーザー数の90%%に達しました。 CMDTUX_CAT:4730 WARN: .SysLicenseWarn: Tuxedoシステム・バイナリ契約ユーザー数の100%%に達しました。 CMDTUX_CAT:4732 INFO: .SysLicenseInfo: Tuxedoシステム・バイナリ契約ユーザー数の90%%に達しました。
TUX_SSL_ENFORCECONSTRAINTS
UIMMEDSIGS
TMATZPRIVILEGEMAX
ATZキャッシュ内で使用される可能性が最も低いエントリを選択できます。この環境変数を0に設定すると、TuxedoサーバーのATZキャッシュは無効になり、すべてのATZリクエストがATZサービスにディスパッチされます。ユーザーがこの環境変数を明示的に定義しない場合、デフォルト値は100になります。0から32767の値を指定できます。ATZキャッシュ内の1つの権限エントリのサイズは約50バイトです。
TMATZRESOURCEMAX
これは、TUXEDOサーバーの認証キャッシュの動作を制御し(拡張セキュリティが有効な場合)、特定のTuxedoサーバーに割り当てることができる最大のリソース・エントリ数を指定します。キャッシュ内のリソース数がこのしきい値を超えると、リソースも新しい権限もキャッシュに追加されなくなります。リソースへのこれ以降のアクセス・リクエストは、使用可能なリソース・スロットが見つかるまでATZサーバーにルーティングされます。Tuxedoは、キャッシュされた権限が占有する各リソース・エントリの参照番号を保持します。権限が特定のリソース・エントリを占有しない場合、そのリソース・エントリはキャッシュからクリアされます。
ユーザーがこの環境変数を明示的に定義しない場合、値は、公開されたサービスの現在の数に設定されます。また、TMATZPRIVILEGEMAXの値は、TMATZRESOURCEMAX以上であることが必要です。それ以外の場合、TMATZPRIVILEGEMAXはTMATZRESOURCEMAXと等しい値に設定されます。
0から32767の値を指定できます。ATZキャッシュ内の1つのリソース・エントリのサイズは約148バイトです。
この環境変数を0に設定すると、TuxedoサーバーのATZキャッシュは無効になり、すべてのATZリクエストがATZサービスにディスパッチされます。
TMATZEXP
buildclient(1)、buildserver(1)、viewc、viewc32(1)
UNIXシステムのリファレンス・マニュアルのcc(1)、environ(5)
tuxtypes - バッファ・タイプ・スイッチ、Oracle Tuxedoシステムのバッファ・タイプの説明
/*
* The following definitions are specified in
* $TUXDIR/lib/tmtypesw.c
*/
#include <stdio.h>
#include <tmtypes.h>
/*
* Initialization of the buffer type switch.
*/
struct tmtype_sw_t tm_typesw[] = {
{
"CARRAY", /* type */
"*", /* subtype */
0 /* dfltsize */
NULL, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
NULL, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
NULL, /* encdec */
NULL, /* route */
NULL, /* filter */
NULL, /* format */
NULL, /* presend2 */
NULL /* multibyte code-set encoding conversion */
},
{
"STRING", /* type */
"*", /* subtype */
512, /* dfltsize */
NULL, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
_strpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_strencdec, /* encdec */
NULL, /* route */
_sfilter, /* filter */
_sformat, /* format */
NULL, /* presend2 */
NULL /* multibyte code-set encoding conversion */
},
{
"FML", /* type */
"*", /* subtype */
1024, /* dfltsize */
_finit, /* initbuf */
_freinit, /* reinitbuf */
_funinit, /* uninitbuf */
_fpresend, /* presend */
_fpostsend, /* postsend */
_fpostrecv, /* postrecv */
_fencdec, /* encdec */
_froute, /* route */
_ffilter, /* filter */
_fformat, /* format */
NULL, /* presend2 */
NULL /* multibyte code-set encoding conversion */
},
{
"VIEW", /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit, /* initbuf */
_vreinit, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec, /* encdec */
_vroute, /* route */
_vfilter, /* filter */
_vformat, /* format */
NULL, /* presend2 */
NULL /* multibyte code-set encoding conversion */
},
{
/* XATMI - identical to CARRAY */
"X_OCTET", /* type */
"*", /* subtype */
0 /* dfltsize */
},
{ /* XATMI - identical to VIEW */
{'X','_','C','_','T','Y','P','E'}, /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit, /* initbuf */
_vreinit, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec, /* encdec */
_vroute, /* route */
_vfilter, /* filter */
_vformat, /* format */
NULL, /* presend2 */
NULL /* multibyte code-set encoding conversion */
},
{
/* XATMI - identical to VIEW */
{'X','_','C','O','M','M','O','N'}, /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit, /* initbuf */
_vreinit, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec, /* encdec */
_vroute, /* route */
_vfilter, /* filter */
_vformat, /* format */
NULL, /* presend2 */
NULL /* multibyte code-set encoding conversion */
},
{
"FML32", /* type */
"*", /* subtype */
1024, /* dfltsize */
_finit32, /* initbuf */
_freinit32, /* reinitbuf */
_funinit32, /* uninitbuf */
_fpresend32, /* presend */
_fpostsend32, /* postsend */
_fpostrecv32, /* postrecv */
_fencdec32, /* encdec */
_froute32, /* route */
_ffilter32, /* filter */
_fformat32, /* format */
_fpresend232 /* presend2 */
_fmbconv32 /* multibyte code-set encoding conversion */
},
{
"VIEW32", /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit32, /* initbuf */
_vreinit32, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend32, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec32, /* encdec */
_vroute32, /* route */
_vfilter32, /* filter */
_vformat32, /* format */
NULL, /* presend2 */
NULL /* multibyte code-set encoding conversion */
},
{
"XML", /* type */
"*", /* subtype */
0, /* dfltsize */
NULL, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
NULL, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
NULL, /* encdec */
_xroute, /* route */
NULL, /* filter */
NULL, /* format */
NULL, /* presend2 */
NULL /* multibyte code-set encoding conversion */
},
{
"MBSTRING", /* type */
"*", /* subtype */
0, /* dfltsize */
_mbsinit, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
_mbspresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
NULL, /* encdec */
NULL, /* route */
NULL, /* filter */
NULL, /* format */
NULL, /* presend2 */
_mbsconv /* multibyte code-set encoding conversion */
},
{
""
}
};struct tmtype_sw_t _TM_FAR *
_TMDLLENTRY
_tmtypeswaddr(void)
{
return(tm_typesw);
}
次の表に、Oracle Tuxedoシステムの11のバッファ・タイプを示します。
すべてのVIEW、X_C_TYPE、およびX_COMMONバッファは同じルーチン・セットで処理され、特定のVIEWの名前はそのサブタイプの名前です。
カスタム・バッファ・タイプを指定する場合には、上記のtm_typesw配列にインスタンスを追加します。新しいバッファ・タイプを追加したり、既存のバッファ・タイプを削除したりする場合は、上に示したように配列の最後にNULLエントリを残しておく必要があります。バッファ・タイプにNULL名を指定することはできません。
デフォルトの配列のコピーは$TUXDIR/lib/tmtypesw.cで配布され、開始点として使用されます。新しいバッファ・タイプ・スイッチをインストールする手順として推奨されるのは、tmtypesw.cをコンパイルし、libbuftというライブラリ内に唯一の要素として格納することです。
共有オブジェクト機能を持つシステムでは、$TUXDIR/libの下にlibbuft.so.という新しいインスタンスを作成およびインストールします。WSHなどのOracle Tuxedoシステム・プロセスを含むすべてのプロセスは、再コンパイルしなくても新しいタイプ・スイッチに自動的にアクセスできるようになります。Windowsのワークステーションでは、バッファ・タイプ・スイッチのための共有オブジェクトはWBUFT.DLLです。これは、$TUXDIR¥binに格納される必要があります。
共有オブジェクト機能を持たないシステムでは、$TUXDIR/libの下にlibbuft.aという新しいインスタンスを作成およびインストールします。新しいタイプについて知る必要があるすべてのプロセスは、buildclient(1)またはbuildserver(1)を使用して再作成する必要があります。WSHのようなシステム・プロセスは、buildwsh(1)などの特別なコマンドで再作成する必要があります。
バッファ・タイプ・スイッチの要素とルーチンについては、buffer(3c)を参照してください。そこでは、システム標準のバッファ・タイプを変更するときにアプリケーションが使用できるOracle Tuxedoシステムのデフォルト・ルーチン(_finit()など)についても説明されています。
システムに用意されている_froute()、_vroute()、および_xroute()の3つのルーティング関数は、それぞれFMLバッファ、VIEWバッファ、およびXMLバッファのデータ依存型ルーティングに使用されます。これら3つの関数で使用するルーティング基準の定義方法については、UBBCONFIG(5)を参照してください。
$TUXDIR/tuxedo/include/tmtypes.h—the type switch definition
$TUXDIR/lib/tmtypesw.c—the default type switch instantiation
$TUXDIR/lib/libbuft.so.—type switch shared object
$TUXDIR/lib/libbuft.a—type switch archive library buffer(3c)、typesw(5)、UBBCONFIG(5)
typesw - バッファ・タイプ・スイッチ構造体、各バッファ・タイプに必要なパラメータとルーチン
/*
* The following definitions are in $TUXDIR/include/tmtypes.h
*/
#define TMTYPELEN ED_TYPELEN
#define TMSTYPELEN ED_STYPELEN
struct tmtype_sw_t {
char type[TMTYPELEN]; /* type of buffer */
char subtype[TMSTYPELEN]; /* subtype of buffer */
long dfltsize; /* default size of buffer */
/* buffer initialization function pointer */
int (_TMDLLENTRY *initbuf) _((char _TM_FAR *, long));/* buffer reinitialization function pointer */
int (_TMDLLENTRY *reinitbuf) _((char _TM_FAR *, long));
/* buffer un-initialization function pointer */
int (_TMDLLENTRY *uninitbuf) _((char _TM_FAR *, long));
/* pre-send buffer manipulation func pointer */
long (_TMDLLENTRY *presend) _((char _TM_FAR *, long, long));
/* post-send buffer manipulation func pointer */
void (_TMDLLENTRY *postsend) _((char _TM_FAR *, long, long));
/* post-receive buffer manipulation func pointer*/
long (_TMDLLENTRY *postrecv) _((char _TM_FAR *, long, long));
/* XDR encode/decode function pointer */
long (_TMDLLENTRY *encdec) _((int, char _TM_FAR *, long, char _TM_FAR *, long));
/* routing function pointer */
int (_TMDLLENTRY *route) _((char _TM_FAR *, char _TM_FAR *, char _TM_FAR *,
long, char _TM_FAR *));
/* buffer filtering function pointer */
int (_TMDLLENTRY *filter) _((char _TM_FAR *, long, char _TM_FAR *, long));
/* buffer formatting function pointer */
int (_TMDLLENTRY *format) _((char _TM_FAR *, long, char _TM_FAR *,
char _TM_FAR *, long));
/* process buffer before sending, possibly generating copy */
long (_TMDLLENTRY *presend2) _((char _TM_FAR *, long,
long, char _TM_FAR *, long, long _TM_FAR *));
/* Multibyte code-set encoding conversion function pointer*/
long (_TMDLLENTRY *mbconv) _((char _TM_FAR *, long,
char _TM_FAR *, char _TM_FAR *, long, long _TM_FAR *));
/* this space reserved for future expansion */
void (_TMDLLENTRY *reserved[8]) _((void));
};
/*
* application types switch pointer
* always use this pointer when accessing the table
*/
extern struct tmtype_sw_t *tm_typeswp;
バッファ・タイプとサブタイプには、バッファが操作されるときに適切なルーチンが呼び出されるようにするため、tm_typesw配列内にエントリが必要です。Oracle Tuxedoシステムに用意されているバッファ・タイプについては、tuxtypes(5)を参照してください。
カスタマイズしたバッファ・タイプを指定する場合は、$TUXDIR/lib/tmtypesw.c.のtm_typesw配列にインスタンスを追加します(この方法は、「tuxtypes(5)」を参照してください)。新しいタイプを追加する場合に指定する必要があるルーチンのセマンティクスについては、buffer(3c)を参照してください。
$TUXDIR/tuxedo/include/tmtypes.h—the type switch definition
$TUXDIR/lib/tmtypesw.c—the type switch instantiation
UBBCONFIG - テキスト形式のOracle Tuxedo構成ファイル。
Oracle Tuxedoアプリケーションが起動するとき、tmbootコマンドはTUXCONFIGというバイナリ構成ファイルを参照して、アプリケーション・サーバーの起動処理と掲示板の初期化処理を順番に行うために必要な情報を取得します。このバイナリ・ファイルは直接作成できるものではなく、UBBCONFIGと呼ばれるテキスト・ファイルから作成する必要があります。アプリケーションを構成するには、管理者はテキスト・エディタでUBBCONFIGファイルを作成し、次にtmloadcf(1)コマンドを実行してそのファイルをバイナリ形式のTUXCONFIGにロードします。アプリケーションが実行されている間、TUXCONFIGファイルはさまざまなOracle Tuxedo管理ツールによって使用されます。tmadmin(1)は、システムのモニター活動時に構成ファイル(またはそのコピー)を使用します。 また、tmshutdown(1)は構成ファイルを参照して、アプリケーションを停止するために必要な情報を調べます。
Oracle Tuxedo UBBCONFIGファイルにはどのような名前を付けることもできますが、ファイルの内容はこのリファレンス・ページで説明する形式に準拠している必要があります。また、TUXCONFIGファイルにも任意の名前を付けることができますが、実際の名前はTUXCONFIG環境変数で指定されたデバイス・ファイル名またはシステム・ファイル名になります。
UBBCONFIGファイル全体の詳細と例は、「T_WSHクラスの定義」を参照してください。
サーバーとは、リクエストを受け付け、その応答をクライアントや別のサーバーに送信するプロセスです。一方、クライアントはリクエストを送信し、その応答を受け取ります。
リソース・マネージャとは、情報やプロセス(またはその両方)の集まりへのアクセスを提供するインタフェースおよび関連ソフトウェアです。リソース・マネージャの例としては、データベース管理システムがあります。リソース・マネージャのインスタンスとは、DBMSによって制御される、特定のデータベースのインスタンスのことです。分散トランザクションとは、複数のリソース・マネージャのインスタンスにまたがるトランザクションのことで、tpbegin()で開始され、tpcommit()またはtpabort()で完了します。
サーバー・グループはリソース・マネージャのインスタンスであり、特定のマシン上に配置されたこのリソース・マネージャ・インスタンスへのアクセスを提供するサーバーやサービスの集合です。このサーバー・グループに関連付けられているXAインタフェースは、トランザクション管理に使用されます。サーバーがリソース・マネージャのインスタンスにアクセスしないか、または分散型トランザクションの一部としてリソース・マネージャのインスタンスにアクセスしない場合は、そのサーバーはサーバー・グループにあって、NULLのXAインタフェースを持つ必要があります。同様に、クライアントはGROUPSセクションで指定する必要のない、特別なクライアント・グループ内で動作します。このクライアント・グループはリソース・マネージャには関連付けられません。
リモート・ドメインは、このOracle Tuxedoシステム構成の掲示板が使用できない環境として定義されます。リモート・ドメインはUBBCONFIG構成ファイルには指定せず、ホスト固有のリファレンス・ページに指定されているホスト固有の環境変数を介して定義します。
UBBCONFIGファイルは、9つの指定セクションで構成されます。先頭にアスタリスク(*)が付いている行は、指定セクションの始まりを示します。このような行にはそれぞれ、*のすぐ後にセクション名が含まれています。使用可能なセクション名は次のとおりです。
RESOURCESおよびMACHINESセクションは、この順序で最初に置く必要があります。GROUPSセクションは、RMS、SERVERS、SERVICESおよびROUTINGセクションの前になければなりません。NETGROUPSセクションは、NETWORKセクションの前になければなりません。
パラメータ(RESOURCES内を除く)は通常、KEYWORD = valueという形式で指定します。等号(=)の前後には空白またはタブ文字を使用できます。この形式により、KEYWORDがvalueに設定されます。有効なキーワードについては、以下の各セクションで説明します。
予約語のDEFAULTで始まる行にはパラメータ指定が含まれており、セクション内の以降の該当するすべての行に対して適用されます。デフォルトの指定は、RESOURCESセクション以外のすべてのセクションで使用できます。1つのセクションで複数回使用することもできます。これらの行の形式は次のとおりです。
DEFAULT: [optional KEYWORD=value pairs]
この行で設定した値は、別のDEFAULT行によってリセットされるか、セクションが終わるまで有効です。これらの値は、DEFAULTでない行の省略可能なパラメータによってオーバーライドされる場合もあります。DEFAULTでない行におけるパラメータ設定は、その行でのみ有効です。以降の行ではデフォルト設定に戻ります。DEFAULTが行頭に表示されると、それ以前に設定されたすべてのデフォルト値はクリアされ、システムのデフォルト値に戻ります。
値がnumericの場合は、Cの標準表記法を使用して基数を示します。つまり、基数16 (16進)の接頭辞は0x、基数8 (8進)の接頭辞は0、基数10 (10進)には接頭辞が付きません。数値パラメータに指定できる値の範囲は、そのパラメータの説明の下に示されています。
値がidentifier (SECURITYパラメータのAPP_PWのようにOracle Tuxedoシステムにとって既知の文字列値)の場合、一般的に標準C規則が使用されます。標準Cのidentifierの先頭には英字またはアンダースコアを使用し、以降の識別子には英数字またはアンダースコアを使用する必要があります。identifierの長さは最大30バイトです(最後のNULLを除く)。
| 注意: | 識別子を二重引用符で囲む必要はありません。 |
整数でも識別子でもない値は、二重引用符で囲む必要があります。この値はユーザー定義のstringです。ユーザー定義の文字列は、最後のNULL文字を除き最大78文字(バイト)です。この規則には、以下のような例外があります。
CLOPTパラメータの長さは最大1024文字です。BUFTYPE、OPENINFO、およびCLOSEINFOパラメータの長さは最大256文字です。TUXCONFIG、TUXDIR、APPDIR、TLOGDEVICE、ULOGPFX、ENVFILE、TMSNAME、RCMD、NADDR、NLSADDR、FADDR、およびAOUT (SERVERSセクション)パラメータの長さは、Oracle Tuxedoリリース8.1では最大256文字です。Oracle Tuxedo 8.0以前では、これらの値の文字列値は78文字に制限されます。SEC_PRINCIPAL_NAME、SEC_PRINCIPAL_LOCATION、およびSEC_PRINCIPAL_PASSVARパラメータの長さは、それぞれ最大51、1023、および31文字です(最後のNULLを除く)。RANGESパラメータの長さは最大2048文字です(ただしDomainsの場合は最大4096文字)。 ROUTINGセクションのRANGESパラメータでは、特定の文字は円マークを用いることによって文字列の中でエスケープすることができます。
「¥u165 」は1つの円マーク
「¥」は二重引用符
「¥」は復帰改行
「¥」はタブ
「¥」は用紙送り
「¥+」は8進数の値が0+である文字と解釈
O+は1桁、2桁、または3桁の8進文字を表します。「¥」は、埋込みNULL文字と解釈されます。「¥+」または「¥+」は、16進数の値がH+である文字と解釈されます。H+は1桁または複数桁の16進文字です。「¥」(「y」は上記以外のすべての文字)は、「y」と解釈されます。
"#" (シャープ記号)はコメントを示します。復帰改行文字でコメントを終了します。
識別子または数値定数には、常に空白類(スペースまたはタブ文字)、復帰改行文字、または句読文字(シャープ記号、等号、アスタリスク、コロン、カンマ、円マーク、またはピリオド)が付加されます。
行は、復帰改行の後に最低1つのタブを置いて継続できます。コメントを継続することはできません。
このセクションでは、サーバー数やサービス領域に存在できるサービス数など、システム全体のリソースを指定します。RESOURCESセクションの行は、KEYWORD valueという形式を取ります。KEYWORDはパラメータの名前、valueはそれに対応する値です。有効なKEYWORDは以下のとおりです。
AUTOTRAN {Y | N}
AUTOTRANは、構成階層内の2つのレベルであるRESOURCESセクションおよびSERVICESセクションで指定できます。RESOURCESセクションで指定する場合、SERVICESセクションで説明されているかどうかとは関係なく、このOracle Tuxedoアプリケーションによって提供されるすべてのアプリケーション・サービスに適用されます。サービスに対してRESOURCESセクションとSERVICESセクションの両方でAUTOTRANを指定すると、このサービスに対してのみ、SERVICESレベルのAUTOTRANによってRESOURCESレベル値がオーバーライドされます。 このパラメータはATMIインタフェースにのみ影響します。
TRANTIME numeric_value
0以上、2147483648未満で指定する必要があります。デフォルト値は30秒です。0は、マシンの最大タイムアウト値を示します。
TRANTIMEは、構成階層内の2つのレベルであるRESOURCESセクションおよびSERVICESセクションで指定できます。RESOURCESセクションで指定する場合、SERVICESセクションで説明されているかどうかとは関係なく、このOracle Tuxedoアプリケーションによって提供されるすべてのアプリケーション・サービスに適用されます。サービスに対してRESOURCESセクションとSERVICESセクションの両方でTRANTIMEを指定すると、このサービスに対してのみ、SERVICESレベルのTRANTIMEによってRESOURCESレベル値がオーバーライドされます。 このパラメータはATMIインタフェースにのみ影響します。
IPCKEY numeric_value
IPCKEYの値は、32,768より大きく262,143未満でなければなりません。このパラメータは必須です。
MASTER string_value1[,string_value2]
TUXCONFIGファイルのマスター・コピーのあるマシンを指定します。また、アプリケーションがMPモードで動作している場合、MASTERはDBBLが実行されるマシンを指定します。string_value2は、プロセスの再配置および起動時に使用されるLMIDの代替位置を指定します。本来の位置が使用できない場合、DBBLはこの代替位置で起動し、代替のTUXCONFIGファイルが使用されます。LMIDの値はどちらもMACHINESセクションにあるマシンを指定する必要があり、またどちらも30文字以下でなければなりません。このパラメータは必須です(SHMモードの場合でも)。
MASTERとBACKUPは常にすべてのマシンよりも上位のリリースを持っていなければなりません。この規則は「ホット・アップグレード」の間は強制されません。
MODEL {SHM | MP}
SHM (共有メモリー)は、単一マシン用の構成を指定します。MACHINESセクションに指定できるマシンは1つだけです。MPは、複数マシン用の構成を指定します。ネットワーク化されたアプリケーションを定義する場合は、MPを指定する必要があります。注意:再リンクせずにvalueを変更するには、必要なモデルをサポートするようにサーバーを構築しておく必要があります(buildserver(1)を参照)。
DOMAINID string_value
DOMAINIDの値が文字列の場合、後続のNULL文字も含め最大30文字まで使用できます。DOMAINIDの値が16進数の文字列の場合、最大30オクテットまで使用できます。DOMAINIDが指定されている場合、その値は、特定のドメインに関連付けられているプロセスで通知される任意のコマンド出力(psコマンドの出力など)に、パラメータ(-C dom=domainid)として含まれます。このコメントは、複数のドメインを管理する管理者にとっては役に立ちます。このコメントがないと、複数のドメインを参照する単一の出力ストリームを解釈するのが難しくなる場合があります。
UID numeric_value
RESOURCESセクションの値は、プロセッサごとにMACHINESセクションでオーバーライドできます。
GID numeric_value
GIDの指定がない場合は、tmloadcf(1)を実行するユーザーの有効グループIDが取られます。RESOURCESセクションの値は、プロセッサごとにMACHINESセクションでオーバーライドできます。
PERM numeric_value
RESOURCESセクションの値は、プロセッサごとにMACHINESセクションでオーバーライドできます。
MAXACCESSERS numeric_value
RESOURCESセクションの値は、マシンごとにMACHINESセクションでオーバーライドできます。
restartsrv、cleanupsrv、tmshutdown()、tmadmin()などのシステム管理プロセスを含める必要はありません。ただし、DBBL、すべてのブリッジ・プロセス、すべてのシステム提供サーバー・プロセスとアプリケーション・サーバー・プロセス、および特定のサイトで使用する可能性があるクライアント・プロセスはこの数に含めます。(システム提供のサーバーには、AUTHSVR、TMQUEUE、TMQFORWARD、TMUSREVT、TMSYSEVT、TMSなどがあります。GROUPSセクションのTMSNAMEパラメータ、TMS_QM、GWTDOMAIN、およびWSLを参照してください。)アプリケーションが特定のサイトでワークステーション・リスナー(WSL)を起動する場合は、起動するWSLと使用する可能性があるワークステーション・ハンドラ(WSH)の両方をこの数に含める必要があります。 Oracle Tuxedoリリース7.1より前(6.5以前)では、ユーザー・ライセンス数をチェックする仕組みにおいて、アプリケーションのMAXACCESSERSパラメータとMAXSERVERSパラメータが使用されていました。つまり、アプリケーションで実行中の1台以上のマシンのMAXACCESSERSの数と、特定のマシンのMAXACCESSERSの数の合計が、MAXSERVERSの数とユーザー・ライセンス数の合計より大きい場合、マシンを起動することはできませんでした。したがって、アプリケーションのMAXACCESSERSパラメータには、MAXSERVERSの数とユーザー・ライセンス数の合計か、またはそれより小さい値を指定しなければなりませんでした。 Oracle Tuxedoのリリース7.1以降では、アプリケーションに設定されているユーザー・ライセンスの数と、現在使用されているユーザー・ライセンスの数に基づいて、ライセンスのチェックが行われます。すべてのユーザー・ライセンスが使用中になると、アプリケーションに新しいクライアントが参加することはできなくなります。
MAXSERVERS numeric_value
AUTHSVR、TMQUEUE、TMQFORWARD、TMUSREVT、TMSYSEVT、TMSなどがあります。GROUPSセクションのTMSNAMEパラメータ、TMS_QM、GWTDOMAIN、およびWSLを参照してください。 Oracle Tuxedoシステムを使用しているサイトを管理するには、1サイトあたりほぼ1つのサーバーが必要です。さらに、DBBLプロセスとすべてのBBL、ブリッジ、およびWSHプロセスもMAXSERVERSの値に入れてください。
MAXSERVICES numeric_value
MAXGROUPS numeric_value
MAXNETGROUPS numeric_value
TUXCONFIGファイルのNETWORKセクションに対応する構成済のネットワーク・グループの最大数を指定します。この値には、1以上8192未満を指定します。指定しない場合は、デフォルト値の8が設定されます。
MAXMACHINES numeric_value
MAXQUEUES numeric_value
MAXSERVERSの値に設定されます。5.0より前のリリースと相互運用するためには、この値はMAXSERVERSの値と等しくなければなりません。
MAXACLGROUPS numeric_value
TA_MAXACLGROUPS - 1です。この値は、1以上16,384以下でなければなりません。指定しない場合のデフォルト値は16,384です。
MAXGTT numeric_value
RESOURCESセクションの値は、マシンごとにMACHINESセクションでオーバーライドできます。
MAXCONV numeric_value
SERVERSセクションに何らかの会話型サーバーが定義されていればデフォルト値は64になり、それ以外のときは1になります。1サーバー当たりの同時の会話の最大数は64です。このパラメータのRESOURCESセクションの値は、マシンごとにMACHINESセクションでオーバーライドできます。
MAXBUFTYPE numeric_value
MAXBUFSTYPE numeric_value
MAXDRT numeric_value
MAXRFT numeric_value
MAXRTDATA numeric_value
ROUTINGセクションの設定値です。
MAXSPDATA numeric_value
MAXSPDATAパラメータを使用して共通文字列プールのサイズを増やすことができます。共通文字列プールのサイズを調整しても、MAXRTDATAパラメータで制御するルーティング文字列プールのサイズには影響しません。これら2つの文字列プールは別々に制御されます。 MAXSPDATAにどのような値を指定しても、Oracle Tuxedoシステムが計算した範囲外の文字列プール領域への割当ては行われません。この範囲の計算は、(1) TUXCONFIGファイルに実際に指定した文字列、および(2)指定された文字列が最大長の256バイトである場合に必要となる領域の長さ、の2つに基づいて行われます。tmloadcf(1)コマンドは、指定された値がこの範囲を外れている場合に警告を表示し、その値を最も近い許容値に設定します。 最大許容長が256バイトに拡張されたTUXCONFIGパラメータのうち、GROUPSセクションのTMSNAMEパラメータとSERVERSセクションのAOUTおよびRCMDパラメータだけが実際に掲示板に格納されます。それ以外のパラメータは、プロセス起動時に読み込まれるか、またはプロセス・メモリーに格納されます。 | 注意: | TuxedoアプリケーションでTSAMイベント・プラグインが使用されている場合、追加のTSAMプラグイン・イベント・ルール・ストレージに対してMAXSPDATAを明示的に構成する必要があります。詳細は、『Oracle TSAM管理ガイド』の「Oracle TSAMエージェント」を参照してください。 |
MAXTRANTIME numeric_value
MAXTRANTIMEタイムアウト値が、AUTOTRANサービスに対して指定したTRANTIMEタイムアウト値またはトランザクションを開始する際にtpbegin(3c)呼出しで渡されたタイムアウト値よりも小さい場合、トランザクションのタイムアウトはMAXTRANTIME値まで減少します。MAXTRANTIMEはOracle Tuxedo 8.0以前を実行するマシン上で開始されるトランザクションには影響を与えません。ただし、Oracle Tuxedo 8.1以降が動作するマシンがトランザクションの影響を受ける場合は、そのマシンに対して構成されているMAXTRANTIME値までトランザクション・タイムアウト値が制限(必要に応じて減少)されます。 UBBCONFIGファイルのSERVICESセクションに指定されているTRANTIMEの値がMAXTRANTIMEの値より大きい場合は、tmloadcf(1)コマンドによって構成がエラーなしでロードされます。AUTOTRANトランザクションの影響を受けるOracle Tuxedo 8.1以降の各マシンは、そのマシン用に構成されているMAXTRANTIME値にトランザクション・タイムアウトを自動的に短縮します。
CMTRET {COMPLETE | LOGGED}
TP_COMMIT_CONTROL特性の初期設定を指定します。valueがLOGGEDの場合、TP_COMMIT_CONTROL特性はTP_CMT_LOGGEDに初期化され、それ以外の場合はTP_CMT_COMPLETEに初期化されます。CMTRETを指定しない場合、デフォルトCOMPLETEです。この特性の設定の詳細は、Oracle TuxedoシステムATMI関数tpscmtの説明を参照してください。
LDBAL {Y | N}
LDBALを指定しない場合、デフォルト値はYです。各サービスが1つのキューにしかマップされない場合は、ロード・バランシングが自動になっているため、LDBALをNに設定してください。
LDBALをYに設定すると、ロード・バランシングが自動的に実行されます。各インタフェース・リクエストは、負荷の合計が最も低いサーバーにルーティングされます。ルーティング先のサーバーの負荷は、ルーティングされたCORBAインタフェースのロード・ファクタ(LOAD)だけ増加します。 ロード・バランシングが無効になっており、複数のサーバーが同じCORBAインタフェースを提供する場合、使用可能な最初のキューがリクエストを受け取ります。
SYSTEM_ACCESS {FASTPATH | PROTECTED}[,NO_OVERRIDE]
FASTPATHを指定した場合、Oracle Tuxedoシステム・ライブラリは高速アクセス用のプロテクトされていない共有メモリーを介して内部表にアクセスできます。PROTECTEDを指定した場合、Oracle Tuxedoシステム・ライブラリは共有メモリーを介して内部表にアクセスできますが、Oracle Tuxedoシステム・ライブラリの外部からはそれらの表の共有メモリーにアクセスできません。NO_OVERRIDEを単独あるいはFASTPATHまたはPROTECTEDと共に指定した場合、tpinit(3c)またはTPINITIALIZE(3cbl)で使用可能なフラグを使ってアプリケーション・プロセスで選択モードをオーバーライドすることはできません。SYSTEM_ACCESSを指定しない場合、デフォルトのモードはFASTPATHです。
SYSTEM_ACCESSをPROTECTEDに設定しても、マルチスレッド・サーバーには効果がない場合があります。これは、あるスレッドがOracle Tuxedoコードを実行しているとき(つまりスレッドが掲示板にアタッチされているとき)に別のスレッドがユーザー・コードを実行できるからです。Oracle Tuxedoシステムでは、このような状況を回避することはできません。
OPTIONS {[LAN | SSL | MIGRATE | NO_XA | NO_AA | EXALOGIC | SPINTUNING | RDMA | EXT_AA | APPVER | SHMQ | RDONLY1PC | ECID_CREATE | ECID_USERLOG | EXT_MON],*}
LAN: ネットワーク・アプリケーションであることを示します。 SSL: SSLを指定しない場合は、LLEが使用されます。SSLを有効にするには、tlisten(1)の-sオプションを指定する必要があります。| 注意: | UBBCONFIG *RESOURCESセクションとtlisten SSL設定が同期していない場合、アプリケーションは起動しません。 |
MIGRATE: サーバー・グループを移行できることを示します。 MIGRATEを指定する場合は、LANも指定する必要があります(この構成が単一のマルチプロセッサ・コンピュータ上で動作する場合を除く)。 NO_XA: XAトランザクションが使用できないことを示します。 NO_AA: 監査用および認可用の関数が呼び出されないことを示します。 EXALOGIC: EXALOGICを指定する場合は、TLOG用にデフォルトのファイル・ストアではなく別のデータベース・ストアを選択できます。SPINTUNING: SPINTUNINGを指定する場合は、EXALOGICも指定する必要があります。SPINTUNINGオプションを指定すると、スピン・カウント値を動的にチューニングできるようになります。| 注意: |
| 注意: | - 共有アプリケーション・ステージング機能を使用するには、ユーザーはEXALOGICを指定する必要があります。 |
| 注意: | - SPINTUNINGおよびEXALOGICオプションがオンの場合、MACHINESセクションのSPINCOUNTパラメータは使用できません。 |
| 注意: | 詳細は、「UBBCONFIG(5)に関する追加情報」の例2「Self-Tuning Lock Mechanism」を参照してください。 |
RDMA: Direct Cross Node Communication Leveraging RDMAを有効にします。RDMAをOPTIONSに指定する場合、EXALOGICも指定する必要があります。EXT_AA: 拡張セキュリティ管理が有効になります。このパラメータは省略可能なので、デフォルト値はありません。APPVER: アプリケーション・サービス・バージョン機能が有効になります。このパラメータは省略可能です。デフォルトはオプションなしで、アプリケーション・サービス機能は無効です。アプリケーション・サービス・バージョン機能の詳細は、Tuxedoアプリケーションへのサービス・バージョンの適用に関する項を参照してください。SHMQ: プロセス間通信での共有メモリーの使用が有効になります。SHMQをOPTIONSに指定する場合、EXALOGICも指定する必要があります。RDONLY1PC: ローカルTDomainが所有するグローバル・トランザクションが、読取り専用の1フェーズ・コミット(1PC)最適化をサポートするようになります。この機能が有効になっている場合、1つを除くすべてのブランチがフェーズを準備します。すべてのブランチが同一のOracle Databaseに対して実行されている場合、最後のブランチがTLOGを書き込まずに1PCを実行します。それ以外の場合は、2PCが実行されます。| 注意: | RDONLY1PCを指定できるのは、オプションEXALOGICがすでに指定されている場合のみです。また、オプションNO_XAが指定されている場合、RDONLY1PCは指定できません。 |
ECID_CREATE: ECID (実行コンテキスト識別子)作成機能が有効になります。このケースでは、境界ノード(ネイティブ、WSおよびJoltのクライアントとドメイン・ゲートウェイを含む)がECIDを生成できます。 ECID_USERLOG: 識別子ECID_USERLOGが設定され、ECIDがNULL文字列でない場合、ECIDはユーザー・ログに追加されます。EXT_MON: この識別子は、Tuxedoターゲットの監視にOracle TSAM Plusを使用している場合のみ使用されます。インジケータを指定すると、Tuxedo TargetsセクションにリストされているすべてのメトリックがMIBで収集されます。それ以外の場合、つまりインジケータを省略した場合、Tuxedo Serverのサービス・メトリック、Tuxedo ServerのIPCキュー・メトリックおよびTuxedo BridgeのIPCキュー・メトリックはOracle Tuxedoによって収集されません。EXALOGIC_SHARED_PATH string_value[0…256]
EXALOGIC_SHARED_PATHの機能は、環境変数EXALOGIC_SHARED_PATHの機能と同じです。ただし、Tuxedoの実行時には、そのような環境変数が優先されます。EXALOGIC_SHARED_PATHは、すべてのTuxedoノードが読取り/書込み権限を持つ共有ディレクトリであることが必要です。これは、RDMAが有効になっている場合のみ*RESOURCEセクションに指定できます。
SHMQMAXMEM numeric_value
SHMQMAXMEMが指定される場合は、SHMQオプションも指定する必要があります。 SHMQMAXMEMの値には1から96,000を指定する必要があります。SHMQMAXMEMが構成されていないとき、または値が小さすぎるときに、SHMQが指定されると、推奨の最小値が使用されます。
USIGNAL {SIGUSR1 | SIGUSR2}
SIGNALベースの通知方法が使用される場合に用いられるシグナルを指定します。このパラメータの有効値は、SIGUSR1とSIGUSR2です。デフォルト値はSIGUSR2です。SIGNALベースの通知方法がNOTIFYパラメータで選択されていない場合でも、USIGNALを指定できます。これは、tpinit()の呼出し側がシグナル・ベースの通知方法を選択する場合があるためです。
SECURITY {NONE | APP_PW | USER_AUTH | ACL | MANDATORY_ACL}
NONEです。APP_PWを指定した場合、アプリケーションのパスワード・セキュリティ機能が使用されます(クライアントは初期化時にアプリケーション・パスワードを渡す必要があります)。APP_PWを指定すると、tmloadcfはアプリケーション・パスワードの入力をリクエストします。値USER_AUTHはAPP_PWとほぼ同じですが、クライアントの初期化時にユーザーごとの認証を実行する点が異なります。値ACLはUSER_AUTHとほぼ同じですが、サービス名、キュー名、およびイベント名に対してアクセス制御チェックを実行する点が異なります。名前にACLが関連付けられていなければ、アクセス権が付与されているとみなされます。値MANDATORY_ACLはACLとほぼ同じですが、名前に対応するACLが見つからない場合にパーミッションを付与しない点が異なります。
SSL_RENEGOTIATION numeric_value
AUTHSVC string_value
SECURITY識別子がUSER_AUTH、ACL、またはMANDATORY_ACLに設定されている必要があります。上位互換性のために、SECURITY APP_PWとAUTHSVCを両方設定することはSECURITY USER_AUTHを意味します。パラメータ値の長さは127文字以下にする必要があります。SECURITYレベルがUSER_AUTHの場合、デフォルトのサービス名は(指定しなかった場合は) AUTHSVCです。SECURITYレベルがACLまたはMANDATORY_ACLの場合、デフォルトのサービス名は(指定しなかった場合は) ..AUTHSVCです。
AUTHSVRは、SECURITYがUSER_AUTHに設定されているときには認証サービスをAUTHSVCとして宣言し、SECURITYがACLまたはMANDATORY_ACLに設定されているときには..AUTHSVCとして宣言します。AUTHSVCと..AUTHSVCは、同じ認証サービスを指します。 文字列値AUTHSVCと..AUTHSVCは識別子です。つまり、AUTHSVCまたは..AUTHSVCを二重引用符で囲む必要はありません。
SCANUNIT
tpbegin()でで指定できるトランザクション・タイムアウト値と、BLOCKTIMEパラメータで指定されるブロッキング・タイムアウト値に影響します。SANITYSCAN、BBLQUERY、DBBLWAITおよびBLOCKTIMEパラメータは、この単位の倍数であり、システム内のその他の時間制限の操作に使用されます。値が秒単位の場合、SCANUNITには、0より大きい2または5の倍数を60秒以内になるように指定する必要があります。ただし、値がミリ秒単位の場合、SCANUNITは、0より大きく30000ミリ秒以内になるように指定する必要があります。デフォルト値は10秒です。
SANITYSCAN numeric_value
SCANUNITの乗数で指定します。SCANUNITの値は0より大きくなければなりません。このパラメータが指定されず、SCANUNITの値が秒単位の場合、デフォルト値は(SCANUNIT * SANITYSCAN)が約120秒になるように設定されます。このパラメータが指定されず、SCANUNITの値がミリ秒単位の場合、SANITYSCANのデフォルト値は12になります。正常性チェックは、掲示板のデータ構造体のほか、サーバーに対しても実行されます。各BBLは、そのマシン上のサーバーがすべて実行可能であるかどうか、すなわち、サーバーの異常終了やループが発生していないかどうかをチェックします。実行可能な状態でないと判断されたプロセスは、起動時に指定されたオプションに応じて、クリーンアップまたは再起動されます。それに引き続き、BBLは、メッセージ(応答なし)をDBBLに送信して、BBLがOKであることを示します。
DBBLWAIT numeric_value
SCANUNITの乗数で設定します。DBBLは、BBLにリクエストを転送した後、すべてのBBLから肯定応答を受信した後でリクエスタに応答を返します。このオプションは、動作不能の、または異常なBBLを適宜通知するために使用できます。DBBLWAITには、0より大きい値を指定する必要があります。このパラメータが指定されず、SCANUNITの値が秒単位の場合は、(SCANUNIT * DBBLWAIT)がSCANUNITまたは20秒の大きい方になるように、デフォルト値が設定されます。このパラメータが指定されず、SCANUNITの値がミリ秒単位の場合、DBBLWAITのデフォルト値は2になります。
BBLQUERY numeric_value
SCANUNITの乗数で指定します。DBBLは、すべてのBBLのステータスがBBLQUERYで指定した期間内に報告されるようにします。BBLからの報告がない場合、DBBLはそのBBLにメッセージを送信し、ステータスを照会します。応答がない場合、BBLは分断されます。BBLQUERYには、0より大きい値を指定する必要があります。このパラメータが指定されず、SCANUNITの値が秒単位の場合、デフォルト値は(SCANUNIT * BBLQUERY)が約300秒になるように設定されます。このパラメータが指定されず、SCANUNITの値がミリ秒単位の場合、BBLQUERYのデフォルトは30になります。
BLOCKTIME numeric_value
SCANUNITの乗数で指定します。BLOCKTIMEの値は0より大きくなければなりません。このパラメータが指定されず、SCANUNITの値が秒単位の場合、デフォルト値は(SCANUNIT * BLOCKTIME)が約60秒になるように設定されます。このパラメータが指定されず、SCANUNITの値がミリ秒単位の場合、BLOCKTIMEのデフォルトは6になります。
NOTIFY {DIPIN | SIGNAL | THREAD | IGNORE}
tpinit()フラグ値を使用して、クライアントごとにオーバーライドできます。非請求メッセージが検出されると、tpsetunsol()関数(tpnotify())で指定されたアプリケーション定義の非請求メッセージ処理ルーチンを使用して、アプリケーションからメッセージを使用できるようになります。
DIPINは、dip-in方式で通知検出を行うことを示します。これは、システムがATMI呼出しの中でクライアント・プロセスに代わって通知メッセージだけを検出することを意味します。特定のATMI呼出し中の検出ポイントは、システムによっては定義されず、ブロック中のシステム呼出しがディップイン検出によって中断されることはありません。DIPINは、デフォルトの通知検出手段です。 SIGNALは、シグナル方式で通知検出を行うことを示します。この方式では、通知メッセージが使用可能になると、システムがターゲットのクライアント・プロセスにシグナルを送出します。システムは、この通知方法を選択しているクライアントのためにシグナル捕捉ルーチンをインストールします。 ネイティブ・クライアント・プロセスのすべてのシグナルは、アプリケーション・プロセスではなく管理システム・プロセスによって処理されます。したがって、SIGNAL方式を使用して通知できるのは、アプリケーション管理者と同じUNIXシステム・ユーザー識別子で実行されているネイティブ・クライアントのみです。ワークステーション・クライアントの場合は、どのユーザー識別子で実行されているかに関係なく、SIGNAL方式を使用できます。 | 注意: | SIGNAL通知方法は、MS-DOSクライアントまたはWindowsクライアント、およびマルチスレッド・クライアントまたはマルチコンテキスト・クライアントに対しては使用できません。 |
THREADは、THREAD方式で通知検出を行うことを示します。この方式では、非請求メッセージを受け取るための専用のスレッドが作成され、そのスレッドに非請求メッセージ・ハンドラがディスパッチされます。1つのOracle Tuxedoアプリケーションで同時に実行できる非請求メッセージ・ハンドラは1つのみです。この値は、マルチスレッド処理をサポートするプラットフォームでのみ使用できます。COBOLクライアントは、THREAD通知を使用できません。COBOLで記述されているクライアントまたはスレッドをサポートしていないプラットフォーム上で実行されているクライアントでは、UBBCONFIGデフォルト通知方法を使用することができ、UBBCONFIGデフォルト通知方法がTHREADに設定されている場合、通知方法がDIPINに変更されます。また、そのようなクライアントでは、tpinit()またはTPINITIALIZE()へのパラメータで明示的にスレッド通知が指定されていると、この関数を呼び出したときにエラーが返されます。 IGNOREを指定した場合、デフォルトで通知メッセージがアプリケーション・クライアントに無視されます。この設定は、tpinit()時の通知をリクエストするクライアントのみが非請求メッセージを受信するアプリケーションに適しています。
SEC_PRINCIPAL_NAME = string_value [0..511]
SEC_PRINCIPAL_NAMEは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVERSセクション)のいずれでも指定できます。特定の構成レベルでのプリンシパル名は、下位レベルでオーバーライドできます。どのレベルにもSEC_PRINCIPAL_NAMEが指定されていない場合、アプリケーションのプリンシパル名のデフォルト値には、このアプリケーションのRESOURCESセクションに指定されているDOMAINID文字列が設定されます。SEC_PRINCIPAL_NAMEのほかにも、SEC_PRINCIPAL_LOCATIONとSEC_PRINCIPAL_PASSVARというパラメータがあります。後の2つのパラメータは、アプリケーション起動時に、Oracle Tuxedo 7.1以降のアプリケーションで実行されるシステム・プロセス用の復号化キーを開く処理に関するものです。特定のレベルでSEC_PRINCIPAL_NAMEのみが指定されている場合には、それ以外の2つのパラメータに長さゼロのNULL文字列が設定されます。
SEC_PRINCIPAL_LOCATION = string_value [0..1023]
walletを含むディレクトリの場所です。SEC_PRINCIPAL_NAMEを含むディレクトリの場所です。指定されたプリンシプル名のOracle Walletはこのサブディレクトリに格納されます。
SEC_PRINCIPAL_NAMEで指定されたプリンシパルの復号化(プライベート)キーを収めるファイルまたはデバイスの場所を指定します。このパラメータには、最後のNULL文字を除いて1023文字まで指定できます。 SEC_PRINCIPAL_LOCATIONは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVERSセクション)のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でもSEC_PRINCIPAL_NAMEパラメータと対になっている必要があり、それ以外の場合には無視されます。(SEC_PRINCIPAL_PASSVARは省略可能です。これが指定されていない場合、システムによって長さゼロのNULL文字列が設定されます。)
SEC_PRINCIPAL_PASSVAR string_value [0..31]
SEC_PRINCIPAL_PASSVARは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVERSセクション)のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でもSEC_PRINCIPAL_NAMEパラメータと対になっている必要があり、それ以外の場合には無視されます。(SEC_PRINCIPAL_LOCATIONは省略可能です。これが指定されていない場合、システムによって長さゼロのNULL文字列が設定されます。) 初期化処理中、管理者はSEC_PRINCIPAL_PASSVARで設定された各復号化キーのパスワードを入力する必要があります。パスワードの入力は、tmloadcf(1)で求められます。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
SIGNATURE_AHEAD numeric_value (1 <= num <= 2147483647)
SIGNATURE_BEHIND numeric_value (1 <= num <= 2147483647)
SIGNATURE_REQUIRED {Y | N}
Nが設定されます。このパラメータは、Oracle Tuxedo 7.1以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
SIGNATURE_REQUIREDは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVICESセクション)のいずれでも指定できます。特定のレベルでSIGNATURE_REQUIREDにYを設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
ENCRYPTION_REQUIRED {Y | N}
Nが設定されます。このパラメータは、Oracle Tuxedo 7.1以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
ENCRYPTION_REQUIREDは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVICESセクション)のいずれでも指定できます。特定のレベルでENCRYPTION_REQUIREDにYを設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
REQUEST_VERSION { numeric_value| * } ( 0 <= num <= 65535 )
REQUEST_VERSIONは、構成階層のRESOURCEレベルとGROUPレベルに指定できます。低レベルの構成は高レベルの構成をオーバーライドします。 '*'は、リクエスト・イニシエータのバージョンが任意のバージョンでよいことを示します。つまり、この特別なバージョンはすべてのバージョン範囲と一致できます。 アプリケーション・サービス・バージョン機能が有効で、REQUEST_VERSIONが指定されない場合、デフォルト値はすべてのバージョン('*')になります。 クライアント、サーバーまたはサービスのリクエスト・バージョンは、リクエストが送信される前に構成ファイルに基づいて決定されます。 ネイティブ・クライアント/サーバーの場合、構成済のREQUEST_VERSIONによってリクエスト・バージョンが決まります。 /WSクライアントから受信するリクエストの場合、対応するWSLサーバーのリクエスト・バージョンによってリクエスト・バージョンが決まります。 Joltクライアントから受信するリクエストの場合、対応するJoltサーバーのリクエスト・バージョンによってリクエスト・バージョンが決まります。 サービスの場合、構成済のREQUEST_VERSIONとVERSION_POLICYによってリクエスト・バージョンが決まります。VERSION_POLICYが指定されない場合、サービスのリクエスト・バージョンは構成されたREQUEST_VERSIONに基づいて決まります。VERSION_POLICYがPROPAGATEと構成されている場合、サービスは受信リクエストのリクエスト・バージョンを伝播します。つまり、サービスが他のサービスを呼び出すときに、受信リクエストのリクエスト・バージョンを自らのリクエスト・バージョンとして使用します。 構成の例は、Tuxedoアプリケーションへのサービス・バージョンの適用に関する項を参照してください。
VERSION_RANGE=string_value ( 0 <= num <= 65535, num1 <= num2)
REQUEST_VERSIONは、構成階層のRESOURCEレベルとGROUPレベルに指定できます。低レベルの構成は高レベルの構成をオーバーライドします。 string_valueは、1-3のように、2つの数値(最初の数値は、2つ目の数値以下にする)の間にハイフン(-)を指定します。アプリケーション・サービス・バージョン機能が有効で、VERSION_RANGEが指定されない場合、デフォルト値は0-65535になります。
VERSION_POLICY=string_value { PROPAGATE }
PROPAGATE'のみです。サービスが受信リクエストのリクエスト・バージョンを伝播することを指定します。つまり、サービスが他のサービスを呼び出すときに、受信リクエストのリクエスト・バージョンを自らのリクエスト・バージョンとして使用します。
DBBLFAILOVER numeric_value (0 <= num < 32768)
DBBLを移行するための時間しきい値を指定します。DBBLの停止が検出され、関連するマスター・マシンにアクセスできないこともわかると、DBBLFAILOVER*SANITYSCAN*SCANUNIT秒後にDBBLがBACKマシンで再起動されます。指定されない場合、DBBLFAILOVERはデフォルトで0に設定されます。DBBLの自動移行が有効になるのは、DBBLFAILOVERが0よりも大きな値に構成された場合のみです。
SGRPFAILOVER numeric_value (0 <= num < 32768)
SGRPFAILOVER*BBLQUERY*SCANUNIT秒後に再起動されます。指定されない場合、SGRPFAILOVERはデフォルトで0に設定されます。サーバー・グループの自動移行が有効になるのは、SGRPFAILOVERが0よりも大きな値に構成された場合のみです。
MACHINESセクションでは、物理マシンの論理名を指定します。また、このセクションではマシン固有のパラメータも指定します。MACHINESセクションには、アプリケーションで使用される物理プロセッサごとのエントリが必要です。エントリの形式は次のとおりです。
ADDRESSrequired_parameters[optional_parameters]
ADDRESSはプロセッサの物理名です。たとえば、UNIXシステムのuname -nコマンドで生成される値です。Windowsシステムの場合、この値は「コントロール・パネル」にあるネットワークのコンピュータ名の値で設定でき、大文字で指定する必要があります。ADDRESSのエントリの長さは30文字以下でなければなりません。この名前が識別子でない場合は、二重引用符で囲まなければなりません。
LANオプションが指定されていない場合は、このセクションにはマシン名は1つしか指定できません。必須KEYWORDの1つにLMIDがあります。これは、物理マシンに割り当てられる論理マシンstring_valueです。LMID string_valueは、構成ファイルのMACHINESセクションの中でユニークでなければなりません。
LMID = string_value
ADDRESSのシンボリック名として、ほかのセクションでstring_valueが使用されることを指定します。この名前にはカンマを指定できません。名前は30文字以内で指定します。このパラメータは必須です。構成で使用されるすべてのマシンには、LMID行を指定する必要があります。
TUXCONFIG = string_value[2..256] (Oracle Tuxedo 8.0以前では最大64バイト)
TUXCONFIGファイルが存在するファイルまたはデバイスの絶対パス名。管理者が保守する必要があるのは、MASTERマシン上のTUXCONFIG環境変数によって指定されているTUXCONFIGファイルだけです。他のマシン上にあるこのマスターTUXCONFIGファイルのコピーは、システムの起動時に自動的にMASTERと同期されます。このパラメータは各マシンごとに指定しなければなりません。TUXOFFSETが指定されている場合、Oracle Tuxedoファイル・システムは、TUXCONFIGデバイスの最初からそのブロック数だけずれたところで起動します(後述のTUXOFFSETを参照)。の値がどのように使用されるかについては、MACHINESセクションのENVFILEを参照してください。 | 注意: | このパラメータに指定するパス名は、TUXCONFIG環境変数に指定したパス名(大文字/小文字の区別も含む)と完全に一致しなければなりません。パス名が一致していない場合、tmloadcf(1)は正常に実行されません。共有アプリケーション・ステージング機能をMPモードで使用するには、ユーザーは様々なノードで異なるTUXCONFIG値を設定する必要があります。 |
TUXDIR = string_value[2..256] (Oracle Tuxedo 8.0以前では最大78バイト)
TUXDIRはリモート・ファイル・システムにあってはいけません。マルチプロセッサ・アプリケーションのマシンに異なるリリースのOracle Tuxedoシステムがインストールされている場合、新しいリリースの『Oracle Tuxedoリリース・ノート』を参照して必要な機能を得るようにしてください。この値がどのように使用されるかについては、MACHINESセクションのENVFILEを参照してください。
APPDIR = string_value[2..256] (Oracle Tuxedo 8.0以前では最大78バイト)
SECURITYが設定されているがEXALOGICオプションもMPモードも設定されていない構成では、各アプリケーションは独自のAPPDIRを持たなければなりません。この値がどのように使用されるかについては、MACHINESセクションのENVFILEを参照してください。
UID = number
GID = number
| 注意: | 共有APPDIR機能を使用するには、各ノードでオペレーティング・システムのGIDとUIDが同じである必要があります。 |
PERM = number
RESOURCESセクションの値が指定されます。
BRTHREADS = {Y | N}
Y)かシングル・スレッド実行向け(N)のどちらに構成されているかを指定します。デフォルトはNです。このパラメータは、Oracle Tuxedo 8.1以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
BRTHREADSをYに設定しても、CPUが複数あるマシンにしか影響しません。ただし、複数のCPUがなくても、BRTHREADSを Yに設定することは可能です。 ローカル・マシンでBRTHREADSをYに設定し、リモート・マシンでBRTHREADSをN (デフォルト)に設定することは可能ですが、マシン間のスループットがシングル・スレッドのブリッジ・プロセスより大きくなることはありません。 シングル・スレッドまたはマルチスレッド実行用に構成されたブリッジ・プロセスは、Oracle TuxedoまたはWebLogic Enterpriseの旧リリース(Oracle Tuxedoリリース8.0以前、WebLogic Enterprise release 5.1以前)と相互運用できます。これは、スレッド化によって外部機能や動作が変わることはないためです。 | 注意: | BRTHREADS=Yに設定し、ブリッジ環境にTMNOTHREADS=Yが含まれている場合、ブリッジはスレッド・モードで起動し、ブリッジがTMNOTHREADSの設定を無視したことを示す警告メッセージがログに記録されます。TMNOTHREADS環境変数は、Oracle Tuxedoリリース8.0に追加されました。 |
MAXACCESSERS = number
RESOURCESセクションで指定されるMAXACCESSERSです。
restartsrv、cleanupsrv、tmshutdown()、tmadmin()などのシステム管理プロセスを含める必要はありません。ただし、DBBL、すべてのブリッジ・プロセス、すべてのシステム提供サーバー・プロセスとアプリケーション・サーバー・プロセス、およびこのサイトで使用する可能性があるクライアント・プロセスはこの数に含めます。(システム提供のサーバーには、AUTHSVR、TMQUEUE、TMQFORWARD、TMUSREVT、TMSYSEVT、TMSなどがあります。GROUPSセクションのTMSNAMEパラメータ、TMS_QM、GWTDOMAIN、およびWSLを参照してください。)アプリケーションがこのサイトでワークステーション・リスナー(WSL)を起動する場合は、起動するWSLと使用する可能性があるワークステーション・ハンドラ(WSH)の両方をこの数に含める必要があります。 Oracle Tuxedoリリース7.1より前(6.5以前)では、ユーザー・ライセンス数をチェックする仕組みにおいて、アプリケーションのMAXACCESSERSパラメータとMAXSERVERSパラメータ(RESOURCESセクションのMAXSERVERSを参照)が使用されていました。つまり、アプリケーションで実行中の1台以上のマシンのMAXACCESSERSの数と、特定のマシンのMAXACCESSERSの数の合計が、MAXSERVERSの数とユーザー・ライセンス数の合計より大きい場合、マシンを起動することはできませんでした。したがって、アプリケーションのMAXACCESSERSパラメータには、MAXSERVERSの数とユーザー・ライセンス数の合計か、またはそれより小さい値を指定しなければなりませんでした。 Oracle Tuxedoのリリース7.1以降では、アプリケーションに設定されているユーザー・ライセンスの数と、現在使用されているユーザー・ライセンスの数に基づいて、ライセンスのチェックが行われます。すべてのユーザー・ライセンスが使用中になると、アプリケーションに新しいクライアントが参加することはできなくなります。
MAXWSCLIENTS = number
MAXACCESSERSで指定したアクセサ・スロットの総数の一部になります。つまり、MAXWSCLIENTS用に予約したアクセサ・スロットは、このマシン上の別のクライアントおよびサーバーでは使用できません。この値をMAXACCESSERSより大きい値に設定した場合、エラーになります。 MAXWSCLIENTSパラメータが使用されるのは、Oracle TuxedoシステムのWorkstation機能を使用するときだけです。システムへのワークステーション・クライアントのアクセスは、Oracle Tuxedoシステム提供の代替物、つまりワークステーション・ハンドラ(WSH)を通じて多重化されるため、このパラメータを適切な値に設定することでプロセス間通信(IPC)リソースを節約できるようになります。
MAXACLCACHE = number
SECURITYがACLまたはMANDATORY_ACLに設定されているときにACLエントリのために使用されるキャッシュ内のエントリ数を指定します。このパラメータを適切に設定すると、共有メモリー上のリソースを節約しながら、ACLのチェックを行うためのディスクのアクセス回数を減らすことができます。この値は、10以上32,000以下でなければなりません。デフォルト値は100です。
MAXCONV = number
RESOURCESセクションで指定されるMAXCONVの値です。1サーバー当たりの同時の会話の最大数は64です。
MAXPENDINGBYTES = number
MAXGTT = number
RESOURCESセクションの値が指定されます。
TYPE = string_value
TYPEには、15文字以下の任意の文字列を設定できます。2つのマシンが同じTYPE値を持つ場合、それらのマシン間でデータを送信するときにデータのエンコーディングおよびデコーディングは無視されます。TYPEには、任意の文字列値を指定できます。このパラメータは、比較のために使用します。TYPEパラメータは、アプリケーションが異機種ネットワークのマシンで構成されている場合、またはネットワーク内のマシン上で様々なコンパイラを使用している場合に使用します。このパラメータを指定しない場合、デフォルト値は値が指定されていない他のすべてのエントリに一致するNULL文字列です。
CMPLIMIT = string_value1[,string_value2]
string_value1)およびローカル・プロセス(string_value2)に向けたメッセージのサイズのしきい値を指定します。どちらの値も、負以外の整数または文字列MAXLONGでなければなりません。指定しない場合、デフォルト値はMAXLONGです。
NETLOAD = numeric_value
RDMADAEMONIP = string_value[0...128]
Msgq_daemonがバインドされるIPアドレスを指定します。Direct Cross Node Communication Leveraging RDMAが有効な場合は、これにIPOIBアドレスを構成する必要があります(イーサネット・ベースのIPアドレスではありません)。1つの論理マシンには1つのMsgq_daemonが必要です。
RDMADAEMONPORT = number
Msgq_daemonがリスニングするポート番号を指定します。Direct Cross Node Communication Leveraging RDMAが有効な場合に構成する必要があります。1 - 65536の数値を指定する必要があります。
RDMAQSIZE = number
RDMAQENTRIES = number
SPINCOUNT = numeric_value
TMSPINCOUNT環境変数は無視されます。これは、プラットフォームによって異なります。デフォルト値は0です。 | 注意: | RESOURCEセクションのOPTIONS SPINTUNINGおよびEXALOGICがオンの場合、SPINCOUNTパラメータは使用できません。 |
SPINTUNING_FACTOR = numeric_value
SPINTUNING_FACTORの値が大きい場合には対応するためにSPINCOUNTの値を増やす必要があります。結果として、CPU使用率が上昇します。 | 注意: | RESOURCEセクションのOPTIONS SPINTUNINGおよびEXALOGICがオンの場合のみ使用できます。 |
SPINTUNING_FACTORの値は0 - 10000にする必要があります。この値が0の場合は(デフォルト値)、配布されたバイナリに組み込まれている値が使用されることを示します。 詳細は、「UBBCONFIG(5)に関する追加情報」の例2「Self-Tuning Lock Mechanism」を参照してください。
SPINTUNING_MINIDLECPU = numeric_value
SPINTUNING_MINIDLECPUの値は0 - 100にする必要があります。この値が0の場合は(デフォルト値)、配布されたバイナリに組み込まれている値が使用されることを示します。 詳細は、「UBBCONFIG(5)に関する追加情報」の例2「Self-Tuning Lock Mechanism」を参照してください。
EXALOGIC_MSGQ_CACHE_SIZE = numeric_value
EXALOGIC_MSGQ_CACHE_SIZEの機能は、環境変数EXALOGIC_MSGQ_CACHE_SIZEの機能と同じです。ただし、Tuxedoの実行時には、そのような環境変数が優先されます。EXALOGIC_MSGQ_CACHE_SIZEの値は32から2,048までの間で指定する必要があります。EXALOGIC_MSGQ_CACHE_SIZEを*MACHINEに指定できるのは、RDMAが有効な場合のみです。
TLOGDEVICE = string_value[0..256] (Oracle Tuxedo 8.0以前では最大64バイト)
TLOG)を格納するOracle Tuxedoファイル・システムを指定します。TLOGは、Oracle TuxedoシステムのVTOC表としてデバイスに格納されています。このパラメータを指定しない場合、そのマシンにはTLOGがないものとみなされます。
TLOGDEVICE文字列(TLOGDEVICE="DB:Oracle_XA: Oracle_XA+Acc=P/Scott/*****+SesTm=30+LogDit=/tmp")を使用して、Oracleデータベースに接続する必要があります。Oracle_XAはOracle XAインタフェースの公開名です。TLOGDEVICE文字列内の5つの連続するアスタリスク(*)は、暗号化されたパスワードを示します。 | 注意: | 共有アプリケーション・ステージング機能をMPモードで使用するには、ユーザーは様々なノードで異なるTLOGDEVICE値を設定する必要があります。 |
TLOGOFFSET = offset
TLOGNAME = string_value
TLOGです。1つのTLOGDEVICEに複数のTLOGがある場合、各TLOGの名前はユニークでなければなりません。TLOGNAMEは、TLOG表が作成される構成内の他のどのような表の名前とも異なっていなければなりません。名前は18文字以内でなければなりません。
TLOGNAMEを空にする必要があります。TLOGが同じデータベースの同じスキーマに格納される場合、TLOGNAMEはログごとに一意にする必要があります。他のプログラムでTLOGNAMEという表名を使用していないことを確認する必要があります。
TLOGSIZE = size
ULOGPFX = string_value[0..256] (Oracle Tuxedo 8.0以前では最大78バイト)
ULOGPFXの値を使用して、そのマシン上で実行されるすべてのサーバー、クライアント、管理プロセスについてのuserlog(3c)エラー・メッセージ・ファイルを作成します。このパラメータを指定しない場合、$APPDIR/ULOGが使用されます。"mmddyy" (月、日、年)をこの接頭辞に付加して、実際のログ・ファイル名を取得できます。
TUXOFFSET = offset
TUXCONFIGファイルを格納するOracle Tuxedoファイル・システムの開始点までの(デバイス先頭からの)数値オフセットをページ単位で指定します。このオフセットは0以上で、デバイス上のページ数より小さい値でなければなりません。デフォルトのオフセットは0です。0以外の値を指定した場合、TUXOFFSETの値はマシン上で起動するすべてのサーバーの環境に置かれます。この値がどのように使用されるかについては、MACHINESセクションのENVFILEを参照してください。
ENVFILE = string_value[0..256] (Oracle Tuxedo 8.0以前では最大78バイト)
=valueの形式で指定します。identの先頭にはアンダースコアまたは英文字を指定し、全体はアンダースコアまたは英数字のみで構成します。value内の${env}という形式の文字列は、ファイルの処理時に、環境内の既存の変数を使用して展開されます。前方参照はサポートされていません。値が設定されていない場合、変数は空の文字列に置換されます。円マーク(¥)を使用して、ドル記号およびそれ自体をエスケープすることができます。その他すべてのシェルのクォーテーションとエスケープのメカニズムは無視され、展開されたvalueがそのまま環境に入れられます。
tpinit()ではMACHINES ENVFILEのみを処理します。 サーバーを起動するとき、ローカル・サーバーがtmboot(1)の環境を継承し、リモート・サーバー(MASTERに存在しない)がtlisten(1)の環境を継承します。対応するMACHINESエントリの情報に基づいてサーバーが起動されると、TUXCONFIG、TUXDIR、およびAPPDIRも環境に配置されます。これら3つの変数を他の値に変更しようとすると、警告メッセージが表示されます。tmbootおよびtlistenは、サーバーを起動する前にマシンのENVFILEを処理するため、環境には実行可能ファイルと動的にロードされるファイルの検索に必要なパス名が示されます。サーバーが実行されると、(アプリケーションがtpsvrinit()で制御権を得る前の)サーバー初期化の一部として、マシンおよびサーバーのENVFILEファイルから変数を読み取り、エクスポートします。マシンとサーバーの両方のENVFILEで変数が設定されている場合、サーバーのENVFILEの値がマシンのENVFILEの値をオーバーライドします。 PATHとLD_LIBRARY_PATHは特別に処理されます。サーバーがアクティブになる前に、マシンのENVFILEがスキャンされ、最初に現れたPATH変数またはLD_LIBRARY_PATH変数が検出されます。どちらのPATH変数内でも、埋め込み型の環境変数は展開されません。PATHとLD_LIBRARY_PATHを使用して、実行可能ファイルと動的にロードされるファイルのパス名を検索します。PATHでは、必ず接頭辞として${APPDIR}:${TUXDIR}/bin:/bin:を付けます(値の先頭にこの文字列が付加されていない場合)。このPATHは、単純なパス名または相対パス名で指定されたサーバーの検索パスとして使用されます。LD_LIBRARY_PATHでは、必ず接頭辞として${APPDIR}:${TUXDIR}/lib:/lib:/usr/lib:を付けます(値の先頭にこの文字列が付加されていない場合)。HPUXではSHLIB_PATHが設定され、AIXではLD_LIBRARY_PATHの代わりにLIBPATHが設定されます。 制限事項: Windowsマシンでは、慣例により、ネットワークのPATHにドライブ文字は含まれません。そのため、設定されたPATHが1つの円記号で始まる場合は(例: \pathToSet)、起動時、その後ろにもう1つ円記号が自動的に生成され、UNC (Windowsネットワーク)パス構文に一致するようになります。
SEC_PRINCIPAL_NAME=string_value[0..511]
SEC_PRINCIPAL_NAMEは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVERSセクション)のいずれでも指定できます。特定の構成レベルでのプリンシパル名は、下位レベルでオーバーライドできます。どのレベルにもSEC_PRINCIPAL_NAMEが指定されていない場合、アプリケーションのプリンシパル名のデフォルト値には、このアプリケーションのRESOURCESセクションに指定されているDOMAINID文字列が設定されます。SEC_PRINCIPAL_NAMEのほかにも、SEC_PRINCIPAL_LOCATIONとSEC_PRINCIPAL_PASSVARというパラメータがあります。後の2つのパラメータは、アプリケーション起動時に、Oracle Tuxedo 7.1以降のアプリケーションで実行されるシステム・プロセス用の復号化キーを開く処理に関するものです。特定のレベルでSEC_PRINCIPAL_NAMEのみが指定されている場合には、それ以外の2つのパラメータに長さゼロのNULL文字列が設定されます。
SEC_PRINCIPAL_LOCATION = string_value [0..1023]
walletを含むディレクトリの場所です。SEC_PRINCIPAL_NAMEを含むディレクトリの場所です。指定されたプリンシプル名のOracle Walletはこのサブディレクトリに格納されます。
SEC_PRINCIPAL_NAMEで指定されたプリンシパルの復号化(プライベート)キーを収めるファイルまたはデバイスの場所を指定します。このパラメータには、最後のNULL文字を除いて1023文字まで指定できます。 SEC_PRINCIPAL_LOCATIONは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVERSセクション)のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でもSEC_PRINCIPAL_NAMEパラメータと対になっている必要があり、それ以外の場合には無視されます。(SEC_PRINCIPAL_PASSVARは省略可能です。これが指定されていない場合、システムによって長さゼロのNULL文字列が設定されます。)
SEC_PRINCIPAL_PASSVAR = string_value [0..31]
SEC_PRINCIPAL_PASSVARは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVERSセクション)のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でもSEC_PRINCIPAL_NAMEパラメータと対になっている必要があり、それ以外の場合には無視されます。(SEC_PRINCIPAL_LOCATIONは省略可能です。これが指定されていない場合、システムによって長さゼロのNULL文字列が設定されます。) 初期化処理中、管理者はSEC_PRINCIPAL_PASSVARで設定された各復号化キーのパスワードを入力する必要があります。パスワードの入力は、tmloadcf(1)で求められます。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
SIGNATURE_REQUIRED = {Y | N}
Nが設定されます。このパラメータは、Oracle Tuxedo 7.1以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
SIGNATURE_REQUIREDは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVICESセクション)のいずれでも指定できます。特定のレベルでSIGNATURE_REQUIREDにYを設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
ENCRYPTION_REQUIRED = {Y | N}
Nが設定されます。このパラメータは、Oracle Tuxedo 7.1以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
ENCRYPTION_REQUIREDは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVICESセクション)のいずれでも指定できます。特定のレベルでENCRYPTION_REQUIREDにYを設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
SICACHEENTRIESMAX = string_value
| 注意: | SERVERSセクションで対応する属性とは異なり、このパラメータでは文字列DEFAULTを有効値として使用できません。 |
このセクションでは、サーバー・グループに関する情報を指定します。このセクションには、最低1つのサーバー・グループが定義されている必要があります。サーバー・グループは、TUXCONFIGファイルの作成後にtmconfig, wtmconfig (1)を使用して追加できます。サーバー・グループのエントリには、サーバー群およびマシン上のサービス群に対して、論理名を指定します。論理名は、SERVERSセクションのSRVGRPパラメータの値に使用されます。SRVGRPは、SERVICESセクションで、グループ内の特定のサービス・インスタンスのオカレンスを識別する場合にも使用されます。GROUPSセクションのその他のパラメータは、このグループを特定のリソース管理インスタンスに関連付けます(社員データベースなど)。GROUPSセクション内にある各行の形式は次のとおりです。
GROUPNAME required_parameters [optional_parameters]
GROUPNAMEは、グループの論理名(string_value)です。グループ名は、GROUPSセクションのグループ名とMACHINESセクションの LMIDの中でユニークでなければなりません。グループ名の中にアスタリスク(*)、カンマ、コロンを入れることはできません。30文字以内である必要があります。
LMID = string_value1 [,string_value2]
MACHINESセクション(またはSHMモードのデフォルト値)のstring_value1によってシンボル名に指定されているマシンにあることを示します。LMID値は、それぞれ30文字以下でなければなりません。論理マシン名は2つまで指定できます。2つ目の論理名を指定する場合で、サーバー・グループが移行できる場合は、この2つ目の論理名は、サーバー・グループが移行できるマシンを示します。
GRPNO = number
TMSNAME = string_value[0..256] (Oracle Tuxedo 8.0以前では最大78バイト)
a.outの名前を指定します。分散トランザクション(tpbegin()で開始し、tpcommit()/tpabort()で終了する、複数のリソース・マネージャやマシンの間で処理されるトランザクション)に参加するサーバーを持つグループ・エントリに対しては、このパラメータを必ず指定する必要があります。このパラメータは、サーバー・グループを起動するときにtmboot(1)により実行されるファイル(string_value)を指定します。値TMSは、非XAインタフェースを使用することを示すために予約されています。TMS以外の空でない値が指定された場合は、このエントリのLMID値に関連するマシンに対して、TLOGDEVICEを指定する必要があります。各TMサーバーに対して一意のサーバー識別子が自動的に選択され、サーバーは何回でも再起動できます。
ENVFILE = string_value[0..256] (Oracle Tuxedo 8.0以前では最大78バイト)
=valueの形式で指定します。identはアンダースコアまたは英数字で構成します。value内の${env}という形式の文字列は、ファイルの処理時に、環境内の既存の変数を使用して展開されます。前方参照はサポートされていません。値が設定されていない場合、変数は空の文字列に置換されます。円マーク(¥)を使用して、ドル記号と円マークをエスケープできます。その他すべてのシェルのクォーテーションとエスケープのメカニズムは無視され、展開されたvalueがそのまま環境に入れられます。
TMSCOUNT = number
TMSNAMEが指定されている場合に、関連するグループに対して起動するトランザクション・マネージャ・サーバー数を指定します。このパラメータは省略可能で、デフォルト値は3です。0以外の値を指定した場合、最小値は2で、最大値は256です。TA_TMSCOUNTを11未満に設定してリソースを保存することをお薦めします。サーバーはMSSQセットに自動的に設定されます。
SEC_PRINCIPAL_NAME=string_value[0..511]
SEC_PRINCIPAL_NAMEは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVERSセクション)のいずれでも指定できます。特定の構成レベルでのプリンシパル名は、下位レベルでオーバーライドできます。どのレベルにもSEC_PRINCIPAL_NAMEが指定されていない場合、アプリケーションのプリンシパル名のデフォルト値には、このアプリケーションのRESOURCESセクションに指定されているDOMAINID文字列が設定されます。SEC_PRINCIPAL_NAMEのほかにも、SEC_PRINCIPAL_LOCATIONとSEC_PRINCIPAL_PASSVARというパラメータがあります。後の2つのパラメータは、アプリケーション起動時に、Oracle Tuxedo 7.1以降のアプリケーションで実行されるシステム・プロセス用の復号化キーを開く処理に関するものです。特定のレベルでSEC_PRINCIPAL_NAMEのみが指定されている場合には、それ以外の2つのパラメータに長さゼロのNULL文字列が設定されます。
SEC_PRINCIPAL_LOCATION = string_value [0..1023]
walletを含むディレクトリの場所です。SEC_PRINCIPAL_NAMEを含むディレクトリの場所です。指定されたプリンシプル名のOracle Walletはこのサブディレクトリに格納されます。
SEC_PRINCIPAL_NAMEで指定されたプリンシパルの復号化(プライベート)キーを収めるファイルまたはデバイスの場所を指定します。このパラメータには、最後のNULL文字を除いて1023文字まで指定できます。 SEC_PRINCIPAL_LOCATIONは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVERSセクション)のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でもSEC_PRINCIPAL_NAMEパラメータと対になっている必要があり、それ以外の場合には無視されます。(SEC_PRINCIPAL_PASSVARは省略可能です。これが指定されていない場合、システムによって長さゼロのNULL文字列が設定されます。)
SEC_PRINCIPAL_PASSVAR = string_value [0..31]
SEC_PRINCIPAL_PASSVARは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVERSセクション)のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でもSEC_PRINCIPAL_NAMEパラメータと対になっている必要があり、それ以外の場合には無視されます。(SEC_PRINCIPAL_LOCATIONは省略可能です。これが指定されていない場合、システムによって長さゼロのNULL文字列が設定されます。) 初期化処理中、管理者はSEC_PRINCIPAL_PASSVARで設定された各復号化キーのパスワードを入力する必要があります。パスワードの入力は、tmloadcf(1)で求められます。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
SIGNATURE_REQUIRED = {Y | N}
Nが設定されます。このパラメータは、Oracle Tuxedo 7.1以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
SIGNATURE_REQUIREDは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVICESセクション)のいずれでも指定できます。特定のレベルでSIGNATURE_REQUIREDにYを設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
ENCRYPTION_REQUIRED = {Y | N}
Nが設定されます。このパラメータは、Oracle Tuxedo 7.1以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
ENCRYPTION_REQUIREDは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVICESセクション)のいずれでも指定できます。特定のレベルでENCRYPTION_REQUIREDにYを設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
OPENINFO = string_value
TMSNAMEパラメータが設定されていないか、またはTMSに設定されている場合、この値は無視されます。TMSNAMEパラメータがTMS以外の値に設定されており、OPENINFOがNULL文字列("")に設定されているか、または何も設定されていない場合は、グループのリソース・マネージャは存在しますが、open操作の実行に関する情報は必要ありません。 OPENINFO文字列の形式は、基底のリソース・マネージャのベンダーごとに異なります。ベンダーに必要な情報の先頭には、ベンダーのトランザクション(XA)インタフェースの公開名とコロン(:)が付きます。 Oracle Tuxedo /Qデータベースの場合、形式は、 # On UNIX #OPENINFO = "TUXEDO/QM:qmconfig:qspace" # On Windows #OPENINFO = "TUXEDO/QM:qmconfig;qspace"です。TUXEDO/QMはOracle Tuxedo /Q XAインタフェースの公開名です。qmconfigはキュー・スペースがあるQMCONFIGの名前で置き換えられます(qmadmin(1)に関する項を参照)。qspaceはキュー・スペースの名前で置き換えられます。Windowsでは、qmconfigの後に指定する区切り文字として、セミコロン(;)を使用します。 他のベンダーのデータベースの場合、OPENINFO文字列の形式は、基礎となるリソース・マネージャを提供しているベンダーに固有です。たとえば、次のOPENINFO文字列は、Oracleのリソース・マネージャを開くときに必要な情報を示します。 OPENINFO="Oracle_XA: Oracle_XA+Acc=P/Scott/*****+SesTm=30+LogDit=/tmp" Oracle_XAはOracle XAインタフェースの公開名です。OPENINFO文字列内の5つの連続するアスタリスク(*)は、暗号化されたパスワードを示します。次に、パスワードについて説明します。 リソース・マネージャに渡されるOPENINFO文字列内のパスワードは、クリア・テキストまたは暗号化された形式で格納されます。パスワードを暗号化するには、まず、OPENINFO文字列内のパスワードが必要な場所に、5つ以上の連続するアスタリスクを入れます。次に、tmloadcf(1)コマンドを実行して、UBBCONFIGファイルをロードします。tmloadcf()は、アスタリスクの文字列を検出すると、パスワードの作成をユーザーに要求します。例: tmloadcf -y /usr5/apps/bankapp/myubbconfig
Password for OPENINFO (SRVGRP=BANKB3):
password)は、パスワードを暗号化してTUXCONFIGファイルに格納します。tmunloadcf()を使用してTUXCONFIGからUBBCONFIGファイルを再生成すると、パスワードは@@で区切られた暗号化形式でそのUBBCONFIGファイルに出力されます。たとえば、OPENINFO="Oracle_XA: Oracle_XA+Acc=P/Scott/@@A0986F7733D4@@+SesTm=30+LogDit=/tmp"です。()によって、tmunloadcf()で生成されたUBBCONFIGファイル内で暗号化されたパスワードが検出されると、ユーザーに対してパスワードの作成は要求されません。
CLOSEINFO = string_value
CLOSEINFO文字列は使用しません。
TMSNAMEパラメータが設定されていないか、またはTMSに設定されている場合、この値は無視されます。TMSNAMEパラメータがTMS以外の値に設定されているが、CLOSEINFO文字列がNULL文字列("")に設定されているか、または何も設定されていない場合は、グループのリソース・マネージャは存在しますが、close操作の実行に関する情報は必要ありません。 CLOSEINFO文字列の形式は、基底のリソース・マネージャのベンダーの要件ごとに異なります。ベンダーに必要な情報の先頭には、ベンダーのトランザクション(XA)インタフェースの公開名とコロン(:)が付きます。
MRM = {Y | N}
Nです。MRM=Yに設定されている場合のみ、*RMSセクション内のエントリでこのサーバー・グループに対して1つのRMを指定できます。グループ番号がSRVGRPであるサーバー・グループに対してMRM=Yを定義すると、グループ番号がRVGRP+1からSRVGRP+31の一連の暗黙的なサーバー・グループが占有されます。つまり、ユーザーはグループ番号がRVGRP+1からSRVGRP+31までの他のサーバー・グループを定義することはできません。
REQUEST_VERSION = { numeric_value| * } ( 0 <= num <= 65535 )
REQUEST_VERSIONは、構成階層のRESOURCEレベルとGROUPレベルに指定できます。低レベルの構成は高レベルの構成をオーバーライドします。 '*'は、リクエスト・イニシエータのバージョンが任意のバージョンでよいことを示します。つまり、この特別なバージョンはすべてのバージョン範囲と一致できます。 アプリケーション・サービス・バージョン機能が有効で、REQUEST_VERSIONが指定されない場合、デフォルト値はすべてのバージョン('*')になります。 クライアント、サーバーまたはサービスのリクエスト・バージョンは、リクエストが送信される前に構成ファイルに基づいて決定されます。 ネイティブ・クライアント/サーバーの場合、構成済のREQUEST_VERSIONによってリクエスト・バージョンが決まります。 /WSクライアントから受信するリクエストの場合、対応するWSLサーバーのリクエスト・バージョンによってリクエスト・バージョンが決まります。 Joltクライアントから受信するリクエストの場合、対応するJoltサーバーのリクエスト・バージョンによってリクエスト・バージョンが決まります。 サービスの場合、構成済のREQUEST_VERSIONとVERSION_POLICYによってリクエスト・バージョンが決まります。VERSION_POLICYが指定されない場合、サービスのリクエスト・バージョンは構成されたREQUEST_VERSIONに基づいて決まります。VERSION_POLICYがPROPAGATEと構成されている場合、サービスは受信リクエストのリクエスト・バージョンを伝播します。つまり、サービスが他のサービスを呼び出すときに、受信リクエストのリクエスト・バージョンを自らのリクエスト・バージョンとして使用します。 構成の例は、Tuxedoアプリケーションへのサービス・バージョンの適用に関する項を参照してください。
VERSION_RANGE = string_value ( 0 <= num <= 65535 )
REQUEST_VERSIONは、構成階層のRESOURCEレベルとGROUPレベルに指定できます。低レベルの構成は高レベルの構成をオーバーライドします。 string_valueは、1-3のように、2つの数値の間にハイフン(-)を指定します。アプリケーション・サービス・バージョン機能が有効で、VERSION_RANGEが指定されない場合、デフォルト値は0-65535になります。
VERSION_POLICY = string_value { PROPAGATE }
PROPAGATE'のみです。サービスが受信リクエストのリクエスト・バージョンを伝播することを指定します。つまり、サービスが他のサービスを呼び出すときに、受信リクエストのリクエスト・バージョンを自らのリクエスト・バージョンとして使用します。
このセクションは、MRM=Yを使用して1つのサーバー・グループに対して複数のRMをサポートするためのRM情報を提供します。これにより、グループ内のアプリケーション・サーバーは、1回のトランザクション中に異なるRMを使用して複数の接続を確立できます。RMSセクションでは、各エントリは1つのサーバー・グループに対して1つのRMを説明します。このグループで複数のRMをサポートする必要がある場合、このセクションに複数のエントリを指定する必要があります。このセクション内のエントリの一般的な形式は、次のとおりです。
RMSNAME required_parameters [optional_parameters]
RMSNAMEは、RMSエントリの論理名を指定します。この名前は、RMSセッション内のすべてのエントリ名で一意である必要があり、アスタリスク(*)、カンマまたはコロンは使用できません。30文字以内である必要があります。
リスト8は、複数のRMS構成の例を示しています。この例では、サーバー・グループGROUP1に対して3つのRMを指定しています。このため、GROUP1のアプリケーション・サーバーは、GROUPSに指定されているデフォルト接続とMRM1およびMRM2に対して3つの接続を確立できます。
…
*GROUPS
# Default RM must be configured in here.
GROUP1 LMID=simple GRPNO=7 TMSNAME=ORATMS TMSCOUNT=2
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+sqlNet=tsam+SesTm=600+MaxCur=5+LogDir=. "
CLOSEINFO=NONE MRM=Y
GROUP2 LMID=simple GRPNO=39
……
*RMS
MRM1 RMID=1 SRVGRP=GROUP1
TMSNAME=ORATMS1 TMSCOUNT=2 AUTO=Y
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+sqlNet=tsam+SesTm=600+MaxCur=5+LogDir=. "
CLOSEINFO=NONE
MRM2 RMID=2 SRVGRP=GROUP1
TMSNAME=ORATMS2 TMSCOUNT=3 AUTO=N
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+sqlNet=orac+SesTm=600+MaxCur=5+LogDir=. "
CLOSEINFO=NONE
…..
*SERVERS
…..
SRVGRP = string_value
*GROUPSセクションでサーバー・グループに関連付けられた論理名を指定する必要があります。名前は30文字以内でなければなりません。GROUPSセクションのエントリとこのように関連付けることにより、このグループのすべてのアプリケーション・サーバーがこのRMとの接続を確立できます。また、このグループ・エントリに定義されているすべてのパラメータ(たとえば、ENVFILE、SEC_PRINCIPAL_NAME、SEC_PRINCIPAL_LOCATION、SEC_PRINCIPAL_PASSVAR、SIGNATURE_REQUIREDおよびENCRYP_REQUIRED)が、このエントリに渡されることも指定されます。すべてのRMSエントリには、サーバー・グループのパラメータが指定されることが必要です。
RMID = number
TMSNAME = string_value[0..256]
tpbegin()で開始し、tpcommit()/tpabort()で終了する、複数のリソース・マネージャやマシンの間で処理されるトランザクション)に参加するサーバーを持つグループ・エントリに対しては、このパラメータを必ず指定する必要があります。このパラメータは、サーバー・グループを起動するときにtmboot(1)により実行されるファイル(string_value)を指定します。値TMSは、NULL XAインタフェースを使用することを示すために予約されています。TMS以外の空でない値が指定された場合は、関連するグループ・エントリ内のLMID値に関連するマシンに対して、TLOGDEVICEを指定する必要があります。各TMサーバーに対して一意のサーバー識別子が自動的に選択され、サーバーは何回でも再起動できます。
TMSCOUNT = number
TMSNAMEが指定されている場合に、1つのサーバー・グループ内の関連するRMに対して起動するトランザクション・マネージャ・サーバー数を指定します。このパラメータは省略可能で、デフォルト値は3です。0以外の値を指定した場合、最小値は2で、最大値は256です。サーバーはMSSQセットに自動的に設定されます。
OPENINFO = string_value
TMSNAMEパラメータが設定されていないか、またはTMSに設定されている場合、この値は無視されます。TMSNAMEパラメータがTMS以外の値に設定されており、OPENINFOがNULL文字列("")に設定されているか、または何も設定されていない場合は、グループのリソース・マネージャは存在しますが、オープン操作の実行に関する情報は必要ありません。OPENINFO文字列の形式は、基底のリソース・マネージャのベンダーごとに異なります。ベンダーに必要な情報の先頭には、ベンダーのトランザクション(XA)インタフェースの公開名とコロン(:)が付きます。Oracle Tuxedo /Qデータベースの場合、形式は、# On UNIX #
OPENINFO = "TUXEDO/QM:qmconfig:qspace"
# On Windows #
OPENINFO = "TUXEDO/QM:qmconfig;qspace"です。TUXEDO/QMはOracle Tuxedo /Q XAインタフェースの公開名です。qmconfigはキュー・スペースがあるQMCONFIGの名前で置き換えられます(qmadmin(1)に関する項を参照)。qspaceはキュー・スペースの名前で置き換えられます。Windowsでは、qmconfigの後に指定する区切り文字として、セミコロン(;)を使用します。他のベンダーのデータベースの場合、OPENINFO文字列の形式は、基礎となるリソース・マネージャを提供しているベンダーに固有です。たとえば、次のMOPENINFO文字列は、Oracleリソース・マネージャをオープンするときに必要な情報のタイプを示します。 Oracle XAインタフェースの公開名はOPENINFO="Oracle_XA: Oracle_XA+Acc=P/Scott/*****+SesTm=30+LogDit=/tmp" Oracle_XAです。 OPENINFO文字列内の5つの連続するアスタリスク(*)は、暗号化されたパスワードを示します。リソース・マネージャに渡されるOPENINFO文字列内のパスワードは、クリア・テキストまたは暗号化された形式で格納されます。パスワードを暗号化するには、まず、OPENINFO文字列内のパスワードが必要な場所に、5つ以上の連続するアスタリスクを入れます。次に、tmloadcf(1)コマンドを実行して、UBBCONFIGファイルをロードします。tmloadcf()は、アスタリスクの文字列を検出すると、パスワードの作成をユーザーに要求します。たとえば、tmloadcf -y /usr5/apps/bankapp/myubbconfigです。 Password for OPENINFO (RMS entry name= BANKB3): password tmloadcf(1)は、パスワードを暗号化してTUXCONFIGファイルに格納します。tmunloadcf()を使用してTUXCONFIGファイルからUBBCONFIGファイルを再生成すると、パスワードは@@で区切られた暗号化形式でそのUBBCONFIGファイルに出力されます。たとえば、OPENINFO="Oracle_XA: Oracle_XA+Acc=P/Scott/@@A0986F7733D4@@+SesTm=30+LogDit=/tmp"です。tmloadcf()によって、tmunloadcf()で生成されたUBBCONFIGファイル内で暗号化されたパスワードが検出されると、ユーザーに対してパスワードの作成は要求されません。
CLOSEINFO = string_value
CLOSEINFO文字列は使用しません。
TMSNAMEパラメータが設定されていないか、またはTMSに設定されている場合、この値は無視されます。TMSNAMEパラメータがTMS以外の値に設定されているが、CLOSEINFO文字列がNULL文字列("")に設定されているか、または何も設定されていない場合は、グループのリソース・マネージャは存在しますが、close操作の実行に関する情報は必要ありません。CLOSEINFO文字列の形式は、基底のリソース・マネージャのベンダーの要件ごとに異なります。ベンダーに必要な情報の先頭には、ベンダーのトランザクション(XA)インタフェースの公開名とコロン(:)が付きます。
AUTO = {Y | N}
AUTO=Yを指定すると、サーバーの起動時にtpopen()を介してRMへの接続が確立されます。クライアントが(TMSによって監視されている)サービスを呼び出すと、対応するRMのxa_startが自動的に呼び出されます。AUTO=Nを指定する場合、アプリケーション・サーバーでtprmopenおよびtmrmstartを明示的に呼び出す必要があります。デフォルト値はYです。TMSNAMEパラメータをNULLに設定すると、この項目は無視されます。AUTO=Yで同じサーバー・グループに属するRMSエントリの数は、0から15までの値である必要があります。
NETGROUPSセクションでは、LAN環境で使用可能なネットワーク・グループに関する情報を指定します。複数のネットワーク・グループに、複数のマシンのペアが存在できます。通信を行う2つのノードは、優先度メカニズムを使用して、そのグループの要素間での通信方法を決定します。
すべてのLMIDは、デフォルトのネットワーク・グループ(DEFAULTNET)のメンバーでなければなりません。リリース6.4 (NETGROUPSが使用可能)以前のOracle Tuxedoリリースを実行するマシンは、DEFAULTNETネットワーク・グループにのみ属することができます。DEFAULTNETのネットワーク・グループ番号(NETGRPNO)は0 (ゼロ)で、変更できません。ただし、DEFAULTNETのデフォルト優先度は変更できます。
NETGROUP required_parameters [optional_parameters]
NETGROUPはネットワーク・グループ名です。NETGROUPがDEFAULTNETと同じである場合、エントリはデフォルトのネットワーク・グループを表します。
NETGRPNO = numeric_value
NETPRIO = numeric_value
DEFAULTNETの唯一の変更可能なパラメータです。 | 注意: | 並列データ回線は、優先グループ番号中のネットワーク・グループ番号(NETGRPNO)によって優先付けされます。 |
NETWORKでは、LAN環境用のネットワーク構成を指定します。BRIDGEサーバーが位置している各プロセッサごとに、NETWORKセクションにエントリを入れて、BRIDGEプロセスのネットワーク・アドレスを指定しなければなりません。このセクションが存在し、RESOURCESセクションのOPTIONSパラメータにLANが指定されていない場合、エラーが発生します。
LMID required_parameters [optional_parameters]
LMIDは、BRIDGEプロセスが存在する論理マシンです。LMIDには、使用されるネットワーク・デバイスへの直接アクセス権が必要です(BRIDGEパラメータで指定されます)。
NADDR = string_value[0..256] (Oracle Tuxedo 8.0以前では最大78バイト)
LMIDのブリッジ・プロセスが使用する完全なネットワーク・リスニング用アドレスを指定します。ブリッジのリスニング用アドレスは、アプリケーションに参加している他のブリッジ・プロセスの通信手段となります。string_valueの形式が"0xhex-digits"または"\\xhex-digits"の場合、偶数の有効な16進数を含める必要があります。これらの形式は、TCP/IPドレスを含む文字配列に内部変換され、以下の形式のいずれかになります(表73を参照)。
hostnameはTCP/IPホスト・アドレスに解決されます。IPv4の場合、"#.#.#.#"はドットで区切った10進数の形式で、#は0から255までの10進数の値を表します。port_numberは0から65535までの10進数で、指定された文字列の16進表現です。 | 注意: | 一部のポート番号は、お使いのシステムで使用されるトランスポート・プロトコル(TCP/IPなど)のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート・プロトコルのドキュメントを調べてください。 |
BRIDGE = string_value
LMIDのBRIDGEプロセスがネットワークにアクセスするために使用するデバイス名を指定します。この名前は、ネットワーク対応のアプリケーションにTLIベースのOracle Tuxedoシステム・バイナリを通じて参加する際に必要になります。このパラメータは、ソケット・ベースのOracle Tuxedoシステム・バイナリでは不要です。
NLSADDR = string_value[0..256] (Oracle Tuxedo 8.0以前では最大78バイト)
tlisten(1)プロセスが使用するネットワーク・アドレスを指定します。NLSADDR用のネットワーク・アドレスは、上記NADDRパラメータ用に指定されたのと同じ形式です。アドレスの形式が"0xhex-digits"または"\\xhex-digits"の場合、偶数の有効な16進数を含める必要があります。TCP/IPアドレスは、"//#.#.#.#:port"という形式で指定します。 NLSADDRがMASTER LMID以外のマシンのエントリにない場合、tmloadcf(1)はエラーを出力します。ただし、NLSADDRがMASTER LMIDにない場合、tmadmin(1)はリモート・マシン上で管理モードでは実行できず、読取り専用操作に限定されます。これはまた、バックアップ・サイトが障害後にマスター・サイトを再起動できないことを意味します。 | 注意: | アドレスの形式はnaddrと同じです。 |
FADDR = string_value[0..256] (Oracle Tuxedo 8.0以前では最大78バイト)
FRANGEパラメータと共に、アウトバウンド接続を確立する前にプロセスがバインドを試みるTCP/IPポートの範囲を決定します。このアドレスには、TCP/IPアドレスを指定する必要があります。TCP/IPアドレスのポート部分は、プロセスがTCP/IPポートをバインドできる範囲のベース・アドレスを表します。FRANGEパラメータは、範囲の大きさを指定します。たとえば、このアドレスが//mymachine.bea.com:30000でFRANGEが200の場合、このLMIDからアウトバウンド接続の確立を試みるすべてのネイティブ・プロセスは、mymachine.bea.com上のポートを30000から30200の間でバインドします。このパラメータを設定しない場合、デフォルトは空文字列になり、オペレーティング・システムがローカル・ポートを任意に選択します。 | 注意: | TCP/IPのIPv4とIPv6のアドレッシングはNADDRと同じです。 |
FRANGE = number
FADDRパラメータは、範囲のベース・アドレスを指定します。たとえば、FADDRパラメータが//mymachine.bea.com:30000で、FRANGEが200に設定されている場合、このLMIDからアウトバウンド接続の確立を試みるすべてのネイティブ・プロセスは、mymachine.bea.com上のポートを30000から30200の間でバインドします。有効範囲は1から65535までです。デフォルト値は1です。
MINENCRYPTBITS = {0 | 40 | 56 | 128}
0は暗号化が行われないことを示し、40、56、および128は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルト値は0です。 | 注意: | リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。 |
MAXENCRYPTBITS = {0 | 40 | 56 | 128}
0は暗号化が行われないことを示し、40、56、および128は暗号化キーの長さをビット単位で指定します。デフォルト値は128です。 | 注意: |
NETGROUP = string_value
string_valueは、このネットワーク・エントリに関連付けるネットワーク・グループです。指定しない場合、デフォルト値はDEFAULTNETです。NETGROUPパラメータをDEFAULTNETに設定しない場合は、ファイルのNETGROUPS セクションにあるグループ名として前に指定された値を指定する必要があります。NETGROUPパラメータがDEFAULTNETに設定されているネットワーク・エントリは、すべてTM_MIBのT_MACHINEクラスで表されますが、他のNETGROUPに関連付けられたNETWORKエントリは、TM_MIBのT_NETMAPクラスで表され、旧リリースとの相互運用が可能です。
このセクションでは、システムで起動されるサーバーの初期状態に関する情報を定義します。特定のリモート環境に対しては、サーバーを、連続的に動作していて、プロセスへのサーバー・グループのサービス・リクエストを待機しているプロセスであるとする考え方を適用できる場合とできない場合があります。多くの環境では、オペレーティング・システムあるいはリモート・ゲートウェイが、サービスの唯一のディスパッチャになります。どちらの場合でも、SERVICE表エントリ(次のセクションを参照)のみと、SERVER表エントリなしをリモート・プログラムのエントリ・ポイントに対して指定する必要があります。Oracle Tuxedoシステム・ゲートウェイ・サーバーは、リモート・ドメイン・サービス・リクエストを宣言し、キューに入れます。ホスト固有のリファレンス・ページでは、UBBCONFIGのサーバー表エントリが特定の環境に適応しているかどうかを示し、適応している場合は対応するセマンティクスを明記する必要があります。SERVERSセクション内にある各行の形式は次のとおりです。
AOUT required_parameters [optional_parameters]
AOUTは、tmboot(1)によって実行されるファイル(string_value)を指定します。tmbootは、サーバーが所属するサーバー・グループで指定されたマシン上でAOUTを実行します。tmbootはターゲット・マシンでAOUTファイルを検索します。したがって、AOUTはそのマシンのファイル・システム内に存在する必要があります。(AOUTのパスには、他のマシン上にあるファイル・システムへのRFS接続を含めることができます。)サーバーの相対パス名が指定されている場合、AOUTの検索は、APPDIR、TUXDIR/bin、/bin、pathの順で行われます。pathは、マシンの環境設定ファイル(ある場合)の最後のPATH=行に指定されている値です。APPDIRおよびTUXDIRの値は、TUXCONFIGファイル内の適切なマシン・エントリから取得されます。詳細は、MACHINESセクションのENVFILEを参照してください。
Oracle Tuxedo 8.1以降では、SERVERSセクションのAOUTの長さは最大256バイトです。Oracle Tuxedo 8.0以前では、SERVERSセクションのAOUTの長さは最大78バイトです。
SRVGRP = string_value
string_valueには、GROUPSセクションのサーバー・グループに関連付けられた論理名を指定します。30文字以内である必要があります。GROUPSセクション内のエントリと関連するということは、そのサーバーに対してLMIDが指定されているマシン上でAOUTが実行されるということを意味します。また、このパラメータは、サーバー・グループのGRPNOと、関連するリソース・マネージャが開くときに渡されるパラメータも指定します。すべてのサーバー・エントリには、サーバー・グループのパラメータが指定されていなければなりません。
SRVID = number
省略可能なパラメータは、起動オプションと実行時オプションという2つのカテゴリに分けられます。起動オプションは、サーバーの実行時にtmboot(1)が使用します。いったん実行されると、サーバーは構成ファイルからエントリを読み込み、実行時オプションを決定します。ユニークなサーバーIDを使用して正しいエントリを見つけることができます。
CLOPT = string_value
SEQUENCE = number
SEQUENCEを指定しない場合、サーバーはSERVERSセクションで指定された順序で起動します(停止はその逆の順序で行われます)。シーケンス番号が指定されているサーバーと指定されていないサーバーが混在する場合は、まず、シーケンス番号を持つサーバーがすべて昇順に起動し、次に、シーケンス番号を持たないサーバーが構成ファイル内の順序ですべて起動します。シーケンス番号は1から9999までの範囲で指定しなければなりません。
MIN = number
tmbootによって起動するサーバーのオカレンスの最小数を指定します。RQADDRが指定されており、MINが1より大きい場合、そのサーバーはMSSQセットを形成します。サーバー識別子は、SRVID + MAX - 1までのSRVIDとなります。各サーバーには、すべて同一のシーケンス番号とその他のサーバー・パラメータが付けられます。
MINには0 - 1000の範囲の値を指定できます。デフォルト値は1です。MIN=0値を持つサーバーは、tmboot -yでは起動しません。このため、マルチサーバー環境では必要に応じてサーバーを起動できるようになるので、起動時間を短縮できます。
MAX = number
tmbootが実行されると、MINで指定した数のサーバーが起動します。次に、tmbootの-iオプションを使用して関連するサーバー識別子を指定し、その他のサーバー(MAXで指定した数まで)を起動します。MAX値の範囲はMINから1000までです。このパラメータの指定がない場合、デフォルト値はMINと同じになります。
ENVFILE = string_value[0..256] (Oracle Tuxedo 8.0以前では最大78バイト)
ENVFILEを格納する必要があります。
ENVFILEを使用してください。このファイルを使用して環境を変更する方法については、MACHINESセクションのENVFILEを参照してください。
CONV = {Y | N}
tpacall()またはtpcall()を使用したrpcリクエストは非会話型サーバーに対してのみ行うことができます。デフォルトはNです。
RQADDR = string_value
AOUTのリクエスト・キューのシンボル名を指定します。30文字以内である必要があります。このパラメータの指定がない場合は、AOUTがアクセスするキューのために固有のキー(GRPNO.SRVID)を選択します。複数のサーバーに対して同じRQADDRと実行可能ファイル名を指定すると、複数サーバー/単一キュー(MSSQ)セットを定義できます。2つのサーバーに、同じキュー名を持つRQADDRが指定されている場合、それらは同じサーバー・グループになければなりません。
RQPERM = number
numberは通常のUNIXシステムの方式(たとえば0600)で指定されます。RQPERMを指定しない場合、PERMがRESOURCESセクションに指定されていればその値が使用されます。それ以外の場合は、値0666が使用されます。値は0001以上0777以下の範囲で指定できます。
REPLYQ = {Y | N}
AOUTに対して応答キューを確立するかどうかを指定します。Yを指定した場合は、応答キューがAOUTと同じLMID上に作成されます。デフォルト値はNです。MSSQセットのサーバーの場合、応答を受けようとするサーバーのREPLYQはYに設定します。 | 注意: | 会話型サーバーに対するREPLYQの値は、UBBCONFIGの中で割り当てられている値に関係なく常にYに設定されます。 |
RPPERM = number
RPPERMを指定しない場合、デフォルト値は0666です。リクエストと応答が両方とも同じキューから読み取られる場合、指定する必要があるのはRQPERMだけで、RPPERMは無視されます。値は0001以上0777以下の範囲で指定できます。
RCMD = string_value[0..256] (Oracle Tuxedo 8.0以前では最大78バイト)
AOUTが再起動できる場合、このパラメータは、AOUTが異常終了した場合に実行するコマンドを指定します。最初のスペースまたはタブまでの文字列は、絶対パス名またはAPPDIRを基準とする相対パス名で指定された実行可能なUNIXファイル名でなければなりません(コマンドの先頭でシェル変数を設定しないでください)。このコマンドには、コマンドライン引数を必要に応じて指定することもできます。コマンドラインには、GRPNOとSRVIDという、サーバーの再起動に関連する2つの引数が追加されます。string_valueはサーバーの再起動と並行して実行されます。
MAXGEN = number
AOUTが再起動できる場合、このパラメータは、GRACEによって指定された時間内に最大number - 1回再起動できることを示します。指定できる値は0より大きく、256より小さい数値です。この値を指定しないと、デフォルトの1 (サーバーは一度起動できるが、再起動はできない)が設定されます。
GRACE = number
AOUTが再起動できる場合、このパラメータは指定秒数内で最大MAXGEN回再起動できることを示します。この値は、0以上2147483648未満でなければなりません。0の場合、AOUTは何回でも再起動できます。GRACEを指定しない場合は、デフォルトの86,400秒(24時間)が指定されます。
RESTART = {Y | N}
AOUTが再起動できるかどうかを指定します。デフォルト値はNです。サーバーを移行できる場合は、RESTARTをYに設定します。SIGTERMシグナルで終了したサーバーは、再起動できないため再起動する必要があることに注意してください。
SYSTEM_ACCESS = identifier[,identifier]
FASTPATHまたはPROTECTEDです。FASTPATHを指定した場合、ライブラリは共有メモリーを介して迅速に内部表へアクセスできます。PROTECTEDを指定した場合、Oracle Tuxedoシステム・ライブラリが共有メモリーを介して内部表にアクセスできる間、Oracle Tuxedoシステム・ライブラリの外部からはそれらの表の共有メモリーにアクセスできません。NO_OVERRIDEを単独あるいはFASTPATHまたはPROTECTEDと共に指定した場合、アプリケーション・プロセスによって選択モードはオーバーライドされません。SYSTEM_ACCESSを指定しない場合、デフォルト・モードはRESOURCESセクションのSYSTEM_ACCESSキーワードの設定値によって決まります。
SYSTEM_ACCESSをPROTECTEDに設定しても、マルチスレッド・サーバーには効果がない場合があります。これは、あるスレッドがOracle Tuxedoコードを実行しているとき(つまりスレッドが掲示板にアタッチされているとき)に別のスレッドがユーザー・コードを実行できるからです。Oracle Tuxedoシステムでは、このような状況を回避することはできません。
MAXDISPATCHTHREADS = number
MAXDISPATCHTHREADS > 1の場合、別のディスパッチ・スレッドが使用されます。このディスパッチ・スレッドは、パラメータで指定した数には含まれません。MAXDISPATCHTHREADSは、MINDISPATCHTHREADSと同じか、またはそれ以上でなければなりません(MINDISPATCHTHREADS <= MAXDISPATCHTHREADS)。デフォルト値は1です。
MINDISPATCHTHREADS = number
MAXDISPATCHTHREADS > 1のときに使用される個別のディスパッチ・スレッドは、MINDISPATCHTHREADSの値の一部としてはカウントされません。MAXDISPATCHTHREADSは、MINDISPATCHTHREADSと同じか、またはそれ以上でなければなりません(MINDISPATCHTHREADS <= MAXDISPATCHTHREADS)。このパラメータのデフォルト値は0です。
THREADSTACKSIZE = number
MAXDISPATCHTHREADSに1より大きい値が指定されている場合のみです。
SEC_PRINCIPAL_NAME=string_value[0..511]
SEC_PRINCIPAL_NAMEは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVERSセクション)のいずれでも指定できます。特定の構成レベルでのプリンシパル名は、下位レベルでオーバーライドできます。どのレベルにもSEC_PRINCIPAL_NAMEが指定されていない場合、アプリケーションのプリンシパル名のデフォルト値には、このアプリケーションのRESOURCESセクションに指定されているDOMAINID文字列が設定されます。SEC_PRINCIPAL_NAMEのほかにも、SEC_PRINCIPAL_LOCATIONとSEC_PRINCIPAL_PASSVARというパラメータがあります。後の2つのパラメータは、アプリケーション起動時に、Oracle Tuxedo 7.1以降のアプリケーションで実行されるシステム・プロセス用の復号化キーを開く処理に関するものです。特定のレベルでSEC_PRINCIPAL_NAMEのみが指定されている場合には、それ以外の2つのパラメータに長さゼロのNULL文字列が設定されます。
SEC_PRINCIPAL_LOCATION = string_value [0..1023]
walletを含むディレクトリの場所です。SEC_PRINCIPAL_NAMEを含むディレクトリの場所です。指定されたプリンシプル名のOracle Walletはこのサブディレクトリに格納されます。
SEC_PRINCIPAL_NAMEで指定されたプリンシパルの復号化(プライベート)キーを収めるファイルまたはデバイスの場所を指定します。このパラメータには、最後のNULL文字を除いて1023文字まで指定できます。 SEC_PRINCIPAL_LOCATIONは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVERSセクション)のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でもSEC_PRINCIPAL_NAMEパラメータと対になっている必要があり、それ以外の場合には無視されます。(SEC_PRINCIPAL_PASSVARは省略可能です。これが指定されていない場合、システムによって長さゼロのNULL文字列が設定されます。)
SEC_PRINCIPAL_PASSVAR = string_value [0..31]
SEC_PRINCIPAL_PASSVARは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVERSセクション)のいずれでも指定できます。このパラメータは、どのレベルで指定する場合でもSEC_PRINCIPAL_NAMEパラメータと対になっている必要があり、それ以外の場合には無視されます。(SEC_PRINCIPAL_LOCATIONは省略可能です。これが指定されていない場合、システムによって長さゼロのNULL文字列が設定されます。) 初期化処理中、管理者はSEC_PRINCIPAL_PASSVARで設定された各復号化キーのパスワードを入力する必要があります。パスワードの入力は、tmloadcf(1)で求められます。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
SICACHEENTRIESMAX = string_value
DEFAULTが使用できます。この場合、キャッシュできるサービスの数は、このサーバーに対応するMACHINESセクションのエントリによって指定されます。値を指定しない場合、文字列DEFAULTが有効値として使用されます。0を指定した場合、このマシン上のプロセスでサービスはキャッシュされません。このパラメータの最大値は32,767です。
CONCURR_STRATEGY=PER_REQUEST
CONCURR_STRATEGY = PER_OBJECT
CONCURR_STRATEGYは、マルチスレッドCORBAサーバー・アプリケーションによって使用されるスレッド・モデルを指定するために使用します。CONCURR_STRATEGYパラメータには、次のいずれかの値を指定できます。
CONCURR_STRATEGY = PER_REQUEST CONCURR_STRATEGY = PER_OBJECT CONCURR_STRATEGY = PER_REQUESTを指定してリクエスト単位のスレッド・モデルを使用する場合、CORBAサーバー・アプリケーションでの各呼出しは、スレッド・プール内の任意のスレッドに割り当てられます。 CONCURR_STRATEGY = PER_OBJECTを指定してオブジェクト単位のスレッド・モデルを使用する場合、アクティブな各オブジェクトはいつでも単一のスレッドに関連付けられます。オブジェクトに対するリクエストごとに、ディスパッチ・スレッドとオブジェクトとの関連付けが確立されます。 | 注意: | ユーザー制御の同時実行性は、スレッド・モデルより優先されます。このため、いったんユーザー制御の同時実行性を選択すると、スレッド・モデルが同じように動作し、同じプロセスの複数のスレッド内にあるオブジェクトのインスタンスの動作と別のプロセス内のオブジェクトのインスタンスの動作が一貫するようになります。 |
パラレル・オブジェクトの詳細は、『Oracle Tuxedo CORBAプログラミング・リファレンス』の「パラレル オブジェクト」を参照してください。
このセクションでは、アプリケーションが使用するサービスに関する情報を指定します。SERVICESセクション内の行の形式は次のとおりです。
SVCNMはサービスの(string_value)名です。SVCNMは127文字以下でなければなりません。
必須パラメータはありません。省略可能なパラメータを設定する必要がない場合は、サービスを示す必要はありません。省略可能なパラメータは以下のとおりです。
LOAD = number
SVCNMがシステムにnumberのロード・ファクタを負わせることを示します。numberには、1以上32,767以下の値を指定できます。指定しない場合、デフォルト値は50です。数値が大きくなるほどロード・ファクタも大きくなります。
PRIO = number
SVCNMをキューから取り出す優先度の数値を指定します。この値は0より大きく、100以下でなければなりません(100が最高の優先度)。デフォルト値は50です。 メッセージは、FIFOに基づき10回に1回取り出されるため、優先度の低いメッセージがキューに無制限にとどまることはありません。優先度の低いインタフェースやサービスでは、レスポンス時間を問題にすべきではありません。
SRVGRP = string_value
string_value内のSVCNMに適用することを指定します。SRVGRPを使用すると、同じサービスが異なるサーバー・グループ内では異なるパラメータ設定を持つことが可能になります。30文字以内である必要があります。
BUFTYPE = "type1[:subtype1[,subtype2 . . . ]][;type2[:subtype3[, . . . ]]] . . . "
FMLとFML32 (FMLバッファ用)、XML (XMLバッファ用)、VIEW、VIEW32、X_C_TYPE、またはX_COMMON (FML VIEW用)、STRING (NULLで終了する文字配列用)、およびCARRAYまたはX_OCTET (送信時にエンコードもデコードもされない文字配列用)があります。これらのタイプのうち、VIEW、VIEW32、X_C_TYPE、およびX_COMMONにはサブタイプがあります。ビュー・サブタイプは、サービスで期待される特定のビューの名前を提供します。アプリケーションのタイプとサブタイプも追加できます(tuxtypes(5)を参照)。サブタイプを持つTYPEでは、サブタイプに"*"を指定して、該当サービスが関連するタイプのすべてのサブタイプを受け付けるようにできます。
tuxtypes(5)を参照)。BUFTYPEパラメータがALLに設定されている場合、そのサービスはそのバッファ・タイプ・スイッチにあるバッファ・タイプをすべて受け付けます。BUFTYPEパラメータを省略することと、このパラメータをALLに設定することは同じです。サービス名は同じで異なるSRVGRPパラメータを持つ複数のエントリがある場合、BUFTYPEパラメータはそのエントリすべてにおいて同じでなければなりません。 タイプ名の長さは8文字以下、サブタイプ名の長さは16文字以下です。タイプ名とサブタイプ名は、セミコロン、コロン、カンマ、アスタリスクを含んではいけません(タイプ値とサブタイプ値がどこで終わるのか分かりにくくなります)。 有効なBUFTYPE指定の例には、BUFTYPE=FML (サービスがFMLバッファを取ることを暗黙に指定)や
BUFTYPE=VIEW:* (サービスがFMLビューのすべてのサブタイプを取ることを暗黙に指定)があります。
BUFTYPECONV = {XML2FML | XML2FML32}
ROUTING = string_value
string_valueはROUTINGセクションに定義されるROUTING_CRITERIA_NAMEで、このサービスに対するデータ依存型ルーティングのルーティング基準の名前です。このパラメータを指定しない場合、このサービスではデータ依存型ルーティングが行われません。string_valueは127文字以内でなければなりません。サービス名は同じで異なるSRVGRPパラメータを持つ複数のエントリがある場合、ROUTINGパラメータはそのエントリすべてにおいて同じでなければなりません。
BLOCKTIME numeric_value
numeric_valueには0 - 32,767の値を指定します。指定しない場合、デフォルト値は0です。その場合は、UBBCONFIG RESOURCESセクションで指定されたシステム全体のBLOCKTIME値がサービスで使用されます。
SVCTIMEOUT = number
SIGKILLシグナルで終了します。このシグナルは、サーバー内のすべてのスレッドに影響することに注意してください。このパラメータのデフォルト値は0です。
SIGNATURE_REQUIRED = {Y | N}
Nが設定されます。このパラメータは、Oracle Tuxedo 7.1以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
SIGNATURE_REQUIREDは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVICESセクション)のいずれでも指定できます。特定のレベルでSIGNATURE_REQUIREDにYを設定すると、下位レベルで動作するすべてのプロセスに署名が必要となります。
ENCRYPTION_REQUIRED = {Y | N}
Nが設定されます。このパラメータは、Oracle Tuxedo 7.1以降のソフトウェアが実行されているアプリケーションにのみ適用されます。
ENCRYPTION_REQUIREDは、構成階層の4つのレベル(RESOURCESセクション、MACHINESセクション、GROUPSセクション、およびSERVICESセクション)のいずれでも指定できます。特定のレベルでENCRYPTION_REQUIREDにYを設定すると、下位レベルで動作するすべてのプロセスに暗号化が必要となります。
SESSIONROLE
SESSIONROLEパラメータを使用すると、サーバー側のアフィニティでATMIサービス・セッション・ロールを構成できます。固有のロールは、BEGIN、ENDおよびNONEです。デフォルト値はNONEです。
BEGINを使用してサービスを呼び出すと、新しいセッションが開始され、クライアント側で対応するアフィニティ・コンテキストが作成されます。クライアントが以前のセッションに関与している場合、サービス・ロールはNONEとして処理されます。
BEGINを使用したサービスがtpcall()またはtpacall()を使用して呼び出されると、アフィニティ・セッションが開始されます。アフィニティ・クライアントがこのセッションを認識するのは、アフィニティ・サーバーから応答メッセージを受信してからです。後続のリクエストはすべて、レスポンス・メッセージが受信されるまでアフィニティの影響なしでディスパッチされます。
BEGINを使用したサービスが呼び出されます)。新しいセッションは開始されません。
BEGINを会話サーバーとともに使用することはできません。tmbootの使用時に、BEGINを使用したサービスが会話サーバーで見つかると、ULOGにエラー・メッセージが送信され、アフィニティ・ロールは無視されます。
ENDを使用してサービスを呼び出すと、セッションが終了し、対応するクライアント側のアフィニティ・コンテキストがクリアされます。クライアントが以前のセッションに関与していない場合、サービス・ロールはNONEとして処理されます。
tpcall()またはtpacall()を使用して呼び出されると、アフィニティ・セッションが終了します。ただし、TPNOREPLYフラグとともにtpacall()を使用して呼び出された場合、アフィニティ・セッションは終了しません。アフィニティ・クライアントがこのセッションの終了を認識するのは、アフィニティ・サーバーから応答メッセージを受信してからです。
AFFINITYSCOPE
| 注意: | MSSQが使用され、アフィニティ・スコープがSERVERである場合、1つのIPCキューが共有されるため、アフィニティの整合性は保証されません。 |
AFFINITYSTRICT
AFFINITYSTRICTパラメータは、MANDATORYおよびPRECEDENTの2つの厳密性レベルを定義します。AFFINITYSTRICTが設定されていない場合、デフォルト値はMANDATORYです。
TPENOENTを使用してリクエストは失敗します。
PRECEDENTを使用すると、フェイルオーバーを実装できます。
AUTOTRAN = {Y | N}
AUTOTRANは、構成階層内の2つのレベルであるRESOURCESセクションおよびSERVICESセクションで指定できます。RESOURCESセクションで指定する場合、SERVICESセクションで説明されているかどうかとは関係なく、このOracle Tuxedoアプリケーションによって提供されるすべてのアプリケーション・サービスに適用されます。サービスに対してRESOURCESセクションとSERVICESセクションの両方でAUTOTRANを指定すると、このサービスに対してのみ、SERVICESレベルのAUTOTRANによってRESOURCESレベル値がオーバーライドされます。
TRANTIME = number
0以上2147483648未満を指定します。デフォルト値は30秒です。0は、マシンの最大タイムアウト値を示します。
TRANTIMEは、構成階層内の2つのレベルであるRESOURCESセクションおよびSERVICESセクションで指定できます。RESOURCESセクションで指定する場合、SERVICESセクションで説明されているかどうかとは関係なく、このOracle Tuxedoアプリケーションによって提供されるすべてのアプリケーション・サービスに適用されます。サービスに対してRESOURCESセクションとSERVICESセクションの両方でTRANTIMEを指定すると、このサービスに対してのみ、SERVICESレベルのTRANTIMEによってRESOURCESレベル値がオーバーライドされます。
このセクションでは、アプリケーションで使用するCORBAインタフェースに対するアプリケーション全体のデフォルト・パラメータを定義するための情報を指定します。ファクトリ・ベースのルーティング(特定のサーバー・グループに処理を分散する機能)を実行しない場合には、CORBAインタフェースに必要なパラメータはありません。ファクトリ・ベースのルーティングを実行する場合は、以下のパラメータを指定する必要があります。
ファクトリ・ベース・ルーティングおよび関連パラメータの詳細は、「ROUTINGセクション」を参照してください。
指定するパラメータがない場合は、CORBAインタフェースを記述する必要はありません。
AUTOTRAN = {Y | N}
AUTOTRANパラメータは、トランザクション・ポリシーがoptionalのインタフェースにのみ適用されます。それ以外の場合、このパラメータは無視されます。デフォルトはNです。
T_IFQUEUE MIBオブジェクトのトランザクション・ポリシーの属性になります。 AUTOTRAN値を設定する前に、システム管理者はプログラマがインタフェースに割り当てたトランザクション・ポリシーを知っておく必要があります。そうでないと、実行時にAUTOTRANが期待どおりに機能しない可能性があります。 AUTOTRANをYに設定した場合、TRANTIMEパラメータも設定する必要があります。
FACTORYROUTING = criteria_name
LOAD = number
LOAD値との関係で相対的に決まります。デフォルト値は50です。CORBA環境では、LOADの値を使用して、リクエストをキューに登録するために最適なマシンが選択されます。ルーティング先のサーバーの負荷は、リクエストされたCORBAインタフェースのロード・ファクタ分(LOAD)だけ増加します。
PRIO = number
この値には、1 - 100の値を指定します。100は、優先度が最も高いことを示します。デフォルト値は50です。
SRVGRP = server-group-name
INTERFACESセクションのこの部分で定義するすべてのパラメータが、指定されたサーバー・グループ内のインタフェースに適用されることを示します。この方法を使用すると、特定のCORBAインタフェースに対して、サーバー・グループごとに異なるパラメータ値を定義できます。
TRANTIME = number
AUTOTRANがYに設定されている場合、TRANTIMEパラメータを設定する必要があります。この値は0 - 2147483647 (231 - 1)、つまり約68年でなければなりません。0は、トランザクションにタイムアウトが設定されていないことを示します。デフォルト値は30秒です。
TIMEOUT = number
SIGKILLイベントと共に終了します。実行に最も時間がかかるメソッドに合せてタイムアウト値を指定することをお薦めします。
このセクションでは、FMLバッファ、XMLバッファ、およびVIEWを使用するサービス・リクエストのデータ依存型ルーティングに関する情報を指定します。ここで指定するルーティング基準は、デフォルトのルーティング関数_froute、_xroute、および_vrouteが使用される場合にのみ使用されます(tuxtypes(5)を参照)。ROUTINGセクション内の行の形式は次のとおりです。
ROUTING_CRITERIA_NAMErequired_parameters
ROUTING_CRITERIA_NAMEは、SERVICESセクションの特定のサービス・エントリのROUTINGパラメータに割り当てられる(string_value)名です。ROUTING_CRITERIA_NAMEは127文字以下でなければなりません。
FIELD = string_value
FLDTBLDIRおよびFIELDTBLSまたはFLDTBLDIR32およびFIELDTBLS32を使用)、またはFMLビュー表(2つの環境変数VIEWDIRおよびVIEWFILESまたはVIEWDIR32およびVIEWFILES32を使用)であるとそれぞれみなされます。この情報は、メッセージの送信時に、データ依存型ルーティングに関連するフィールド値を取得するために使用されます。FMLまたはFML32バッファ内のフィールドがルーティングに使用される場合は、フィールドの値は8191以下でなければなりません。XMLベースDDRでXPathを有効にするには、FIELDを"XPATH"にする必要があります。
FIELDパラメータを定義する必要があります。 FIELD=“root_element[/child_element][/child_element][/. . .][/@attribute_name]”
FIELDの値には、ルーティングの要素または要素の属性名を指定します。要素は、XMLドキュメントまたはデータ・グラムの要素のタイプ(要素名)または要素の属性名とみなされます。この情報は、ドキュメントまたはデータ・グラム送信時に、データ依存型ルーティングで要素の内容または属性を識別するために使用されます。要素名と属性名を組み合せて、最大30文字まで指定できます。Oracle Tuxedoシステムでは、索引指定がサポートされていないため、データ依存型ルーティングでXMLバッファを処理する場合は、指定された要素のタイプの最初のオカレンスだけが認識されます。 XMLは、属性名に使用できる文字セットを厳密に定義しています。属性名は、単一の文字、アンダースコア、またはコロンを含む文字列で、その後に1つ以上の名前文字が続きます。要素名と属性名はいずれも、大文字/小文字が区別されます。 XMLの詳細は、World Wide Web ConsortiumのWebサイトhttp://www.w3c.org/XMLを参照してください。
FIELDTYPE = type
FIELDパラメータに指定されたルーティング・フィールドのタイプを指定します。このパラメータは、XMLバッファをルーティングする場合にのみ使用されます。値typeは、CHAR、SHORT、LONG、FLOAT、DOUBLE、XPATH、STRINGのいずれかに設定できます。ルーティング・フィールドのデフォルトのタイプはSTRINGです。XMLベースDDRでXPathを有効にするには、FIELDTYPEをXPATHにする必要があります。
RANGES = string_value
stringは二重引用符で囲む必要があります。stringで使用できる文字数は最大2048文字です。ただし、Domainsの場合はstringは最大4096文字です。この文字列は、範囲/group_nameの組合せのリストをカンマで区切った形式をとります。たとえば、RANGES="0-2:DBG1,3-5:DBG2,6-9:"DBG3"のように指定します。
O'Brien)、一重引用符の前に円マーク(¥)を2つ入れます(例: O¥¥'Brien)。マシン上の関連するFIELDのデータ型の最小値を示すには、MINを使用します。マシン上の関連するFIELDのデータ型の最大値を示すには、MAXを使用します。したがって、MIN - -5は-5以下のすべての数値を指し、6 - MAXは、6以上のすべての数値を指すことになります。範囲(range)内のメタキャラクタ* (ワイルドカード)は、すでにエントリとして指定した範囲では使用されなかった任意の値を示します。1つのエントリで1つのワイルドカード範囲のみを指定でき、最後に指定する必要があります(その後の範囲は無視されます)。 ルーティング・フィールドには、FMLでサポートされている任意のデータ型を指定できます。数値のルーティング・フィールドには、数値による範囲値、文字列のルーティング・フィールドには文字列による範囲値を指定します。 文字列で範囲を設定する場合は、文字列、carray、および文字フィールド型の値を一重引用符で囲みます。先頭に符号を付けることはできません。short型およびlong型の整数値は数字の文字列であり、必要に応じて先頭に正の符号または負の符号を付けることができます。Cコンパイラまたはatof(3)で使用できる浮動小数点数は、まず任意の符号、次に数字列(小数点が入ってもよい)、任意のeまたはE、任意の符号またはスペース、最後に整数という形式を取ります。 グループ名は、フィールドが範囲に一致する場合にリクエストがルーティングされる関連グループを示します。メタ文字* (ワイルドカード)は、フィールド値が範囲と一致しない場合にはリクエストがデフォルトのグループに送られること、またはフィールド値が範囲と一致していても、範囲エントリと関連するグループ内に実行可能なサーバーが存在しない場合には、ワイルドカード*で指定された範囲エントリのデフォルトのグループにサービス・リクエストが転送されることを示します。 範囲とグループの組合せでは、範囲とグループ名をコロン(:)で区切ります。 データ依存型ルーティングは、複数のサーバー・グループへのリクエストのルーティングをサポートするように拡張されています。各値範囲には、最大3個のサーバー・グループを構成できます。各値範囲に構成されたサーバー・グループ間のスケジューリングとロード・バランシングは、既存のアルゴリズムと同じです。構成規則は次のとおりです。
tuxconfig)が生成されません。 tuxconfig)が生成されません。 "1000-5000:BANKB1;BANKB2;BANKB3"
"1000-5000:BANKB1,BANKB2,BANKB3": 無効なデリミタ
"1000-5000:BANKB1;BANKB2;BANKB3;BANKB4": グループの上限を超えている
"1000-5000:BANKB1; BANKB2;BANKB3": 空白/スペース/タブを使用できない
"1000-5000:BANKB1;BANKB2;BANKB3;": 末尾のデリミタを使用できない
"1000-5000:BANKB1;;BANKB3": 空のグループ名が存在する
"1000-5000:BANKB1;BANKB1;BANKB3: グループ名が重複している
BUFTYPE = "type1[:subtype1[,subtype2 . . . ]][;type2[:subtype3[, . . . ]]] . . ."
FML、FML32、XML、VIEW、VIEW32、X_C_TYPEまたはX_COMMONのいずれかにする必要があります。タイプがFML、FML32またはXMLの場合、サブタイプは指定できません。タイプがVIEW、VIEW32、X_C_TYPEおよびX_COMMONの場合はサブタイプが必要です("*"は許可されません)。サブタイプの名前には、セミコロン、コロン、カンマ、アスタリスクは使用できません。タイプとサブタイプのペアのうち、重複するものは同じルーティング基準名として指定できません。タイプとサブタイプのペアがユニークな場合、複数のルーティング・エントリは同じ基準名を持つことができます。このパラメータは必須です。単一ルーティング・エントリに複数のバッファ・タイプが指定されている場合は、各バッファ・タイプのルーティング・フィールドのデータ型は同じである必要があります。
BRNCH FIELD=B_FLD RANGES="0-2:DBG1,3-5:DBG2,6-9:DBG3" BUFTYPE="FML"
この例では、フィールドB_FLDのバッファの値0-2をサーバー・グループDBG1に、値3-5をサーバー・グループDBG2に、値6-9をサーバー・グループDBG3に送信しています。その他の値は使用できません。
フィールド値が設定されない場合(FMLバッファに対して)またはフィールド値が特定の範囲に一致せず、かつワイルドカードの範囲が指定されていない場合は、アプリケーションにエラーが戻されます。
次に、XML要素のCODEに基づくルーティング・エントリの例を示します。
PRODUCT FIELD="ORDER/CODE" RANGES="'AAA' - 'FFF':DBG1, 'GGG-ZZZ':DBG2" BUFTYPE="XML"
ORDERNO属性に基づくルーティング・エントリは、次の例のようになります。
ORDER FIELD="ORDER/HEADER/@ORDERNO" FIELDTYPE=long RANGES="0-9999:DBG1,10000-MAX:DBG3" BUFTYPE="XML"
ここでは、ORDERNOは、ルート要素ORDERのXML子要素であるHEADERの属性です。
MASTERマシン上でTUXCONFIG構成ファイルを検索するには、環境変数TUXCONFIGおよびTUXOFFSETを使用します。
# The following configuration file defines a 2-site
# configuration with two machine types. Data-dependent
# routing is used.
*RESOURCES
IPCKEY 80952 # key for well known address
DOMAINID My_Domain_Name
UID 4196 # user id for ipc structures
GID 601 # group id for ipc structures
PERM 0660 # permissions for ipc access
MAXSERVERS 20 # at most 20 simultaneous servers
MAXSERVICES 40 # offering at most 40 services
MAXGTT 20 # at most 20 simultaneous global transactions
MASTER SITE1
SCANUNIT 10
SANITYSCAN 12
BBLQUERY 180
BLOCKTIME 30
NOTIFY DIPIN
OPTIONS LAN,MIGRATE
SECURITY USER_AUTH
AUTHSVC AUTHSVC
MP # a multiprocessor based bulletin board
LDBAL Y # perform load balancing
#
*MACHINES
mach1 LMID=SITE1 TUXDIR="/usr4/tuxbin"
MAXACCESSERS=25
APPDIR="/usr2/apps/bank"
ENVFILE="/usr2/apps/bank/ENVFILE"
TLOGDEVICE="/usr2/apps/bank/TLOG" TLOGNAME=TLOG
TUXCONFIG="/usr2/apps/bank/tuxconfig" TYPE="3B2"
ULOGPFX="/usr2/apps/bank/ULOG"
SPINCOUNT=5
mach386 LMID=SITE2 TUXDIR="/usr5/tuxbin"
MAXACCESSERS=100
MAXWSCLIENTS=50
APPDIR="/usr4/apps/bank"
ENVFILE="/usr4/apps/bank/ENVFILE"
TLOGDEVICE="/usr4/apps/bank/TLOG" TLOGNAME=TLOG
TUXCONFIG="/usr4/apps/bank/tuxconfig" TYPE="386"
ULOGPFX="/usr4/apps/bank/ULOG"
#
*GROUPS
DEFAULT: TMSNAME=TMS_SQL TMSCOUNT=2
# For Windows, :bankdb: becomes ;bankdb;
BANKB1 LMID=SITE1 GRPNO=1
OPENINFO="TUXEDO/SQL:/usr2/apps/bank/bankdl1:bankdb:readwrite"
# For Windows, :bankdb: becomes ;bankdb;
BANKB2 LMID=SITE2 GRPNO=2
OPENINFO="TUXEDO/SQL:/usr4/apps/bank/bankdl2:bankdb:readwrite"
DEFAULT:
AUTHGRP LMID=SITE1 GRPNO=3
#
*NETWORK
SITE1 NADDR="mach1.80952" BRIDGE="/dev/starlan"
NLSADDR="mach1.serve"
#
SITE2 NADDR="mach386.80952" BRIDGE="/dev/starlan"
NLSADDR="mach386.serve"
*SERVERS
#
DEFAULT: RESTART=Y MAXGEN=5 REPLYQ=Y CLOPT="-A"
TLR SRVGRP=BANKB1 SRVID=1 RQADDR=tlr1
CLOPT="-A -- -T 100"
TLR SRVGRP=BANKB1 SRVID=2 RQADDR=tlr1
CLOPT="-A -- -T 200"
TLR SRVGRP=BANKB2 SRVID=3 RQADDR=tlr2
CLOPT="-A -- -T 600"
TLR SRVGRP=BANKB2 SRVID=4 RQADDR=tlr2
CLOPT="-A -- -T 700"
XFER SRVGRP=BANKB1 SRVID=5
XFER SRVGRP=BANKB2 SRVID=6
ACCT SRVGRP=BANKB1 SRVID=7
ACCT SRVGRP=BANKB2 SRVID=8
BAL SRVGRP=BANKB1 SRVID=9
BAL SRVGRP=BANKB2 SRVID=10
BTADD SRVGRP=BANKB1 SRVID=11
BTADD SRVGRP=BANKB2 SRVID=12
AUTHSVR SRVGRP=AUTHGRP SRVID=20 #
*SERVICES
DEFAULT: LOAD=50 AUTOTRAN=N
WITHDRAWAL PRIO=50 ROUTING=ACCOUNT_ID
DEPOSIT PRIO=50 ROUTING=ACCOUNT_ID
TRANSFER PRIO=50 ROUTING=ACCOUNT_ID
INQUIRY PRIO=50 ROUTING=ACCOUNT_ID
CLOSE_ACCT PRIO=40 ROUTING=ACCOUNT_ID
OPEN_ACCT PRIO=40 ROUTING=BRANCH_ID
BR_ADD PRIO=20 ROUTING=BRANCH_ID
TLR_ADD PRIO=20 ROUTING=BRANCH_ID
ABAL PRIO=30 ROUTING=b_id
TBAL PRIO=30 ROUTING=b_id
ABAL_BID PRIO=30 ROUTING=b_id
TBAL_BID PRIO=30 ROUTING=b_id SVCTIMEOUT=300
#
#
*ROUTING
ACCOUNT_ID FIELD=ACCOUNT_ID BUFTYPE="FML"
RANGES="MIN - 9999:*,10000-59999:BANKB1,60000-109999:BANKB2,*:*"
BRANCH_ID FIELD=BRANCH_ID BUFTYPE="FML"
RANGES="MIN - 0:*,1-5:BANKB1,6-10:BANKB2,*:*"
b_id FIELD=b_id BUFTYPE="VIEW:aud"
RANGES="MIN - 0:*,1-5:BANKB1,6-10:BANKB2,*:*"
# Self-Tuning Lock Mechanism configration*RESOURCES
IPCKEY 123456
DOMAINID simpapp
MASTER ALLEN
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
OPTIONS EXALOGIC,SPINTUNING
*MACHINES
ALLENHOST LMID="ALLEN"
APPDIR="/home/allen/Workspace/Tuxedo11gR1PS2/simpdir"
TUXCONFIG="/home/allen/Workspace/Tuxedo11gR1PS2/simpdir/tuxconfig"
TUXDIR="/home/allen/Software/OraHome/tuxedo11gR1PS2"
SPINTUNING_FACTOR=1000
SPINTUNING_MINIDLECPU=20
*GROUPS
GROUP1
LMID=ALLEN GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
*SERVICES
TOUPPER
*Configuring WSL listen on SDP*SERVERSWSL SRVGRP="WSLGRP" SRVID=1000 RESTART=Y GRACE=0CLOPT="-A -- -n 0x0002ffffaaaaaaaa -d /dev/tcp"WSL SRVGRP="WSLGRP" SRVID=1001 RESTART=Y GRACE=0CLOPT="-A -- -n 0x0002aaaaffffffff -d /dev/tcp -H 0x0002MMMMdddddddd"WSL SRVGRP="WSLGRP" SRVID=1002 RESTART=Y GRACE=0CLOPT="-A -- -n //hostname:aaaa -d /dev/tcp -H//external_hostname:MMMM"WSL SRVGRP=GROUP1 SRVID=1
CLOPT="-A -r -- -n //hostname:port -m1 -M10 -x20 -U 2048"
# size limit set to 2048 bytes.
*Configuring WSL listen on SDP
*SERVERS
DEFAULT: CLOPT="-A"
WSL SRVGRP=WSGRP SRVID=1001
CLOPT="-A -- -n sdp://IB_IP: 11101 -m1 -M10 -x1"
*Configuring WSL listen on IPoIB *SERVERS
DEFAULT: CLOPT="-A"
WSL SRVGRP=WSGRP SRVID=1001
CLOPT="-A -- -n //IB_IP: 11101 -m1 -M10 -x1"
*Configuring WSL listen on ethernet based TCP/IP*SERVERS
DEFAULT: CLOPT="-A"
WSL SRVGRP=WSGRP SRVID=1001
CLOPT="-A -- -n //ETH_IP: 11101 -m1 -M10 -x1"
*Configuring JSL listen on SDP
*SERVERS
DEFAULT: CLOPT="-A"
JSL SRVGRP=WSGRP SRVID=1001
CLOPT="-A -- -n sdp://IP_IP: 11101 -m1 -M10 -x1"
*Configuring JSL listen on TCP/IP
*SERVERS
DEFAULT: CLOPT="-A"
JSL SRVGRP=WSGRP SRVID=1001
CLOPT="-A -- -n //ETH_IP: 11101 -m1 -M10 -x1"
*Configuring SDP to be used in MP deployment model
*NETWORK
SITE1
NADDR="//IB_IP: 9003"
NLSADDR="//IB_IP: 3050"
SITE2
NADDR="//IB_IP: 9003"
NLSADDR="//IB_IP: 3050"
*Configuring IPoIB to be used in MP deployment model
SITE1
NADDR="//IB_IP: 9003"
NLSADDR="//IB_IP: 3050"
SITE2
NADDR="//IB_IP: 9003"
NLSADDR="//IB_IP: 3050"
*Configuring ethernet based TCP/IP to be used in MP deployment model
SITE1
NADDR="//ETH_IP: 9003"
NLSADDR="//ETH_IP: 3050"
SITE2
NADDR="//ETH_IP: 9003"
NLSADDR="//ETH_IP: 3050"
相互運用するアプリケーションでは、マスター側で最新のリリースが動作していなければなりません。異なるリリースのOracle Tuxedoシステム間で相互運用する場合、PMID (マシンADDRESS)、LMID、TLOGNAME、グループ名、RQADDR、サービス名、およびROUTING (ルーティング基準名)の各パラメータ値は、有効なC言語識別子(UBBCONFIGキーワードではない)でなければなりません。
BRIDGEを実行するローカル・マシンがTCP/IPアドレッシングを使用している場合を考えます。ローカル・マシンの名前はbackus.company.com、アドレスは155.2.193.18です。また、BRIDGEがリクエストを受け取るポート番号は2334だとします。このポート番号2334は、bankapp-naddrという名前のネットワーク・サービス・データベースに追加されているとします。この場合、アドレスは次のように表現されます。
//155.2.193.18:bankapp-naddr//155.2.193.18:2334
//backus.company.com:bankapp-naddr//backus.company.com:2334
0x0002091E9B02C112
最後の表現は16進数形式です。0002はTCP/IPアドレスの最初の部分です。091Eは、ポート番号2334が16進数に変換された値です。その後、IPアドレス155.2.193.1の各要素は16進数に変換されています。つまり、155は9B、2は02というようになります。
buildserver(1)、tmadmin(1)、tmboot(1)、tmloadcf(1)、tmshutdown(1)、tmunloadcf(1)、buffer(3c)、tpinit(3c)、servopts(5)
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
VIEWファイルは、1つまたは複数のCデータ構造体(VIEW)の記述用ソース・ファイルです。viewc()コマンドへの入力として使用される場合、VIEWファイルはバイナリ・ファイル(ファイル名view_filename.V)とヘッダー・ファイル(view_filename.h)の基礎となります(viewc、viewc32 (1)を参照)。
Oracle Tuxedoシステムでは、バイナリ.Vファイルは次の2通りの方法で使用されます。
構造体のメンバーがその論理名によって参照できるように、VIEWを使用するすべてのプログラムに.hファイルをインクルードする必要があります。
ソースviewfileの各VIEW記述は、次の3つの部分から構成されます。
VIEWで始まり、その後にVIEW記述の名前が続く行。この名前は最大33文字で、有効なC識別子でなければなりません。つまり、先頭がアンダースコアまたはアルファベットで、英数字またはアンダースコアしか使用できません。tpalloc(3c)で使用する場合、名前に使用できる文字数は16文字以内です。ENDで始まる行。 各VIEW記述の先頭行は、キーワードVIEWで始まり、後ろにVIEW記述の名前が続かなければなりません。メンバー記述(またはマッピング・エントリ)は、C構造体のメンバーに関する情報が含まれている行です。キーワードENDで始まる行は、VIEW記述の最後の行です。また、シャープ(#)で始まる行はコメントとして扱われ、無視されます。
したがって、ソースVIEW記述は、一般に次のような構造になっています。
VIEW vname
# type cname fbname count flag size null
# ---- ----- ------ ----- ---- ---- ----
--------------member descriptions-------------------
.
.
.
END
vname
type
fbname型が設定されます。 | 注意: | mbstringメンバー型は、VIEW32型付きバッファのみでサポートされます。 |
cname
cnameは内部で30文字以降が切り詰められるので、cnamesの最初の30文字がユニークでなければなりません。VIEWがFMLバッファにマップされない場合、これは有効なfbnameではありません。
fbname
数
flag
flagオプションについては後述します。FMLバッファにマップしないVIEWの場合、このフィールドにはCまたはLオプション(あるいはその両方)を指定でき、またはプレース・ホルダー値のダッシュ( )を指定する必要があります。
size
sizeは2つの数値をカンマで区切ります。1つ目の数値は10進数値のバイト数(0より大きく10未満)で、2つ目の数値は小数点の右側の桁数です(0より大きく、バイト数の2倍から1を引いた値未満)。その他のフィールド・タイプの場合、ダッシュ(-)を指定するとVIEWコンパイラがサイズを計算します。
null
以下に、VIEW記述内のメンバー記述のflag要素として指定できるオプションのリストを示します。LおよびCオプションは、FMLベースではないVIEW用にも構造体メンバーを追加生成します。
cname」という形式で生成されます。ここでcnameは、ACMが宣言されているcnameエントリです。たとえば、partsという名前のメンバーのACMは、次のように宣言されます。
short C_parts; 生成されたACM名が、先頭に接頭辞「C_」が付いている構造体メンバーと矛盾する場合もあります。そのような矛盾はVIEWコンパイラにより報告され、これをVIEWコンパイラは致命的なエラーとみなします。たとえば、構造体のメンバーの名前が「C_parts」である場合、これは、メンバー「parts」のために生成されたACMの名前と矛盾します。また、-rコマンドライン・オプションを指定すると、VIEWコンパイラはACMメンバーとALM (後述のLオプション参照)メンバーの構造化レコード定義を生成します。
Lオプションは、carray型またはstring型の構造体メンバーに対応する連想長メンバー(ALM)を生成します(FMLベースではないビューも該当します)。フィールド化バッファから構造体にデータを転送する場合、ALMは対応する転送されたフィールドの長さに設定されます。フィールド化バッファのフィールドの長さがマップされた構造体メンバーで割り当てられた領域を超える場合、割り当てられたバイト数しか転送されません。対応するALMは、フィールド化バッファ項目のサイズに設定されます。このため、ALMが構造体メンバーの配列の大きさを超えた場合、フィールド化バッファ情報は転送時に切り詰められます。構造体メンバーからフィールド化バッファのフィールドにデータを転送する場合、そのフィールドがcarray型であれば、ALMを使用してフィールド化バッファに転送するバイト数を示します。string型のフィールドの場合、ALMは転送時には無視されますが、後で転送されたバイト数に設定されます。carrayフィールドの長さはゼロであることもあるため、ALMが0である場合、関連する構造体メンバーの値がNULL値でなければ、フィールド化バッファに長さゼロのフィールドが転送されることを示します。ALMは、unsigned short型(VIEW32では32ビットのunsigned long integer型)で定義され、L_cnameという名前が生成されます。cnameは、ALMが宣言された構造体の名前です。宣言するALMに対応するメンバーのオカレンス数が1である場合、またはデフォルト値が1に設定されている場合、ALMは次のように宣言します。
unsigned short L_cname;となります。一方、オカレンス数が1より大きい場合(N)、ALMはunsigned short L_cname[N];のように宣言されます。これはALM配列として参照されます。このような場合は、ALM配列内の各要素は構造体メンバー(またはフィールド)の対応するオカレンスを参照します。生成されたALM名と先頭に「L_」接頭辞が付いている構造体メンバーが矛盾する場合もあります。そのような矛盾はVIEWコンパイラにより報告され、これをVIEWコンパイラは致命的なエラーとみなします。たとえば、構造体のメンバーの名前が「L_parts」である場合、これは、メンバー「parts」のために生成されたALMの名前と矛盾します。また、-rコマンドライン・オプションを指定すると、VIEWコンパイラはACMおよびALM (前述のCオプションを参照)メンバーの構造化レコード定義を生成します。 | 注意: | VIEW32バッファのMBSTRINGフィールドの場合、viewc32(1)コマンドではLオプションが自動的に追加され、対応するALMが宣言されます。Fmbpack32()によって準備されるMBSTRINGデータのサイズは、アプリケーションによってALMに設定されなければならず、Fmbunpack32()のために使用されます。 |
NULL値は、C構造体のメンバーが空であることを示すために使用されます。デフォルトのNULL値が指定されていますが、独自のNULL値を定義することもできます。
デフォルトのNULL値は、数値型では0 (dec_tの場合は0.0)、char型では"¥"、string、carray、およびmbstring型では""です。
NULL値を指定するためにエスケープ規則定数を使用することもできます。VIEWコンパイラが認識するエスケープ定数は、ddd (dは8進数)、0、n、t、v、b、r、f、 、'、および"です。
string、carray、およびchar型のNULL値は、二重引用符または一重引用符で囲まれている場合があります。VIEWコンパイラは、ユーザー定義のNULL値の内部のエスケープされていない引用符は受け付けません。
要素は、値がその要素のNULL値と同じであればNULLになりますが、以下の例外があります。
VIEW記述のNULLフィールドにキーワード"NONE"を指定することもできます。これは、そのメンバーに対するNULL値がないことを意味します。
文字列および文字配列のメンバーのデフォルトの最大サイズは2660文字です。
文字列メンバーの場合、通常"0"で終了するため、ユーザー定義のNULL値の最後の文字として"0"は必要ありません。
VIEWFILES
VIEWDIR変数(下記参照)で指定したディレクトリのリストから検索されます。
VIEWDIR
VIEW32では、環境変数VIEWFILES32とVIEWDIR32が使用されます。
# BEGINNING OF AN FML-BASED VIEWFILE
VIEW custdb
$/* This is a comment */
#
#type cname fbname count flag size null
#
carray bug BUG_CURS 4 - 12 "no bugs"
long custid CUSTID 2 - - -1
short super SUPER_NUM 1 - - 999
long youid ID 1 - - -1
float tape TAPE_SENT 1 - - -.001
char ch CHR 1 - - "0"
string action ACTION 4 - 20 "no action"
END
# BEGINNING OF AN INDEPENDENT VIEWFILE
VIEW viewx
$ /* View structure for viewx information */
#
#type cname fbname count flag size null
#
int in - 1 - - -
short sh - 2 - - -
long lo - 3 - - -
char ch - 1 - - -
float fl - 1 - - -
double db - 1 - - -
string st - 1 - 15 -
carray ca - 1 - 15 -
END
viewc、viewc32(1)、tpalloc(3c)、Fvftos、Fvftos32(3fml)、Fvstof、Fvstof32(3fml)
『FMLを使用したTuxedoアプリケーションのプログラミング』
#include <fml32.h>
#include <tpadm.h>
Oracle TuxedoシステムのMIBは、ワークステーション・グループ(1つのWSLとそれに関連したWSHプロセス)を管理するためのクラスのセットを定義します。
管理リクエストのフォーマットと管理応答の解釈を行うには、WS_MIB(5)を共通MIBリファレンス・ページMIB(5)と一緒に使用します。このリファレンス・ページで説明するクラスや属性を使用し、MIB(5)の説明に従ってフォーマットしたリクエストを使用すると、アクティブなアプリケーションの既存のATMIインタフェースの1つを通じて管理サービスをリクエストできます。WS_MIB(5)のすべてのクラス定義の追加情報については、「WS_MIB(5)に関する追加情報」を参照してください。
各クラスの説明セクションには、次の4つのサブセクションがあります。
前述のように、このMIBに含まれる各クラスは、4つの部分に分けて以下に定義されています。その1つが属性表です。属性表はクラス内の属性のリファレンス・ガイドであり、管理者、オペレータ、一般ユーザーがそれらの属性を使用してアプリケーションと対話するための方法を説明しています。属性表の各属性の説明には、5つの構成要素(名前、型、パーミッション、値、デフォルト)があります。各要素については、MIB(5)を参照してください。
MIB(5)は、共通TA_FLAGS属性を定義します。この属性はlong値フィールドで、共通MIBフラグ値とコンポーネントMIB固有フラグ値の両方を持ちます。現時点では、WS_MIB(5)固有のフラグ値は定義されていません。
このリファレンス・ページで説明する属性のフィールド表は、システムにインストールしたOracle Tuxedoシステム・ソフトウェアのルート・ディレクトリからの相対パスで指定されるudataobj/tpadmファイルにあります。${TUXDIR}/udataobjディレクトリは、FLDTBLDIR環境変数で指定されるコロン区切りのリストにアプリケーションによって追加される必要があり、フィールド表名tpadmは、FIELDTBLS環境変数で指定されるカンマ区切りのリストに追加される必要があります。
このMIBのヘッダー・ファイルとフィールド表には、Oracle Tuxedoシステム6.0以降が実行されているサイト(ネイティブとワークステーションの両方)からのみアクセスできます。
T_WSHクラスは、WSHクライアント・プロセスの実行時の属性を表します。この属性値は、特定のWSHクライアント・プロセスに固有のワークステーション統計情報の特性を示します。このクラスは、共通キー・フィールドのTA_SRVGRPとTA_SRVIDによってT_WSLにリンクされます。さらに、共通キー・フィールドのTA_WSHCLIENTIDによってT_CLIENTクラス(TM_MIB(5)を参照)にもリンクされます。
注2 Oracle Tuxedo 8.0以前のリリースの場合、この属性の文字列の長さは最大78バイトです。
TA_CLIENTID: string[1..78]
TA_WSHCLIENTID: string[1..78]
T_CLIENTオブジェクトにリンクできます。このフィールド値は、このクラスのTA_CLIENTID属性の値と常に同じです。
TA_SRVGRP: string[1..30]
TA_SRVID: 1 <= num < 30,001
TA_STATE:
TM_MIB(5)のT_CLIENTクラスに対して定義された任意の状態が返されるか、またはこのリファレンス・ページに示すとおり設定します。SUSpended状態への状態変更は、SUSpended状態のWSHのACTiveへのリセットと同様に、このWSHに関連付けられたすべてのクライアントにとって過渡的なものです。さらに、SUSpended状態のWSHクライアントには、WSLによって接続してくるクライアントがこれ以上割り当てられることはありません。T_CLIENTクラスにアクセスするときにWSHクライアントをDEADに設定することができない場合があります。ただし、DEADへの状態変化はT_WSHクラスを介して可能となり、この場合、WSHによって処理されるすべての接続が切断されます。
TA_LMID: LMID
TA_PID: 1 = num
TA_NADDR: string[1..256] (Oracle Tuxedo 8.0以前は最大で78バイト)
TA_HWCLIENTS: 1 <= num <32,767
TA_MULTIPLEX: 1 <= num <32,767
TA_CURCLIENTS: 1 <= num <32,767
TA_TIMELEFT: 0 <= num
TA_ACTIVE: {Y | N}
Yは、WSHがそれに関連付けられているワークステーション・クライアントの1つのかわりに作業を実行していることを示しています。値Nは、WSHがそれに関連付けられたワークステーション・クライアントの1つのかわりに実行する処理を待っていることを示しています。
TA_TOTACTTIME: 0 <= num
TA_TOTIDLTIME: 0 <= num
TA_CURWORK: 0 <= num
TA_FLOWCNT: 0 <= num
TA_NUMBLOCKQ: 0 <= num
TA_RCVDBYT: 0 <= num
TA_RCVDNUM: 0 <= num
TA_SENTBYT: 0 <= num
TA_SENTNUM: 0 <= num
このクラスはT_CLIENTクラスの特殊な場合を表すクラスなので、対応するT_CLIENTオブジェクトでも重複して定義されている特定の属性を表します。T_CLIENTクラスに含まれる属性のうちここに記載されていないものにはそのクラスを介してアクセスする必要があり、T_WSHクラスからアクセスすることはできません。
WSHサーバーの属性は、実行時環境でのみ意味を持ちます。したがって、起動されていない環境でtpadmcall(3c)関数を使用しても、これらの属性を変更することはできません。
T_WSLクラスは、ワークステーション・グループを管理するために構成されたWSLサーバー・プロセスの構成および実行時の属性を表します。これらの属性値により、アプリケーション内のWSL T_SERVERオブジェクトのワークステーション固有の構成属性が識別され、その特性が示されます。このクラスは、共通キー・フィールドのTA_SRVGRPとTA_SRVIDによってT_WSHにリンクされます。
注1 オブジェクト作成時、この属性に値を指定しないと、0が割り当てられます。この属性に0を指定すると、アクティブ化時に、TA_MAXHANDLERSの現在の設定値とTA_MAXWSCLIENTSのT_MACHINEクラス設定値から有効値が決定されます。MIB_LOCALフラグを設定してGET操作を実行すると、アクティブ化時のデフォルト設定値でオブジェクトの有効値が戻されるということに注意してください。
注2リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。
注3 Oracle Tuxedo 8.0以前のリリースの場合、この属性の文字列の長さは最大78バイトです。
TA_SRVGRP: string[1..30]
TA_SRVID: 1 <= num < 30,001
TA_GRPNO: 1 <= num < 30,001
TA_STATE:
TA_LMID: LMID
TA_PID: 1 = num
TA_DEVICE: string[0.0.78]
TA_NADDR: string[1..256] (Oracle Tuxedo 8.0以前は最大で78バイト)
stringの形式が"0xhex-digits"または"¥u165 hex-digits"の場合、偶数の有効な16進数を含める必要があります。これらの形式は、TCP/IPアドレスを含む文字配列に内部変換されます。stringの値は次のいずれかの形式で指定します(表79を参照)。
gethostbyname(3c)を介してアクセスされたローカル構成の名前解決機能を使ってアドレスが結合されるときに、hostnameはTCP/IPホスト・アドレスに解決されます。Ipv4の場合、#.#.#.#はドットで区切った10進数の形式で、各#は0から255までの10進数の値を表します。port_numberは0から65535までの10進数です。 | 注意: | 一部のポート番号は、お使いのシステムで使用されるトランスポート・プロトコル(TCP/IPなど)のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート・プロトコルのドキュメントを調べてください。 |
TA_EXT_NADDR: string[0..78]
TA_NADDRと同じです。ただし、組み合わされたネットワーク・アドレスの位置がWSHネットワーク・アドレスからコピーされることを示すために、ポート番号が同じ長さの文字Mで置き換えられます。たとえば、アドレス・テンプレートが0x0002MMMMddddddddでWSHネットワーク・アドレスが0x00021111ffffffffのときは、既知のネットワーク・アドレスは0x00021111ddddddddです。アドレス・テンプレートが"//"で始まる場合、ネットワーク・アドレス・タイプはIP対応であり、WSHネットワーク・アドレスのTCP/IPポート番号はアドレス・テンプレートにコピーされて、組み合わされたネットワーク・アドレスが生成されます。この機能は、ワークステーション・クライアントがネットワーク・アドレス変換を実行するルータを通じてWSHに接続するときに役立ちます。既存のT_WSLオブジェクトのSET操作の空のTA_EXT_NADDR文字列は、TA_CLOPT属性から-Hエントリを削除します。 | 注意: | Tuxedo IPv6アドレッシングでは、TA_EXT_NADDRはサポートされません。 |
TA_WSHNAME: string[1..78]
buildwsh()コマンドを使用してカスタマイズできます。詳細は、カスタマイズの項とbuildwsh(1)リファレンス・ページを参照してください。
TA_MINHANDLERS: 0 <= num < 256
TA_MAXHANDLERS: 0 <= num < 32,767
TA_MULTIPLEX: 1 <= num < 32,767
TA_MINENCRYPTBITS: {0 | 40 | 56 | 128 | 256 }
0は暗号化が行われないことを示し、40、56、および128は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルト値は0です。 | 注意: | リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。 |
TA_MAXENCRYPTBITS: {0 | 40 | 56 | 128 | 256 }
0は暗号化が行われないことを示し、40、56、および128は暗号化キーの長さをビット単位で指定します。デフォルト値は128です。 | 注意: | リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。 |
TA_CERTIFICATE_AUTHENTICATION: "{Y | N}"
TA_SECUREPORT: 0 <= num < 32,767
TA_SSL_RENEGOTIATION: 0 <= num < 35,791,394
TA_MINWSHPORT: 0 <= num < 65,535
TA_MAXWSHPORT: 0 <= num < 65,535
TA_MAXIDLETIME: 0 <= num < 35,204,650
TA_MAXINITTIME: 1 <= num < 32,767
TA_CMPLIMIT: threshold
しきい値は、負以外の数値または文字列MAXLONGです。MAXLONGは、マシンの最大長の設定に動的に変換されます。制限事項:この属性値は、Oracle Tuxedo Workstationリリース6.1以前のシステムを実行しているワークステーション・クライアントでは使用されません。
TA_CLOPT: string[0..1024]
servopts(5)リファレンス・ページを参照してください。制限事項:実行時にこの属性を変更しても、稼働中のWSLサーバーに影響はありません。サーバー固有のオプション(ダブルダッシュ"--"の後のオプション)は設定できず、また返されません。
TA_ENVFILE: string[0..256] (Oracle Tuxedo 8.0以前の場合は最大78バイト)
T_MACHINE:TA_ENVFILEを参照してください。制限事項:実行時にこの属性を変更しても、稼働中のWSLサーバーに影響はありません。
TA_GRACE: 0 <= num
T_WSL:TA_MAXGENの制限が適用される期間を示します(単位は秒)。この属性は、再起動が可能なWSLサーバーに対してのみ(T_WSL:TA_RESTART属性が"Y"に設定されている場合にのみ)有効です。再起動しているサーバーがTA_MAXGEN制限値を超えても、TA_GRACEの期限が切れている場合は、現在の世代(T_SERVER:TA_GENERATION)が1にリセットされ、初期起動時間(T_SERVER:TA_TIMESTART)が現在の時刻にリセットされます。この属性を0に設定すると、WSLサーバーはいつでも再起動できます。
TA_KEEPALIVE: "{client | handler | both | none}"
TA_MAXGEN: 1 <= num < 256
T_WSL:TA_GRACE)において、再起動可能なWSLサーバー(T_WSL:TA_RESTART == "Y")に許可された最大の世代数。WSLサーバーを最初にアクティブにする動作を1つの世代としてカウントし、その後の再起動もそれぞれ1つの世代としてカウントします。最大世代数を超えた後の処理については、前述のTA_GRACEに関する説明を参照してください。
TA_NETTIMEOUT: 0 <= num <= MAXLONG
TA_NETTIMEOUTの値は、ワークステーション・クライアントがWSL/WSHからのレスポンスを受信するために待機状態でいられる最短時間(秒数)です。デフォルト値は0、つまりタイムアウトが発生しないことを示します。
TA_RCMD: string[0..256] (Oracle Tuxedo 8.0以前の場合は最大78バイト)
TA_RESTART: "{Y | N}"
"Y")または再起動不可能("N")に設定します。このサーバー・グループに対してサーバー移行が指定された場合には(T_RESOURCE:TA_OPTIONS/MIGRATE T_GROUP:TA_LMID w/代替サイト)、この属性を"Y"に設定する必要があります。
TA_SEQUENCE: 1 <= num < 10,000
TA_SEQUENCE属性を指定せずに、または無効な値を指定して追加されたT_WSLオブジェクトは、他の自動的に選択されたデフォルト値より大きな10,000以上の値を持ちます。サーバーは、tmboot()によってシーケンス番号の昇順で起動され、tmshutdown()によって降順で停止されます。この属性を実行時に変更すると、tmboot()とtmshutdown()にのみ反映され、実行中のサーバーが以降のtmshutdown()の呼出しによって停止される順序に影響します。
TA_CURHANDLERS: 0 <= num
TA_HWHANDLERS: 0 <= num
TA_WSPROTO: 0 <= num
TA_SUSPENDED: "{NEW | ALL | NONE}"
"NEW"は、新たに接続してくるクライアントがこのWSLオブジェクトを介して接続しない可能性があることを示しています。値"ALL"は、新しいクライアントの接続の禁止に加えて、このWSLを介してすでにアプリケーションに接続されているワークステーション・クライアントがSUSPENDEDの状態にある(TM_MIB(5)を参照)ことを示しています。値"NONE"は、有効な中断特性がないことを示しています。
TA_VIEWREFRESH: Y
このクラスはT_SERVERクラスの特殊な場合を表すクラスなので、対応するT_SERVERオブジェクトでも重複して定義されている特定の属性を表します。T_SERVERクラスに含まれる属性のうちここに記載されていないものにはそのクラスを介してアクセスする必要があり、T_WSLクラスからアクセスすることはできません。
WS_MIB(5)への接続時には、2つの一般的なタイプのエラーがユーザーに戻される場合があります。1つは、管理リクエストに対するレスポンスを検索する3つのATMI関数(tpcall()、tpgetrply()、およびtpdequeue())が戻すエラーです。これらのエラーは、該当するリファレンス・ページの記述に従って解釈されます。
ただし、リクエストがその内容に対応できるシステム・サービスに正常にルーティングされても、システム・サービス側でそのリクエストを処理できないと判断されると、アプリケーション・レベルのサービス障害としてエラーが返されます。このような場合、tpcall()とtpgetrply()は、tperrnoをTPESVCFAILに設定してエラーを返し、以下のようにエラーの詳細を示すTA_ERROR、TA_STATUS、およびTA_BADFLDフィールドと一緒に、元のリクエストを含む応答メッセージを返します。TMQFORWARD(5)サーバー経由でシステムに転送されたリクエストに対してサービス障害が発生すると、元のリクエストで識別される異常終了キューに障害応答メッセージが追加されます(TMQFORWARDに対して-dオプションが指定されたとみなされる)。
管理リクエストの処理中にサービス・エラーが発生すると、TA_STATUSというFML32フィールドにエラーの内容を説明したテキストが設定され、TA_ERRORというFML32フィールドにはエラーの原因(下記参照)を示す値が設定されます。次のエラー・コードは、いずれも負であることが保証されています。
other]
MIB(5)リファレンス・ページに指定されています。これらのエラー・コードは、ここに定義するWS_MIB(5)固有のエラー・コードと相互に排他関係にあることが保証されています。
以下の診断コードはTA_ERRORで戻されるもので、管理リクエストが正常に完了したことを示します。これらのコードは負数でないことが保証されています。
other]
MIB(5)リファレンス・ページに指定されています。これらのコードは、ここに定義するWS_MIB(5)固有の戻りコードと相互に排他関係にあることが保証されています。
このリファレンス・ページで定義されているヘッダー・ファイルおよびフィールド表は、Oracle Tuxedoリリース5.0以降で利用できます。これらのヘッダーや表で定義するフィールドはリリースが変わっても変更されません。ただし、以前のリリースで定義されていない新しいフィールドが追加される場合があります。AdminAPIには、リクエストを作成するために必要なヘッダー・ファイルとフィールド表があれば、どのサイトからでもアクセスできます。T_WSLおよびT_WSHクラスは、Oracle Tuxedoシステム・リリース6.0で新しく追加されたクラスです。そのため、AdminAPIを介して旧リリースのサイト上でWSLプロセスとWSHプロセスをローカル管理することはできません。ただし、このリファレンス・ページに定義された管理機能の多くは、リリース6.0のサイトと相互運用していれば、リリース6.0より前のサイトでも使用できます。リリースが異なるサイト(共にリリース6.0以降)を相互運用する場合、当該リリースのMIBリファレンス・ページに定義されるように、旧サイト上の情報はアクセスおよび更新可能で、以降のリリースで利用可能な情報のサブセットとなります。
Oracle TuxedoシステムのMIBを使用した管理作業をサポートするために必要な既存のFML32およびATMI関数、さらにこのリファレンス・ページに定義するヘッダー・ファイルとフィールド表は、すべてのサポート対象ネイティブ・プラットフォームとワークステーション・プラットフォームで使用可能です。
以下の例は、TM_MIB(5)とWS_MIB(5)を組み合せてワークステーション・グループを順番に非アクティブ化するコードです。
属性フィールド識別子にアクセスするには、フィールド表tpadmが必要です。そのためには、次のようにシェルで入力します。
$ FIELDTBLS=tpadm
$ FLDTBLDIR=${TUXDIR}/udataobj
$ export FIELDTBLS FLDTBLDIR
#include <atmi.h>
#include <fml32.h>
#include <tpadm.h>
以下のコードは、ワークステーション・グループの状態をSUSpendedに設定します。このように設定すると、ワークステーション・グループはワークステーション・クライアントからの新しい接続を受け入れることができなくなり、現在グループの一部であるすべてのワークステーション・クライアントが一時停止します。このコードと後続のコードは、対象としているワークステーション・グループを識別するためのローカル変数ta_srvgrpとta_srvidがすでに設定されているという前提で書かれています。
/* Allocate input and output buffers */ ibuf = tpalloc("FML32", NULL, 1000);
obuf = tpalloc("FML32", NULL, 1000);
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_WSL", 0);
/* Set WS_MIB(5) attributes */
Fchg32(ibuf, TA_SRVGRP, 0, ta_srvgrp, 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)ta_srvid, 0);
Fchg32(ibuf, TA_SUSPENDED, 0, "ALL", 0);
/* Make the request */
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);
}
/* Additional error case processing */
}
/* Copy the logical machine identifier for later use */
strcpy(ta_lmid, Ffind32(obuf, TA_LMID, 0, NULL)); 既存の入力バッファを使って、クラスと操作を変更して新しいリクエストを作成します。特定のT_WSLオブジェクトのキー・フィールド、ta_srvgrpとta_srvidに関連付けられているすべてのT_WSHオブジェクトを検索します。検索を効率化するため、TA_FILTER属性を設定します。
/* Set MIB(5) attributes defining request type */ Fchg32(ibuf, TA_CLASS, 0, "T_WSH", 0);
Fchg32(ibuf, TA_OPERATION, 0, "GET", 0);
longval = TA_WSHCLIENTID;
Fchg32(ibuf, TA_FILTER, 0, (char *)longval, 0);
/* Set WS_MIB(5) attributes */
Fchg32(ibuf, TA_LMID, 0, ta_lmid, 0);
/* Allocate a separate output buffer to save the TA_WSHCLIENTID values */
wshcltids = tpalloc("FML32", NULL, 1000);
/* Make the request */
tpcall(".TMIB", (char *)ibuf, 0, (char **)wshcltids, olen, 0);
/* See how many we got */
Fget32(wshcltids, TA_OCCURS, 0,(char *)wshcltcnt, NULL);
検索したTA_WSHCLIENTID値を使用して、このワークステーション・グループ内のワークステーション・クライアントの関連付けられたTA_CLIENTID値のリストを検索します。
/* Initialize request buffer */ Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "GET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_CLIENT", 0);
longval = TA_CLIENTID;
Fchg32(ibuf, TA_FILTER, 0, (char *)longval, 0);
longval = TA_WSHCLIENTID;
Fchg32(ibuf, TA_FILTER, 1, (char *)longval, 0);
/* Set WS_MIB(5) attributes */
Fchg32(ibuf, TA_LMID, 0, ta_lmid, 0);
Fchg32(ibuf, TA_WSC, 0, "Y", 0);
if (wshcltcnt == 1) {
/* Since only 1, use it as key field. */
Fchg32(ibuf, TA_WSHCLIENTID, 0,
Ffind32(wshcltids, TA_WSHCLIENTID, 0, NULL));
}
/* Allocate output buffer to save TA_CLIENTID/TA_WSHCLIENTID values */
cltids = tpalloc("FML32", NULL, 1000);
/* Make the request */
tpcall(".TMIB", (char *)ibuf, 0, (char **)cltids, olen, 0);
/* See how many we got */
Fget32(cltids, TA_OCCURS, 0,(char *)cltcnt, NULL);
/* Eliminate unassociated clients if necessary */
if (wshcltcnt > 1) {
for (i=(cltcnt-1); i >= 0 ;i--) {
p = Ffind32(cltids, TA_WSHCLIENTID, i, NULL);
for (j=0; j wshcltcnt ;j++) {
q = Ffind32(wshcltids, TA_WSHCLIENTID, j, NULL);
if (strcmp(p, q) == 0) {
break; /* This client is in our group */
}
}
if (j >= wshcltcnt) {
/* Client not found, delete it from list */
Fdel32(cltids, TA_CLIENTID, i);
Fdel32(cltids, TA_WSHCLIENTID, i);
cltcnt--;
}
}
}
検索したTA_CLIENTID値を使用して、このワークステーション・グループ内のワークステーション・クライアントにログオフを通知します。
notstr = tpalloc("STRING", NULL, 100);
(void)strcpy(notstr, "Please logoff now!");
/* Now loop through affected clients and suspend/notify them */
for (i=0; i cltcnt ;i++) {
p = Ffind32(cltids, TA_CLIENTID, i, NULL);
/* Notify the client to logoff */
tpconvert(p, (char *)ci, TPCONVCLTID);
tpnotify(ci, notptr, 0, 0);
} 検索したTA_CLIENTID値を使用して、このワークステーション・グループ内の残りのワークステーション・クライアントを非アクティブ化します。すでに非アクティブ化されているクライアントはSETでエラーを返しますが、これは無視します。
/* Initialize request buffer */
Finit32(ibuf, Fsizeof32(ibuf));
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_CLIENT", 0);
Fchg32(ibuf, TA_STATE, 0, "DEAd", 0);
/* Now loop through affected clients and deactivate them */
for (i=0; i cltcnt ;i++) {
p = Ffind32(cltids, TA_CLIENTID, i, NULL);
Fchg32(ibuf, TA_CLIENTID, 0, p);
/* Make the request */
tpcall(".TMIB", (char *)ibuf, 0, (char **)obuf, olen, 0);
}
T_WSLオブジェクトを非アクティブ化します。これにより、関連付けられたアクティブなT_WSHオブジェクトが自動的に非アクティブ化されます。
/* Set MIB(5) attributes defining request type */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_WSL", 0);
Fchg32(ibuf, TA_STATE, 0, "INActive", 0);
/* Set WS_MIB(5) attributes */
Fchg32(ibuf, TA_SRVGRP, 0, ta_srvgrp, 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)ta_srvid, 0);
/* Make the request */
tpcall(".TMIB", (char *)ibuf, 0, (char **)obuf, olen, 0);
}
${TUXDIR}/include/tpadm.h、${TUXDIR}/udataobj/tpadm
tpacall(3c)、tpalloc(3c)、tpcall(3c)、tpdequeue(3c)、tpenqueue(3c)、tpgetrply(3c)、tprealloc(3c)、「FML関数の紹介」、Fadd、Fadd32(3fml)、Fchg、Fchg32(3fml)、Ffind、Ffind32(3fml)、MIB(5)、TM_MIB(5)
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
『FMLを使用したTuxedoアプリケーションのプログラミング』
WSL SRVGRP="identifier"
SRVID="number"
CLOPT="[-A] [servoptsoptions] -- -nnetaddr[-ddevice]
[-wWSHname] [-ttimeout-factor] [-TClient-timeout]
[-mminh] [-Mmaxh] [-xmpx-factor]
[-pminwshport] [-Pmaxwshport] [-Iinit-timeout]
[-ccompression-threshold] [-kcompression-threshold]
[-K {client|handler|both|none}]
[-zbits] [-Zbits] [-Hexternal-netaddr][-Nnetwork-timeout][-Uinbound-message-size-limit-in-bytes][-a] [-v{detect|warn|none}] [-R renegotiation_interval]
[-S secure_port]”
ワークステーション・リスナーは、ワークステーション・クライアントからネイティブ・サービスへのアクセスを可能にするOracle Tuxedoシステム提供のサーバーです。アプリケーション管理者は、SERVERSセクションでワークステーション・リスナー・サーバーをアプリケーション・サーバーとして指定することにより、ワークステーションからアプリケーションへのアクセスを許可します。ワークステーション・リスナーとワークステーション・ハンドラの処理を指定するには、関連するコマンドライン・オプションを使用します。
位置指定、サーバー・グループ、サーバーID、その他の汎用サーバー関連パラメータは、サーバー用に定義されている構成ファイル機構を使用してワークステーション・リスナーに関連付けられます。ワークステーション・リスナー専用のコマンドライン・オプションを使用して、カスタマイズすることもできます。
アプリケーションの一部としてWSLが起動するたびに、単一の既知のネットワーク・アドレスから、ワークステーション上で作業するユーザーのための代替クライアントとして機能する一群のワークステーション・ハンドラ(WSH)へアクセスすることを認めることにより、多数のワークステーション・クライアントがアプリケーションにアクセスできるようになります。WSHは、アプリケーション・ワークステーションからのワークロードに対応するために、必要に応じてWSLによって動的に起動および停止されます。アプリケーション管理者に対する利点としては、少数のネイティブ・サイト・プロセス(WSH)によって、多数のクライアントをサポートすることができるため、ネイティブ・サイトでのプロセス数を減らすことができるという点、また、ネイティブ・サイトが、ワークステーション・サイトにある掲示板上の情報を維持するためのオーバーヘッドを負う必要がなくなるという点が挙げられます。
以下のWSL固有のコマンドライン・オプションを使用できます。これらのコマンドライン・オプションは、CLOPTパラメータの二重ダッシュ(--)の後ろに指定できます。
-n netaddr
netaddr (1 - 78文字)の形式が"0xhex-digits"または"\\xhex-digits"の場合、有効な偶数桁の16進数を含める必要があります。これらの形式は、TCP/IPアドレスを含む文字配列に内部変換されます。このアドレスは、次の形式のいずれかで指定することもできます(表80を参照)。
IPv4の場合、#.#.#.#はドットで区切った10進数の形式で、各#は0から255までの10進数の値を表します。port_numberは0から65535までの10進数です。 | 注意: | 一部のポート番号は、お使いのシステムで使用されるトランスポート・プロトコル(TCP/IPなど)のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート・プロトコルのドキュメントを調べてください。 |
-d device]
-w WSHname]
buildwsh()コマンドを使用してカスタマイズできます。詳細は、buildwsh(1)リファレンス・ページを参照してください。
-t timeout-factor]
-Iオプションで置き換えられます。Oracle Tuxedoリリース6.0との上位互換性のために引続きサポートされますが、将来のリリースでは削除される可能性があります。指定する数をSCANUNITと掛けた値が、ワークステーション・クライアントがWSHを介して初期化プロセスを完了するまでの時間(秒)になります。SCANUNITの単位がミリ秒の場合、最終結果は、最も近い秒単位の値に切り上げられます。このパラメータのデフォルト値は、非セキュリティ・アプリケーションでは3、セキュリティ・アプリケーションでは6です。このパラメータのデフォルト値は60で、有効な範囲は1 - 255です。
-T client-timeout]
Client-timeoutは、クライアントがアイドル状態を保持できる時間を分単位で表したものです。クライアントがこの時間内にリクエストを行わなかった場合、WSHはクライアント接続を切断します。このオプションは、安定性の低いクライアントのプラットフォームでの使用に適しています(ユーザーがtpterm()の呼出しを行わずにコンピュータの電源を切る可能性がある場合など)。また、クライアントが非請求メッセージの通知を受信しても再試行しない場合にも効果があります。-Tを指定しない場合、タイムアウトはありません。
-m minh]
-M maxh]
MAXWSCLIENTSの設定値を割った値です。多重係数については、後述の-xオプションを参照してください。このパラメータの有効範囲は1 - 4096です。この値はminh以上でなければなりません。
-x mpx-factor]
-p minwshport] -P maxwshport]
minwshportが2048、maxwshportが65535です。 | 注意: | 一部のポート番号は、お使いのシステムで使用されるトランスポート・プロトコル(TCP/IPなど)のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート・プロトコルのドキュメントを調べてください。 |
-I init-timeout]
-tオプションに取ってかわるもので、クライアントの初期化タイムアウト間隔を設定するために使用します。ワークステーション・クライアントがWSLによってタイムアウトになる前にWSHを介して初期化プロセスを完了するのに許容される最短時間(秒)。このパラメータのデフォルト値は60です。有効な範囲は1 - 32,767です。
-c compression-threshold]
-k compression-threshold]
-cオプションで圧縮しきい値を制御するWSL/WSHのペアと、-kオプションで制御するWSL/WSHのペアが複数存在できます。-kの機能は-cと同じです。
-K {client | handler | both | none}]
-Kオプションは、client、handler、またはbothに対してネットワークkeep-alive機能をオンにできます。noneを指定すると、クライアントとハンドラの両方に対してこの機能をオフにできます。
-z [0 | 40 | 56 | 128|256]]
0は暗号化が行われないことを示し、40、56、128、および256は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルトは0です。 | 注意: | リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。 256ビットの暗号化は、現時点ではSSLを使用している場合にのみ指定できます。 |
-Z [0 | 40 | 56 | 128|256]]
0は暗号化が行われないことを示し、40、56、128、および256は暗号化キーの長さをビット単位で指定します。デフォルト値はLLEの場合128、SSLの場合256です。
| 注意: |
-H external-netaddr]
-nオプションと同じです。ただし、組み合わされたネットワーク・アドレスの位置がWSHネットワーク・アドレスからコピーされることを示すために、ポート番号が同じ長さの文字Mで置き換えられます。たとえば、アドレス・テンプレートが0x0002MMMMddddddddでWSHネットワーク・アドレスが0x00021111ffffffffのときは、既知のネットワーク・アドレスは0x00021111ddddddddです。アドレス・テンプレートが"//"で始まる場合、ネットワーク・アドレス・タイプはIP対応であり、WSHネットワーク・アドレスのTCP/IPポート番号はアドレス・テンプレートにコピーされて、組み合わされたネットワーク・アドレスが生成されます。この機能は、ワークステーション・クライアントがネットワーク・アドレス変換を実行するルータを通じてWSHに接続するときに役立ちます。 | 注意: | Tuxedo IPv6アドレッシングでは、-Hオプションはサポートされません。 |
-N network-timeout]
-U inbound-message-size-limit-in-bytes]
-a]
-v {detect|warn|none}]
detectを指定すると、Oracle Tuxedoは、接続確立に使用するオブジェクト参照で指定されたホストが、ピア・サーバーのデジタル証明書で指定されたドメイン名と一致するかどうかを確認します。比較に失敗した場合、Oracle Tuxedoはピアの認証を拒否し、接続をドロップします。detectは、デフォルト値です。 warnを指定すると、Oracle Tuxedoは、接続確立に使用するオブジェクト参照で指定されたホストが、ピア・サーバーのデジタル証明書で指定されたドメイン名と一致するかどうかを確認します。比較に失敗した場合、Oracle Tuxedoはユーザー・ログにメッセージを書き込みますが、接続は継続して処理されます。 noneを指定すると、Oracle Tuxedoはピアの検証を行わずに接続を継続して処理します。 -vパラメータは、SSLまたはLLE (リンク・レベル暗号化)のライセンスがインストールされている場合にのみ使用できます。
-R renegotiation-interval]
| 注意: | -Rパラメータが指定されているときに、-Sパラメータが指定されていない、または0に設定されている場合は、ユーザー・ログに警告メッセージが送信されます。 |
-S secure-port]
-Sおよび-nオプションで指定するポート番号に同じ値を設定します。この値は0 - 32767でなければなりません。デフォルト値は0です。 | 注意: | -Rパラメータが指定されているときに、-Sパラメータが指定されていない、または0に設定されている場合は、ユーザー・ログに警告メッセージが送信されます。 |
MAXWSCLIENTSの値がゼロの場合など、WSLがワークステーション・クライアントをサポートするのを妨げる構成では、起動時にWSLが異常終了します。
WSLは、サポートされているすべてのサーバー・プラットフォームでOracle Tuxedoシステム提供のサーバーとしてサポートされます。
WSLは相互運用するアプリケーションで実行できますが、Oracle Tuxedoリリース4.2以降のノードで実行する必要があります。
buildwsh(1)、servopts(5)、UBBCONFIG(5)
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
XAUTHSVR—TUXEDO Extened Securityのデフォルト・セキュリティ・サーバーです。LDAPベースの認証と認可を提供します。
XAUTHSVR SRVGRP="identifier" SRVID=number other_parms CLOPT="-A -- -f filename | -n atnldap -z atzldap "
XAUTHSVRはSystem/T提供のサーバーで、ユーザーのセキュリティ情報またはサービス制御情報がLDAP Serverにあるときに、認証および認可サービスを行います。このサーバーを保護されたアプリケーションで使用することにより、クライアントがアプリケーションに参加するとき、またはTUXEDOサービスにアクセスするときに、ユーザー単位の認証を行うことができます。
セキュリティ・レベルがACLよりも高い場合、XAUTHSVRは認証と認可のサービスを"..ATNSVC"と"..ATZSVC"として公開します。ただし、セキュリティ・レベルがUSER_AUTHの場合、XAUTHSVRは認証サービスを"ATNSVC"として公開します。
認証サービスは、ユーザーのパスワードとしてTPINIT型付きバッファを含むサービス・リクエストを受け入れます。このようなパスワードは、LDAP Serverに格納されている構成済パスワードに対して検証されます。リクエストが検証で認められると、サービスはTPSUCCESSを返します。
認可サービスは、サービス・アクセス・リクエストが格納されているFMLバッファを含むサービス・リクエストを受け入れます。
SERVICEリソースの場合、これはサービス名です。
TUXEDO /Qリソースの場合、これはキュー・スペースの名前です。
TUXEDOイベント・リソースの場合、これはイベント名です。
Tuxedoでは、定義済アクションのすべてが特定のリソース・タイプに適用できるわけではありません。次の表に、各リソース・タイプが受け入れられるアクションを示します。
これは、認証で生成されるユーザー資格証明を指定します。XAUTHSVRではユーザーIDが使用されます。
ユーザーが正常に認可されると、サービスはTPSUCCESSをリクエスタに返します。それ以外の場合はTPFAILが返されます。
構成ファイルが指定されない場合は、LDAPの構成情報を取得するために$TUXDIR/udataobj/tpldap.xauthファイルが使用されます。ファイル名は、サーバーのコマンドライン・オプションで"-f filename"オプションを使用して指定します。たとえば、CLOPT="-A -- -f/usr/tuxedo/myapp/myldap"のように指定します。XAUTHSVRサーバーで、ユーザーは認証情報と認可情報を別のLDAPに格納することができます。ユーザーは、ATN構成ファイルを"-n"オプションで、ATZ構成ファイルを"-z"オプションで指定できます。これらの構成ファイルすべての形式は次に示すように共通しています。
次の表は、XAUTHSVR構成ファイルのキーワードを示しています。
この構成ファイルを、マスター・マシンからTuxedo UBBCONFIGファイル内の他のマシンに自動的に伝播することはできません。複数の XAUTHSVRを使用するには、複数のマシンを別々に構成する必要があります。
LAUTHSVRの詳細は、「XAUTHSVRに関する追加情報」を参照してください。
| 注意: | LAUTHSVRではIPv6がサポートされます。 |
SECURITYがUSER_AUTH以上に設定されている場合は、強制的にユーザー単位での認証が実行されます。認証サービスの名前は、アプリケーションに対して構成できます。
認証リクエストは、LDAPデータベース内で最初に一致するユーザー名に対してのみ認証されます。
SECURITYがACLまたはMANDATORY_ACLに設定されている場合、ユーザー単位の認証が強制的に実行され、サービスや、アプリケーションのキュー、イベントにアクセスするためのアクセス制御リストがサポートされます。認証サービスの名前はAUTHSVC (これらのセキュリティ・レベル用にXAUTHSVRによって公開されたデフォルト・サービス)である必要があります。
拡張セキュリティを有効にし、XAUTHSVRを設定するには、OPTIONSにEXT_AAを設定する必要があります。それ以外の場合、TUXEDOの起動時に障害が発生します。
XAUTHSVRは、Tuxedo System /Tに付属のサービスとして非Workstationプラットフォームでサポートされます。
# Using LAUTHSVR
*RESOURCES
AUTHSVC "..AUTHSVC"
SECURITY ACLOPTIONS EXT_AA*SERVERS
LAUTHSVR SRVGRP="AUTH" SRVID=100
CLOPT="-A -- -f /usr/tuxedo/udataobj/tpldap"
|