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を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
#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を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
AUTHSVR SRVGRP="
identifier
" SRVID=
number
other_parms
CLOPT="-A"
AUTHSVR
は、Oracle Tuxedoに用意されている、認証サービスを備えたサーバーです。このサーバーを保護されたアプリケーションで使用することにより、クライアントがアプリケーションに参加するときにユーザー単位の認証を行うことができます。このサーバーは、アプリケーションへのアクセスをリクエストしているクライアント・プロセスのためのTPINIT
型付きバッファを含むサービス・リクエストを受け付けます。TPINIT
型付きバッファのデータ・フィールドをユーザーのパスワードとして使用し、そのパスワードを設定済パスワードと比較することにより、リクエストの妥当性をチェックします。リクエストが妥当であると認められると、クライアントが使用するためのチケットとしてアプリケーション・キーが返されます。
アプリケーション・キーの設定には、tpreturn(3c)のrcode
パラメータが使用されます。このパラメータは、検証に合格するか、パーミッションが拒否されたときに、tpinit(3c)を呼び出したコードに(tpurcode
で)返されます。ユーザー作成の認証サーバーの場合、tpreturn(3c)に渡されるデータ・パラメータはNULLでなければなりません。 (null以外の値は、SALT OAMトークン・ベースのCookie認証でのみ内部的に使用されます。)
AUTHSVR
の詳細は、AUTHSVR(5)を参照してください。
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} にインストールしてください。 |
# 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()
が用意されています。いずれかのコマンドを実行して両方の操作を実行する場合、ファイルをリンクするためのライブラリを必ずコマンド行で指定してください(詳細については、『Oracle 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 ATMIアプリケーションのプログラミング』、および『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
"
CLOPT -3
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
ファイルが入っているファイルのパス名に設定する必要があります。
CLOPT -3
UBBCONFIG
ファイルの*SERVERS
セクションで使用されます。このオプションを指定すると、セキュリティ強化のため、DMADMでTriple-DESパスワード暗号化が使用されます。指定しない場合、DMADMでDESパスワード暗号化が使用されます。
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
パラメータで指定されるディレクトリに、DM
mmddyy
.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"
の場合、再接続は行われません。 注: | GWTDOMAIN がバイパス・ドメイン・モデルで実行されている場合、ON_DEMAND は指定しないでください。指定した場合はGWTDOMAIN の起動時に自動的にON_STARTUP として扱われ、GWTDOMAIN からLIBGWT_CAT XXXX, バイパス・ドメイン・モードでON_DEMANDのかわりにON_STARTUPが適用されました というメッセージが出力されます。 |
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文字までの任意の文字列値を指定できます。この値は比較のためだけに使用します。
STATISTICS_INTERVAL= numeric
numeric
では、統計トレースを監査ログ・ファイルにフラッシュする間隔時間を指定します。このパラメータを指定しないか、ゼロに設定した場合、この機能はオフになります。このパラメータの単位はsecond
です。# HourMinSec: local domain id: remote domain id: remote service name: Average response time [ success times, excluding timeout times]
HourMinSec:DOM2:DOM1:ToLower:110ms[555 times, excluding 94 timeout]
注: | DM_REMOTE_SERVICES セクションのリモート・サービスにRDOM を指定しない場合、書式は次のように変更されます: HourMinSec:DOM2:ALLDOM:ToLower:110ms[555 times, excluding 94 timeout] |
STATISTICSLOG_PFX= string[0..256]
このローカル・ドメイン・アクセス・ポイントの統計ログ・ファイルの絶対パス名の接頭辞を指定します。統計ログ機能はdmadmin(1)
コマンドによって起動し、このローカル・ドメイン・アクセス・ポイントからリモート・ドメインへのすべてのサービス呼出しを記録します。統計ログ機能がアクティブでこのパラメータが指定されていない場合、$APPDIR
環境変数またはUBBCONFIG
MACHINES
セクションのAPPDIR
パラメータで指定されたディレクトリに、ファイルSTAT_LOG_domainid.mmddyy
(mm
は月、dd
は日、yy
は年)が作成されます。統計ログ・ファイルは、サーバーGWADM
が起動すると作成されます。
注: | ファイル名が指定されている場合、ログ名はspecified_name_domainid.mmddyy です。 |
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
を使用できます。
THROUGHGATEWAY = {Y|N}
THROUGHGATEWAY=Y
は、ローカル・ドメイン・アクセス・ポイントがGWTDOMAIN
を介してメッセージを送信することを示し、THROUGHGATEWAY=N
は、リモート・サービスがGWTDOMAIN
ではなくRDMA
を介して呼び出されることを示します。このパラメータのデフォルト値はN
です。 注: | THROUGHGATEWAY は、バイパス・ドメイン機能がオンになっている場合にのみ指定できます。 |
以下のDM_LOCAL
セクション・パラメータは補完的に示したもので、TDOMAIN
ドメイン・ゲートウェイには適用されません。
SNAX
およびOSITP
パラメータの詳細は、Oracle Tuxedo Mainframe Adaptersのドキュメントを参照してください。
このセクション(DM_REMOTE_DOMAINS
セクションともいう)では、1つまたは複数のリモート・ドメイン・アクセス・ポイント識別子とそれらの特性を定義します。
DM_REMOTE
セクションのエントリの形式は次のとおりです。
RemoteAccessPoint
required_parameters
[optional_parameters
]
RemoteAccessPoint
は、ローカルOracle Tuxedoアプリケーションにとって既知の各リモート・ドメインを識別するために選択するリモート・ドメイン・アクセス・ポイント識別子(論理名)です。RemoteAccessPoint
は、Domains構成に含まれるローカルおよびリモート・ドメイン間でユニークでなければなりません。DM_IMPORT
セクションで説明するとおり、リモート・ドメイン・アクセス・ポイントはリモート・サービスを特定のリモート・ドメインに関連付けるために使用します。リモート・ドメイン・アクセス・ポイントを介して使用できるリモート・サービスは、リモート・ドメイン・アクセス・ポイントとローカル・ドメイン・アクセス・ポイントを介してローカル・ドメイン内のクライアントで使用できます。
TYPE
=
identifier
TYPE
は、TDOMAIN
、SNAX
、OSITP
、またはOSITPX
に設定できます。
TDOMAIN
は、GWTDOMAIN
プロセスのローカル・インスタンスがリモートOracle Tuxedoアプリケーションと通信することを示します。 SNAX
は、GWSNAX
プロセスのローカル・インスタンスがSNAプロトコルを介してリモートTPドメインと通信することを示します。 OSITP
は、GWOSITP
プロセスのローカル・インスタンスがOSI TP 1.3プロトコルを介してリモートTPドメインと通信することを示します。 OSITPX
は、GWOSITP
プロセスのローカル・インスタンスがOSI TP 4.0以降のプロトコルを介してリモートTPドメインと通信することを示します。OSITPX
は、Oracle Tuxedo 8.0以降のソフトウェアでのみサポートされます。
ACCESSPOINTID
(またはDOMAINID
) =
string
[1..30]
TDOMAIN
ローカル・ドメイン・ゲートウェイの場合、この値は、このリモート・ドメイン・アクセス・ポイント接続から受信したリクエストのユーザーIDとしてTDomainゲートウェイ(GWTDOMAIN
プロセスのローカル・インスタンス)によって使用される場合があります。ACCESSPOINTID
は、ローカルおよびリモート・ドメイン・アクセス・ポイント間でユニークでなければなりません。
ACCESSPOINTID
は、30バイト以下で指定する必要があります。文字列を指定する場合は、30文字以内で指定する必要があります(最後のNULLを含む)。string
の値は、一連の文字か、または0x
で始まる16進数です。
以下に示すDM_REMOTE
セクションの省略可能なパラメータでは、ローカル・ドメイン・ゲートウェイの操作で使用するリソースと制限を指定します。
ACL_POLICY
=
{LOCAL
| GLOBAL
}
TDOMAIN
タイプのドメイン・ゲートウェイ、およびOracle Tuxedo 8.0以降が実行されているOSITPX
タイプのドメイン・ゲートウェイにのみに適用されます。
LOCAL
の場合は、リモート・ドメインから受信したサービス・リクエストの資格証明(ID)が、ローカル・ドメインによって、このリモート・ドメイン・アクセス・ポイントのLOCAL_PRINCIPAL_NAMEパラメータで指定されたプリンシパル名に置換されます。
GLOBAL
の場合、リモート・サービス・リクエストと一緒に受信した資格証明はローカル・ドメインによって置換されません。リモート・サービス・リクエストと一緒に資格証明を受信していない場合、ローカル・ドメインはそのサービス・リクエストをローカル・サービスにそのまま転送します(通常は失敗する)。このパラメータを指定しない場合、デフォルト値はLOCAL
です。 ACL_POLICY
パラメータは、ローカル・ドメインがリモート・ドメインから受信したサービス・リクエストの資格をLOCAL_PRINCIPAL_NAME
パラメータに指定されているプリンシパル名に置き換えるかどうかを制御します。CREDENTIAL_POLICY
はこのパラメータに関連するパラメータで、ローカル・ドメインがリモート・ドメインにローカル・サービス・リクエストを送信する前にそのリクエストから資格を削除するかどうかを制御します。 注: | ACL_POLICY がLOCAL の場合、ゲートウェイがバイパス・ドメイン・ゲートウェイとして構成されている場合でも、リモート・ドメインは非バイパス・ドメイン・モデルでのみ動作します。 |
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
}
注: | GWTDOMAIN がバイパス・ドメイン・モデルで実行されている場合は、実行時に無視されます。 |
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に設定された場合、着信リクエストに関連付けられている優先度がそのままローカル・ドメインによって使用されます。リモート・ドメイン・アクセス・ポイントへのリクエストの場合、リクエストに関連付けられている優先度も一緒にリモート・ドメイン・アクセス・ポイントに送信されます。 注: | GWTDOMAIN がバイパス・ドメイン・モデルで実行されている場合は、実行時に無視されます。 |
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
があります。
注: | 2つのドメインがバイパス・ドメイン・モデルで動作している場合、リモート・ドメインに関連付けられているセクションのすべてのパラメータは、接続時に有効になります。オンラインで変更された場合でも、次の接続まで有効です。 |
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
}
Y
)否か(N
)を指定します。デフォルト値はNです。このパラメータは、リモート・ドメインで一貫したサービスのオプションにする必要があります。リモート・サービスが会話型サービスの場合は、Yに設定する必要があります(その逆も同じです)。設定を間違えると、同一サーバーで提供されている別のサービスに影響する場合があります。
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、RECORD、X_C_TYPE、X_COMMONまたはXMLを使用した、同じサービスを提供する複数のリモート・ドメインのいずれかへのローカル・サービス・リクエストのデータ依存型ルーティングに関する情報を指定します。
DM_ROUTING
セクションのエントリの形式は次のとおりです。
ROUTING_CRITERIA_NAME
required_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
、RECORD
、X_C_TYPE
、X_COMMON
またはXML
に制限されています。FML
、FML32
またはXML
に対してはサブタイプを指定できず、VIEW
、VIEW32
、RECORD
、X_C_TYPE
およびX_COMMON
ではサブタイプを指定する必要があります(*
は使用できません)。タイプとサブタイプのペアのうち、重複するものは同じルーティング基準名として指定できません。タイプとサブタイプのペアがユニークな場合、複数のルーティング・エントリは同じ基準名を持つことができます。このパラメータは必須です。単一ルーティング・エントリに複数のバッファ・タイプが指定されている場合は、各バッファ・タイプのルーティング・フィールドのデータ型は同じである必要があります。
RECORD
バッファをルーティングするには、FIELD
パラメータの値をFIELD="[groupname1.groupname2...groupnameN.]itemname"
の構文で定義する必要があります。FIELD
は254文字以内にする必要があります。groupname
は、コピーブック定義内のグループの名前です。
このセクションは、1つ以上のアクセス制御リスト(ACL)の名前を指定し、1つ以上のリモート・ドメイン・アクセス・ポイントを指定された各ACL名に関連付けます。ACL=
ACL_NAME
を設定してDM_EXPORT
セクションでACL
パラメータを使用すると、特定のローカル・ドメイン・アクセス・ポイントを通じてエクスポートされるローカル・サービスへのアクセスをACL_NAME
と関連付けられたリモート・ドメイン・アクセス・ポイントのみに制限できます。
DM_ACCESS_CONTROL
セクションのエントリの形式は次のとおりです。
ACL_NAME
required_parameters
ACL_NAME
はアクセス制御リストを指定するための識別子です。長さは15文字までです。
DM_ACCESS_CONTROL
セクションの必須パラメータは次の1つだけです。
ACLIST
=
identifier
[,
identifier
]
ACLIST
には、1つまたは複数のリモート・ドメイン・アクセス・ポイント名をカンマで区切って指定します。ワイルドカード文字(*
)を使用すると、DM_REMOTE
セクションで定義したすべてのリモート・ドメイン・アクセス・ポイントが特定のローカル・ドメイン・アクセス・ポイントからエクスポートされるローカル・サービスにアクセスできます。
注: | バイパス・ドメイン・モードでは、このセクションが提供されている場合に、DM_EXPORT セクションのACLパラメータに関連付けられたサービスが、アクセス・リストで指定されているリモート・ドメインにのみエクスポートされます。 |
このセクションでは、TDomainゲートウェイのネットワーク固有の情報を定義します。リモート・ドメインからローカル・サービスへのリクエストがローカル・ドメイン・アクセス・ポイントで受け付けられる場合、DM_TDOMAIN
セクションには、ローカル・ドメインごとに少なくとも1つのエントリがなければなりません。また、ローカル・ドメインからリモート・サービスへのリクエストがリモート・ドメイン・アクセス・ポイントで受け付けられる場合、そのアクセス・ポイントごとに1つのエントリがなければなりません。
DM_TDOMAIN
セクションは、アクセス・ポイント・エントリに対して次のネットワーク・プロパティを構成するために使用します。
DM_TDOMAIN
セクションのエントリの形式は次のとおりです。
AccessPoint
required_parameters
[
optional_parameters
]
AccessPoint
は、ローカルまたはリモート・ドメイン・アクセス・ポイントを識別するために使用される識別子値です。AccessPoint
識別子は、DM_LOCAL
セクションで前に定義されたローカル・ドメイン・アクセス・ポイント、またはDM_REMOTE
セクションで前に定義されたリモート・ドメイン・アクセス・ポイントと一致する必要があります。
NWADDR
=
string
[1..256] (Oracle Tuxedo 8.0以前では最大78バイト)
DM_TDOMAIN
エントリ間でユニークでなければなりません。
string
の形式が"0x
hex-digits
"
または"\\x
hex-digits
"
の場合、偶数の有効な16進数を含める必要があります。これらの形式は、TCP/IPアドレスを含む文字配列に内部変換されます。string
の値は次のいずれかの形式で指定します(表11を参照)。
gethostbyname
(3c)を介してアクセスされたローカル構成の名前解決機能を使ってアドレスが結合されるときに、hostname
はTCP/IPホスト・アドレスに解決されます。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を使用している場合にのみ指定できます。 このリリースのOracle Tuxedoでは、0ビット、40ビットまたは56ビットのSSLの暗号化鍵はサポートされません。暗号化鍵の最小サイズは112です。min-max値が40または56で構成されている場合は、112がデフォルトで使用されます。 |
MAXENCRYPTBITS
=
{0
| 40
| 56
| 128|256
}
0
は暗号化が行われないことを意味し、40
、56
、128
、または256
は暗号化キーの長さをビット単位で指定します。デフォルトは128
です。 注: | リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。 256ビットの暗号化は、現時点ではSSLを使用している場合にのみ指定できます。 SSLを使用する場合、0ビットの最大暗号化レベルは許可されません。 このリリースのOracle Tuxedoでは、0ビット、40ビットまたは56ビットのSSLの暗号化鍵はサポートされません。暗号化鍵の最小サイズは112です。min-max値が40または56で構成されている場合は、112がデフォルトで使用されます。 |
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"
の場合、再接続は行われません。 注: | GWTDOMAIN がバイパス・ドメイン・モデルで実行されている場合、ON_DEMAND は指定しないでください。指定した場合はGWTDOMAIN の起動時に自動的にON_STARTUP として扱われ、GWTDOMAIN からLIBGWT_CAT XXXX, バイパス・ドメイン・モードでON_DEMANDのかわりにON_STARTUPが適用されました というメッセージが出力されます。 |
“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}
THROUGHGATEWAY = {Y|N}
DM_TDOMAIN
セクションのTHROUGHGATEWAY
の値は、DM_LOCAL
セクションのグローバル値に優先します。グローバルTHROUGHGATEWAY
ポリシーはオーバーライドできるので、そのポリシーをTDomainセッション単位で構成できます。
TLSversion = {TLSv1.2|TLSv1.1|TLSv1.0}
この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"
STATSTICS_INTERVAL=10
STATSVCLOG = "/usr/apps/bank/STATSVCLOG"
DMTLOGNAME = "DMTLG_C01"
c02 GWGRP = bankg2
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_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_DMSTATISTICS_INTERVAL
: 0 <= num < 32,768
num
では、統計トレースを監査ログ・ファイルにフラッシュする間隔時間を指定します。このパラメータを指定しないか、ゼロに設定した場合、この機能はオフになります。このパラメータの単位はsecond
です。
TA_ DMSTATISTICSLOG _PFX: string[0..256]
dmadmin(1)
コマンドによって起動し、このローカル・ドメイン・アクセス・ポイントからリモート・ドメインへのすべてのサービス呼出しを記録します。統計ログ機能がアクティブでこのパラメータが指定されていない場合、$APPDIR
環境変数またはUBBCONFIG MACHINES
セクションのAPPDIR
パラメータで指定されたディレクトリに、ファイルSTATISTICS_LOG.mmddyy
(mm
は月、dd
は日、yy
は年)が作成されます。統計ログ・ファイルは、サーバーGWADM
が起動すると作成されます。注: | アクティブなオブジェクトでこの属性を変更しても、実行中のサーバーやクライアントには反映されません。 |
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_DMTHROUGHGATEWAY: { Y | N}
TA_DMTHROUGHGATEWAY
は、DMCONFIG
のTHROUGHGATEWAY
に対応します。THROUGHGATEWAY
は、このローカル・ドメイン・アクセス・ポイントに関連付けられているドメイン・ゲートウェイがメッセージを送信するときの条件を指定します。Tuxedoの実行中は、TA_DMTHROUGHGATEWAY
にMIB
を設定できません。
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
属性の意味を示します。次に示されていない状態は返されません。
TA_TYPE
: string
[1, 2]オプション
ドメイン・ゲートウェイ管理サーバー(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
、RECORD
、X_C_TYPE
またはX_COMMON
に制限されています。FML
、FML32
またはXML
に対してはサブタイプを指定できず、VIEW
、VIEW32
、RECORD
、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
)環境変数を使用して検索されます。 バッファを正しいリモート・ドメイン・アクセス・ポイントにルーティングするとき、適切な表を使用してバッファ内のデータ依存ルーティング・フィールド値を取得します。 RECORD
バッファ・タイプのTA_DMFIELD
属性の構文は、"[groupname1.groupname2...groupnameN.]itemname"
です。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_DMTHROUGHGATEWAY: { Y | N}
TA_DMTHROUGHGATEWAY
は、DMCONFIG
のTHROUGHGATEWAY
に対応します。THROUGHGATEWAY
は、このローカル・ドメイン・アクセス・ポイントまたはリモート・ドメイン・アクセス・ポイントに関連付けられているTDomainゲートウェイがメッセージを送信するための条件を指定します。Tuxedoの実行中は、TA_DMTHROUGHGATEWAY
にMIB
を設定できません。
以下の場合は、このクラスのインスタンスを削除したり、このクラスのインスタンスの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を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
EAUTHSVR
— OESに認可サービスを提供するセキュリティ・サーバー。
EAUTHSVR SRVGRP=APPGRP SRVID=number CLOPT="-A -- -f filename"
EAUTHSVR
は、認可サービスを提供します。認可リクエストをOESに送信し、アプリケーション・サーバーに返信するプロキシとして動作します。EAUTHSVR
およびXAUTHSVR
が同じ認可サービスをブロードキャストするかどうかをチェックし、該当する場合はULOG
に警告を出力します。
認証サービスを実装しているサーバーは、EAUTHSVR
を使用してセキュリティ管理システムを構築できます。XAUTHSVR
をEAUTHSVR
とともに使用すると、認可上の競合が発生します。このような競合を回避するために、XAUTHSVR
のCLOPT
に、認可サービスが通知されないように設定する新しいオプションの-b
が導入されました。
-f filename
注: |
EAUTHSVR
構成ファイルは、EAUTHSVR
サーバーの起動時に必要です。
EAUTHSVR SRVGRP=APPGRP SRVID=number CLOPT="-A -- -f filename"
新しいテンプレートのtpoes.auth
がインストーラに提供されます。各行には、キーと値のマッピングがあります。キーはTuxedoで事前定義されますが、値はユーザーが定義します。多数のエントリが構成された場合、最後に一致したエントリのみが使用されます。
APPLICATION_NAME ***application name in OES
JPS_CONFIG_FILE ***full path name of jps-config.xml
表87に示す特定のTuxedoリソース・タイプに対して事前定義されたリソース・アクションは、同じままにする必要があります。
セキュリティ・レベルがMANDATORY_ACL
の場合、Oracle Tuxedo ART for Batchで使用されているすべてのサービスを追加します。それ以外の場合は、EAUTHSVR
はジョブの操作に失敗します。tmadmin
のサブコマンド(psc -a 2
)は、使用中のすべてのサービスを表示できます。
対応するアクションがOESのリソースに権限付与されていない場合は、認可リクエストは失敗します。それ以外の場合は、認可リクエストは成功します。たとえば、UserAがSVCA
サービスをコールするとします。
対応するアクションがOESのリソースに権限付与されていない場合は、認可リクエストは失敗します。それ以外の場合は、認可リクエストは成功します。たとえば、UserAがSVCA
サービスをコールするとします。
認可がサービス・コールのたびに呼び出され、システム・パフォーマンスのボトルネックとなる場合があります。この問題を解決するため、キャッシュが導入されました。OESクライアントとTuxedo認可フレームワークの両方で、それぞれキャッシュを持ちます。たとえば、TuxedoがCache1
を所有し、OESがCache2
を所有しているとします。Cache1
の有効期限は、Cache2
の有効期限よりも短く定義する必要があります(Cache1
の最適な有効期限はCache2
の時間ウィンドウの半分です)。
Tuxedo側のキャッシュ認証は応答しますが、認可のために毎回OESクライアントがコールされるわけではありません。新しい認可リクエストがくると、リクエストはキャッシュのタイムアウト後にOESクライアントに転送されます。
認可タイムアウトを設定するには、 環境変数TMATZEXP
を分単位で指定します。次の例では、5分間の認可タイムアウトを設定します。
export TMATZEXP=5
OESのポリシー配布にはcontrolled-pull、controlled-pushおよびnon-controlledの3つのモードがあります。controlled-pushでは、ユーザーがポリシーを手動で配布する必要があります。controlled-pullモードまたはnon-controlledモードでは、OESクライアントはユーザーが定義した間隔で最新のポリシー変更を取得します。
jps-config.xml
のpdp.service
に次のプロパティを追加することで、この間隔をデモのニーズを満たすものに変更できます。次の例では、10分の間隔を設定します。
<serviceInstance name="pdp.service" provider="pdp.service.provider">
<property name="oracle.security.jps.ldap.policystore.refresh.interval" value="600000"/>
</serviceInstance>
EAUTHSVR
を設定するには、OPTIONS
にEXT_AA
を設定します。
tux.env
を使用して、JVMライブラリとライブラリ・パスを設定します。このライブラリ・パスには、libjvm.so
を入れておく必要があります。Linuxプラットフォームには、LD_LIBRARY_PATH
を使用します。HPプラットフォームには、tux.env
の設定に加え、LD_PRELOAD="PATH OF LIBJVM.SO"
を設定します。
CLASSPATH
では、${OES_CLIENT_HOME}/modules
の下にoes-client.jar
を含める必要があります。
JAVA_OPTS
注: | JAVA_OPTS を使用するには、Oracle Tuxedo 12cリリース2 (12.1.3) RP001以上が必要です。 |
XAUTHSVR
をEAUTHSVR
とともに使用すると、認可上の競合が発生します。このような競合を回避するためには、XAUTHSVR
のCLOPT
に-b
を設定します。
XAUTHSVR SRVGRP=APPGRP SRVID=number CLOPT="-A -- -f tpldap.xauth -b"
OES側で、Tuxedoシステムのリソースを記述するための認可管理アプリケーションを作成します。リソースのタイプとアクションはTuxedoによって定義済です。リソース名はService
、Queue
、Event
およびJob
の名前です。
システム・イベント・モニター機能は、システム・オペレータが把握する必要のある定義済イベント(主に異常終了)を検出して通知する機能です。各イベント・レポートは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を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
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ビットです。上位ビットは管理キー用に予約されています。
# Using GAUTHSVR
*RESOURCES
AUTHSVC "..AUTHSVC"
SECURITY ACL
*SERVERS
GAUTHSVR SRVGRP="AUTH" SRVID=100
CLOPT="-A -- -f /usr/tuxedo/udataobj/tpgauth"
GWADM
SRVGRP
= "identifier
"SRVID
= "number
"REPLYQ
= "N"
CLOPT
= "-A -- [-a
{on
|off
}] [-t
{on
|off
}]"
ゲートウェイ管理サーバー(GWADM
)は、Oracle Tuxedoシステムに組み込まれているサーバーであり、Domainsのゲートウェイ・グループ用の管理機能を提供します。
GWADM
は、UBBCONFIG
ファイルのSERVERS
セクションで、特定のゲートウェイ・グループ内で動作するサーバーとして定義する必要があります。つまり、SRVGRP
を、GROUPS
セクションで指定したGRPNAME
タグに設定する必要があります。SVRID
も必須パラメータです。このパラメータの値を指定する際は、ゲートウェイ・グループ内で使用できるゲートウェイの最大数を考慮する必要があります。
GWADM
のインスタンスは、Domainsゲートウェイ・グループごとに1つしか存在できず、そのインスタンスを、グループと関連付けられたゲートウェイに対して定義したMSSQの一部にすることはできません。また、GWADM
ではREPLYQ
属性をN
に設定する必要があります。
CLOPT
オプションは、GWADM
の起動時に渡されるコマンド行オプションの文字列です。このオプション文字列の形式は次のとおりです。
CLOPT="-A -- gateway group runtime_parameters
"
次のパラメータは、ゲートウェイ・グループの実行時パラメータとして認識されます。
-a
{on
| off
}
off
またはon
に切り替えます。デフォルトはoff
です。この設定は、ゲートウェイ・グループの実行中に、dmadmin
プログラムを使用して変更できます(dmadmin(1)を参照)。
-t
{on
| off
}
off
またはon
に切り替えます。デフォルトはoff
です。この設定は、ゲートウェイ・グループの実行中に、dmadmin
プログラムを使用して変更できます(dmadmin(1)を参照)。
GWADM
サーバーは、対応するゲートウェイを起動する前に起動する必要があります。
GWADM
は、サポートされているすべてのサーバー・プラットフォームでOracle Tuxedoシステム提供のサーバーとしてサポートされます。
GWADM
は、Oracle Tuxedoリリース4.2.1以降にインストールする必要があります。リリース4.2.2のゲートウェイが存在するドメイン内の他のマシンの場合は、リリース4.1以降でも構いません。
GW_CHECK_LOOP
export GW_CHECK_LOOP=Y
. 注: | GW_CHECK_LOOP が有効になるのは単一スレッド・モードのGWTDOMAINのみで、有効にできるのはLinuxおよびHP-UXプラットフォームに限定されます。GWTDOMAINは、automatic restartに設定する必要があります。 |
GW_CHECK_LOOP_MAXSILENT
次の例は、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]}][-m http://<HOST>:<PORT>/btmmonitor/agent/agent/]”
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秒と測定されます。
-m
GWTDOMAIN
プロセスは、GWADM(5)
プロセスと同じグループ(先頭はGWADM
)に指定する必要があります。1つのドメインに対して複数のGWTDOMAIN
プロセスを構成することもできますが、その場合は各プロセスを異なるOracle Tuxedoグループに構成する必要があります。
GW_CHECK_LOOP
export GW_CHECK_LOOP=Y
. 注: | GW_CHECK_LOOP が有効になるのは単一スレッド・モードのGWTDOMAINのみで、有効にできるのはLinuxおよびHP-UXプラットフォームに限定されます。GWTDOMAINは、automatic restartに設定する必要があります。 |
GW_CHECK_LOOP_MAXSILENT
次の例は、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]]
注: | このリリースのOracle Tuxedoでは、0ビット、40ビットまたは56ビットのSSLの暗号化鍵はサポートされません。暗号化鍵の最小サイズは112です。min-max値が40または56で構成されている場合は、112がデフォルトで使用されます。 |
[-Z [|0|40|56|128|256]]
注: | 0ビットの最大暗号化レベルは、-S SSL接続オプションとは互換性がありません。 このリリースのOracle Tuxedoでは、0ビット、40ビットまたは56ビットのSSLの暗号化鍵はサポートされません。暗号化鍵の最小サイズは112です。min-max値が40または56で構成されている場合は、112がデフォルトで使用されます。 |
UNIXおよびMicrosoft Windows NTオペレーティング・システムでは、IIOPサーバー・リスナーはOracle Tuxedoが提供するサーバーとしてサポートされます。
リモート・オブジェクトのタイプおよび目的のアウトバウンドIIOP構成によっては、追加のプログラミング作業が必要となる場合もあります。表44に、オブジェクトのタイプおよびアウトバウンドIIOP構成別の要件を示します。
ISLを実行するローカル・マシンがTCP/IPアドレッシングを使用している場合を考えます。ローカル・マシンの名前はbackus.company.com
、アドレスは155.2.193.18
です。ISLはポート番号2334でリクエストを受け付けます。-l
オプションで指定されるアドレスは、次のとおりです。
//155.2.193.18:2334
//backus.company.com:2334
*SERVERS
ISL SRVGRP="ISLGRP" SRVID=1002 RESTART=Y GRACE=0
CLOPT="-A -- -n //piglet:1900 -d /dev/tcp"
KAUTHSVR
- Tuxedo Kerberosベースのネットワーク認証サーバー
KAUTHSVR SRVGRP=SECGRP SRVID=100 GRACE=0 MAXGEN=2 CLOPT="-A -- -k /etc/krbauth.kt -p krbauth@host.yourcomany.com"
KAUTHSVR
は、KerberosベースのTuxedo認証サーバーです。目的は次の2つです。
Kerberosをデフォルト認証メカニズムとして使用する場合、Tuxedoユーザー認証を完了するには、UBBCONFIG
ファイルでKAUTHSVR
を手動で構成する必要があります。UNIXプラットフォームとWindowsプラットフォームでは、KAUTHSVR
の構成方法が若干異なります。詳細は、「Kerberos認証プラグインの使用」を参照してください。
Kerberosでは、キー表と呼ばれるローカル・ファイル・ベースのデータベースにプリンシパル名とサービス・キーを格納できます。このキー表を使用すると、ホスト上で実行されるサービスはKey Distribution Centerの認証を受けることができます。KAUTHSVR
はKerberos Key Distribution Centerの認証の代わりにはなりません。ただし、Kerberosベースの認証を使用する場合、AUTHSVR(5)
およびLAUTHSVR(5)
の代わりになります。
KAUTHSVR
には、独自のプリンシパル名が関連付けられる必要があります。KAUTHSVR
で使用されるプリンシパル名を指定するには、これをUBBCONFIG
ファイルで構成する必要があります。CLOPT
オプションでは、-p
パラメータを使用してプリンシパル名を確立します。たとえば、-p <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ビットです。上位ビットは管理キー用に予約されています。
# 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|conv}"
サービス呼出しタイプ。この用語はTuxedoの制御によるものです。
"service"は、同期リクエスト/レスポンスをサポートします。
"oneway"は、レスポンスのないリクエストをサポートします。
"queue"は、tpenqueueとtpdequeueをサポートします。
"conv"は変換型サービスをサポートします。
TA_REPOSSERVICEMODE: "{tuxedo|webservice|sna}"
サービス生成のタイプ。この用語はBEA SALTによるものです。
"
tuxedo"
は、Tuxedoから生成したサービス定義を表します。"
webservice"
は、BEA SALT wsdlcvtユーティリティによって生成されたSALTプロキシ・サービス定義を表します。"sna"は、SNAゲートウェイのインポート・サービスを表します。
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を参照してください。 |
TA_DMFUNCTION: "{APPC|ATI|DPL|DTP}"
sna
の場合にのみ有効です。デフォルト値APPC
では、リモート・サービスを、CICS下で実行するかどうかを問わずトランザクション・プログラムとして指定します。値DPLでは、リモート・サービスをCICS下で実行されるプログラムにマップします。
現在、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_size
provided
* 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を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
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)
OAUTHSVR
- OAMに認証および認可サービスを提供するセキュリティ・サーバー。OAUTHSVR
は、Tuxedo Javaサーバーとして実装されます。
TMJAVASVR SRVGRP="identifier" SRVID=number CLOPT=" -A -- -c tjsoam.xml"
OAUTHSVR
は、認証および認可サービスを提供します。認証および認可リクエストをOAMに送信し、アプリケーションに返信するプロキシとして動作します。
OAUTHSVR
サーバーは、Oracle Tuxedo UBBCONFIG
ファイルのSERVERS
セクションで次のように定義します。
TMJAVASVR SRVGRP="identifier" SRVID=number
CLOPT="-- -c tjsoam.xml
"により、Tuxedo Javaサーバーの構成ファイルが指定されます。この例のtjsoam.xml
は、$TUXDIR/udataobj/tuxj/oam/
ディレクトリの下にあります。
OAUTHSVR
を実行するには、Oracle Access Manager Access SDKが必要です。詳細は、http://www.oracle.com/technetwork/middleware/id-mgmt/index-090417.htmlを参照してください。Access SDKを目的のディレクトリに抽出した後、前述のtjsoam.xml
にある${OAMASDK_DIR}
を実際のディレクトリに変更してください。
tjsoam.xml
は、次のオプションをサポートしています。
-Doracle.security.jps.config
-Doracle.tuxedo.oam.config
OAUTHSVR
構成ファイルのサンプル・ファイルは、$TUXDIR/udataobj/tpoam.auth
にあります。指定しない場合は、$TUXDIR/udataobj/tpoam.auth
が使用されます。
tjsoam.xml,
には、次の2つのパッケージが必要です。
SECURITYがUSER_AUTH
以上に設定されている場合は、クライアントの初期化時に強制的にユーザー単位での認証が実行されます。
SECURITY
がACL
またはMANDATORY_ACL
に設定されている場合、ユーザー単位の認証が強制的に実行され、サービスや、アプリケーションのキュー、イベントにアクセスするためのアクセス制御リストがサポートされます。リクエストされたリソースがOAMに定義されておらず、SECURITY
がACLに設定されている場合は認可に成功しますが、SECURITY
がMANDATORY_ACL
に設定されている場合は認可に失敗します。
OAUTHSVR
を設定するには、OPTIONS
にEXT_AA
を設定します。
AOUT CLOPT= [-A][-a FILENAME[[$FIELD]...]
[-s{@filename
|service
[,service
...][:func
]}]
[-estderr_file
][-G][-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
で指定したディレクトリに作成されます。
-G
-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
}
注: | servoptsの-L オプションは、非XAサーバーがOracleデータベースに接続することを示すために使用する必要があります。-L を指定するとECIDが有効になるため、ECIDをクローズするための新しいオプションの-F がservoptsに導入されました。使用方法はF noECID です。次に例を示します。 |
注: | *SERVERS |
注: | server1 |
--
--
の前に、アプリケーションの引数をその後に指定します。アプリケーションの引数は、ユーザーが定義した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_CACHING
クラスは、アプリケーションに対するキャッシング指定の構成属性を表します。これらの属性値によって、アプリケーションのキャッシング基準(バッファ・タイプ、フィールド名、キャッシング定義など)を識別できます。
注1 T_CLIENT
クラスのすべての属性はローカル属性です。
TA_CACHING_NAME: string[1..30]
TA_CACHING_CACHENAME: string[1..78]
TA_CACHING_KEY: string[0..127]
TA_CACHING_KEY_BUFTYPE: string[0..255]
STRING、CARRAY、FML、FML32、XML、VIEW、VIEW32、RECORD、MBSTRING、X_C_TYPE
またはX_COMMON
のいずれかにする必要があります。タイプがSTRING、CARRAY、FML、FML32、MBSTRING
またはXML
の場合、サブタイプは指定できません。タイプがVIEW、VIEW32、RECORD、X_C_TYPE
およびX_COMMON
の場合はサブタイプが必要です(*
は使用できません)。サブタイプ名には、セミコロン、コロン、カンマまたはアスタリスク文字を使用できません。タイプとサブタイプのペアのうち、重複するものは同じルーティング・キャッシング基準名として指定できません。タイプとサブタイプのペアが一意の場合、複数のルーティング・キャッシング・エントリは同じ基準名を持つことができます。TA_CACHING_KEY_FIELD: string[0..255]
FLDTBLDIR
およびFIELDTBLS
環境変数を使用するか、FLDTBLDIR32
およびFIELDTBLS32
環境変数を使用)のフィールド名かFMLビュー表(
VIEWDIR
およびVIEWFILES
環境変数を使用するか、VIEWDIR32
およびVIEWFILES32
環境変数を使用)のフィールド名を指定できます。この情報は、メッセージの送信時に、サービス・キャッシングに関連するフィールド値を取得するために使用されます。root_element[/child_element][/child_element][/. . .][/@attribute_name]
要素名と属性名を組み合せて、最大30文字まで指定できます。Oracle Tuxedoは、サービス・キャッシングでXMLバッファを処理する際に、与えられた要素タイプの最初のオカレンスだけを認識します。XMLは、属性名に使用できる文字セットを厳密に定義しています。属性名は、単一の文字、アンダースコア、またはコロンを含む文字列で、その後に1つ以上の名前文字が続きます。要素名と属性名はいずれも、大文字/小文字が区別されます。詳細は、XMLのドキュメントを参照してください。KEY_BUFTYPE
がSTRING
、MBSTRING
、X_OCTET
またはCARRAY
に設定されている場合は、フィールドを次の構文で定義します。[index1, index2]
Index1
はバッファ内のフィールドの開始インデックスを示し、index2
はフィールドの終了インデックスを示します。このパラメータが定義されていない場合、バッファ全体がキーとして取得されます。インデックスは1以上に設定する必要があります。
TA_STATE
GET
操作は、選択したT_CACHING
オブジェクトの構成情報を検索します。以下に示す状態は、GET
リクエストに応えて返されるTA_STATE
の意味を示します。これら以外の状態は返されません。VALid
: T_CACHING
オブジェクトが定義されています。これがこのクラスの唯一の有効な状態です。
SET
操作は、選択したT_CACHING
オブジェクトの構成情報を更新します。以下に示す状態は、SET
リクエストで設定されるTA_STATE
の意味を示します。これ以外の状態を設定することはできません。NEW
: アプリケーションのT_CACHING
オブジェクトを作成します。状態の変更はINValid
状態でのみ可能です。正常に終了すると、オブジェクトの状態はVALid
になります。INValid
: アプリケーションのT_CACHING
オブジェクトを削除します。状態の変更は、VALid
状態でのみ可能です。正常に終了すると、オブジェクトの状態はINValid
になります。
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]
LLR_DELSWAPSIZE
: 0 <= num
< 32,768
LLR_DELDELAY
:
0 < num
< 32,768
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つのサーバーが必要です。
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|NO_XA|NO_AA|EXT_AA|APPVER|ECID_CREATE|ECID_USERLOG | EXT_MON|EECS|NO_SPINTUNING|NO_RDONLY1PC|NO_SHMQ],*}"
LAN
- ネットワーク対応のアプリケーション。 SSL
- SSL
セキュリティを開始します。指定しない場合は、LLE
セキュリティが使用されます。 MIGRATE
—サーバー・グループの移行を許可します。 NO_XA
- XAトランザクションの使用を許可しません。 NO_AA
- 監査および認可のプラグイン関数を呼び出しません。 APPVER—
アプリケーション・サービス・バージョン機能を有効にします。 制限事項: アクティブなアプリケーションでは、ACCSTATS
とAPPVER
のみを設定またはリセットできます。APPVER
をリセットするには、ユーザーはアプリケーション・サービス・バージョン構成を最初にリセットする必要があります。 ECID_CREATE
—ECID(実行コンテキスト識別子)作成機能が有効になります。このケースでは、境界ノード(ネイティブ、WSおよびJoltのクライアントとドメイン・ゲートウェイを含む)がECIDを生成できます。 ECID_USERLOG
—識別子ECID_USERLOG
が設定され、ECIDがNULL文字列でない場合、ECIDはユーザー・ログに追加されます。 EXT_MON
—インジケータを指定すると、Tuxedo TargetsセクションでリストされているすべてのメトリックがMIBで収集されます。 EECS
—EECS
を指定すると、次のプラットフォーム固有の機能がデフォルトで有効になります。
NO_SPINTUNING
—セルフチューニング・ロック・メカニズム機能を無効にします。 NO_RDONLY1PC
—XAの読取り専用最適化機能を無効にします。 NO_SHMQ
—プロセス間通信での共有メモリーの使用の機能を無効にします。
TA_RMOPTIONS {[ NONE | NO_COMMONXID | NO_XAAFFINITY | SINGLETON | NO_FAN ],*}
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
がBACKUP
マシンで再起動されます。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
"にリセットする必要があります。
TA_BYPASSDOM_ID:
string[1..15]
TA_BYPASSDOM_ID
は、UBBCONFIG
のBYPASSDOM_ID
に対応します。BYPASSDOM_ID
は、論理バイパス・ドメイン・グループの名前です。Tuxedoの実行中は、TA_BYPASSDOM_ID
にMIB
を設定できません。
TA_BYPASSDOM_SEQ_NUM: numeric_value
(0 <= num <= 2047)
TA_BYPASSDOM_SEQ_NUM
は、UBBCONFIG
のBYPASSDOM_SEQ_NUM
に対応します。BYPASSDOM_SEQ_NUM
は、バイパス・ドメイン・グループでの識別子としての一意の順序番号です。Tuxedoの実行中は、TA_BYPASSDOM_SEQ_NUM
にMIB
を設定できません。
TA_BYPASSDOM_SHARED_DIR:
string[1..192]
TA_BYPASSDOM_SHARED_DIR
は、UBBCONFIG
のBYPASSDOM_SHARED_DIR
に対応します。BYPASSDOM_SHARED_DIR
は、バイパス・ドメイン・グループのすべてのドメインの一般情報を格納するファイルのフルパスです。Tuxedoの実行中は、TA_BYPASSDOM_SHARED_DIR
にMIB
を設定できません。
TA_MAXDOMAINS: numeric_value
(2 <= num <= 2048)
TA_MAXDOMAINS
は、UBBCONFIG
のMAXDOMAINS
に対応します。MAXDOMAINS
は、1つのバイパス・ドメイン・グループ内のドメインの最大数です。Tuxedoの実行中は、TA_MAXDOMAINS
にMIB
を設定できません。
このクラスの属性の多くは、アプリケーションが非アクティブなときにしか調節できません。つまり、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_DEPENDSON:string[0..1023]
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
の形式が"0x
hex-digits
"
または"\\x
hex-digits
"
の場合、偶数の有効な16進数を含める必要があります。このような形式の文字列は、指定された文字列の16進数表現を含む文字配列に内部変換されます。表 61にはアドレス形式がリストされています。
TA_NLSADDR
: string
[0..256] (Oracle Tuxedo 8.0以前は最大で78バイト)
TA_NADDR
で指定した形式と同じ形式になります。
TA_FADDR
: string
[0..256] (Oracle Tuxedo 8.0以前は最大で78バイト)
tmboot
、tmloadcf
、BRIDGEなどのローカル・プロセスが、アウトバウンド接続を確立する前にバインドできる完全なネットワーク・アドレスを指定します。このアドレスには、TCP/IPアドレスを指定する必要があります。この属性およびTA_FRANGE
属性は、TCP/IPポート(プロセスがアウトバウンド接続を行う前にバインドするときのバインド先)の範囲を指定します。この属性がNULLまたは空文字列に設定されている場合、オペレーティング・システムはバインド先のローカル・ポートをランダムに選択します。
string
の形式が"0x
hex-digits
"
の場合、文字数が偶数の有効な16進数値を含める必要があります。このような形式の文字列は、指定された文字列の16進数表現を含む文字配列に内部変換されます。 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
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
の形式が"0x
hex-digits
"
の場合、文字数が偶数の有効な16進数値を含める必要があります。このような形式の文字列は、指定された文字列の16進数表現を含む文字配列に内部変換されます。 TCP/IPアドレスの場合は、以下のいずれかの形式になります(表65を参照)。
TA_FADDR
: string
[0..256] (Oracle Tuxedo 8.0以前は最大で78バイト)
tmboot
、tmloadcf
、BRIDGEなどのローカル・プロセスが、アウトバウンド接続を確立する前にバインドできる完全なネットワーク・アドレスを指定します。このアドレスには、TCP/IPアドレスを指定する必要があります。この属性およびTA_FRANGE
属性は、TCP/IPポート(プロセスがアウトバウンド接続を行う前にバインドするときのバインド先)の範囲を指定します。この属性がNULLまたは空文字列に設定されている場合、オペレーティング・システムはバインド先のローカル・ポートをランダムに選択します。
string
の形式が"0x
hex-digits
"
の場合、文字数が偶数の有効な16進数値を含める必要があります。このような形式の文字列は、指定された文字列の16進数表現を含む文字配列に内部変換されます。 TCP/IPアドレスの場合は、以下のいずれかの形式になります(表66を参照)。
TA_FRANGE:
1<= num
<= 65,535
TA_MINENCRYPTBITS
: "
{0
| 40
| 56
| 128
}"
0
は暗号化が行われないことを示し、40
、56
、および128
は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルトは0
です。 注: | リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。 |
TA_MAXENCRYPTBITS
: "
{0
| 40
| 56
| 128
}"
0
は暗号化が行われないことを示し、40
、56
、および128
は暗号化キーの長さをビット単位で指定します。デフォルトは128
です。 注: | リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。 |
TA_MAXENCRYPTBITS
のデフォルト値は128
になります。56ビット暗号化の使用が許可されている場合には、デフォルト値は56
になります。暗号化の使用が許可されていない場合には、デフォルト値は0
ビットになります。ブリッジ・プロセスは接続の際、共通の最も高いTA_MAXENCRYPTBITS
に調整されます。
T_QUEUE
クラスは、アプリケーション内のキューの実行時属性を表します。これらの属性の値によって、実行中のアプリケーションでサーバーに割り当てられたOracle Tuxedoシステムのリクエスト・キューを識別できます。また、それぞれのキュー・オブジェクトに関連付けられたアプリケーションの作業負荷に関する統計値も記録できます。
複数のマシンが存在するアプリケーションでMIB_LOCAL
フラグを使用してGET
操作を実行する場合は、アクティブな各キューに対して複数のオブジェクト(ローカル属性を収集する論理マシンごとに1つずつ)が戻されます。
注1 Oracle Tuxedo 8.0以前のリリースの場合、この属性の文字列の長さは最大78バイトです。
TA_RQADDR
: string
[1..30]
T_SERVER
:TA_RQADDR
属性の値を持つサーバーは、複数サーバー単一キュー(MSSQ)セットにまとめられます。T_QUEUE
オブジェクトで返される属性値は、このシンボリックなキュー・アドレスに関連付けられたすべてのアクティブなサーバーに適用されます。
TA_SERVERNAME
: string
[1..78]
T_QUEUE
:TA_LMID
属性が示すマシンで、TA_SERVERNAME
が示すサーバーを実行していることを示します。この属性をGET
操作でキー・フィールドとして指定した場合は、関連パス名を指定することができ、すべての適切なフルパス名が一致します。
TA_STATE
:
GET
操作は、選択したT_QUEUE
オブジェクトの実行時情報を検索します。T_QUEUE
クラスは、構成情報を直接示すわけではありません。ここで説明した構成関連の属性は、関連のあるT_SERVER
オブジェクトの一部として設定する必要があります。以下に示す状態は、GET
リクエストに応えて返されるTA_STATE
の意味を示します。
SET
操作は、選択したT_QUEUE
オブジェクトの実行時情報を更新します。状態の変更は、T_QUEUE
オブジェクトの情報の更新時にのみ可能です。既存のT_QUEUE
オブジェクトの変更は、オブジェクトがACTive
状態にある場合にのみ可能です。
TA_GRACE
: 0 <= num
T_QUEUE
:TA_MAXGEN
の制限が適用される期間を示します(単位は秒)。この属性は、再起動が可能なサーバーに対してのみ(T_QUEUE
:TA_RESTART
属性が"Y
"にセットされている場合にのみ)有効です。この属性を0に設定すると、サーバーはいつでも再起動できます。
TA_MAXGEN
: 1 <= num
< 256
T_QUEUE
:TA_GRACE
)において、このキューに関連付けられた再起動可能なサーバー(T_QUEUE
:TA_RESTART == "Y"
)に許可された最大の世代数。各サーバーを最初にアクティブにする動作を1つの世代としてカウントし、その後の再起動もそれぞれ1つの世代としてカウントします。
TA_RCMD
: string
[0..256] (Oracle Tuxedo 8.0以前の場合は最大78バイト)
TA_RESTART
: "
{Y
| N
}"
TA_CONV
: "
{Y
| N
}"
TA_LMID
: LMID
TA_RQID
: 1 <= num
TA_SERVERCNT
: 1 <= num
< 8,192
TA_TOTNQUEUED
: 0 <= num
T_DOMAIN
:TA_LDBAL
属性が"N
"に設定されている場合、およびT_DOMAIN
:TA_MODEL
属性が"MP
"の場合、TA_TOTNQUEUED
は返されません。また、同様の構成では、この属性に対する更新は無視されます。したがって、この属性が返される場合には、TA_LMID
とTA_SOURCE
が同じ値になります。
TA_TOTWKQUEUED
: 0 <= num
T_DOMAIN
:TA_LDBAL
属性が"N
"に設定されている場合、およびT_DOMAIN
:TA_MODEL
属性が"MP
"の場合、TA_TOTWKQUEUED
は返されません。また、同様の構成では、この属性に対する更新は無視されます。したがって、この属性が返される場合には、TA_LMID
とTA_SOURCE
が同じ値になります。
TA_SOURCE
: LMID
TA_NQUEUED
: 0 <= num
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
、RECORD
、X_C_TYPE
およびX_COMMON
に制限されています。FML
、FML32
またはXML
に対してはサブタイプを指定できず、VIEW
、VIEW32
、RECORD
、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
)で指定されます。この情報は、メッセージの送信時に、データ依存型ルーティングに関連するフィールド値を取得するために使用されます。 RECORD
バッファ・タイプのTA_FIELD
属性の構文は次のとおりです。"[groupname1.groupname2...groupnameN.]itemname"
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
: strin
g[0..1024]
servopts(5)
のリファレンス・ページを参照してください。制限事項:この属性を実行時に変更しても、実行中のサーバーには反映されません。
TA_ENVFILE
: string
[0..256]
(Oracle Tuxedo 8.0以前の場合は最大78バイト)
T_MACHINE
:TA_ENVFILE
を参照してください。制限事項:この属性を実行時に変更しても、実行中のサーバーには反映されません。
TA_DEPENDSON:string[0..1023]
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
と同じ値になります。RDMAが有効な場合は、この値はOracle Tuxedo内部IDを示します。
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_INSTSTR:
String[0..127]
TA_RM_ERR_THRESHOLD: 0 <= num <=1000
XAERR_RMFAILまたはXAERR_RMERR
を取得する最大回数を指定します。しきい値に到達すると、Tuxedoサーバーは、すべてのサービスを一時停止し、RMがリカバリするまで、(TA_RM_ERR_INTERVAL
で指定された)間隔時間ごとに暗黙的にRMに接続を試みます。TuxedoサーバーがRMへの接続に成功すると、すべてのサービスが再アクティブ化されます。指定可能な範囲は、0 <= num <=1000
です。デフォルト値は0
で、動作が無効であることを示します。
TA_RM_ERR_INTERVAL: 0 < num <=32,767
TA_RM_ERR_THRESHOLD
に到達したときに、TuxedoサーバーがRMに再接続しようとする各試行間の間隔を指定します。TA_RM_ERR_INTERVAL
のデフォルト値は、30(s)
です。
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が返されます。
TA_SECONDARYRQ
N
です。Y
この場合、Tuxedoサーバーによってセカンダリ・リクエスト・キューが作成され、特定のメッセージをセカンダリ・リクエスト・キューに送信できます。この場合、FANのXAアフィニティとLBAがMSSQに対して有効です。AOUTがアクセスするセカンダリ・リクエスト・キューに一意のキー(#S.GRPNO.SRVID
)が選択されます。
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
を使用すると、フェイルオーバーを実装できます。
TA_CACHINGNAME
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
サービスのみが検索されます。
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を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
TMADMSVR SRVGRP="identifier" SRVID=number [other_parms]
CLOPT="-A -- -a <scheme>://<host>:<port> -C clientname"
TMADMSVR
は、Webベースのアプリケーション・サーバーによる構成タスクの実行を維持するために使用されるアプリケーション・サーバーです。
CLOPT
オプションは、コマンド行オプションの文字列で、起動時にTMADMSVR
サーバーに渡されます。TMADMSVR
サーバーは次のCLOPT
オプションを受け付けます。
-a <scheme>://<host>:<port>
TMADMSVR
サーバーをUBBCONFIG
ファイルで-a
オプションを使用して構成する必要があります。-a <scheme>://<host>:<port>
注: | 次のURLを使用して、Web管理コンソールにアクセスします。<scheme>://<host>:<port>/admin |
<scheme>
http
またはhttps
を使用できます。https
を使用する場合は、秘密鍵と証明書を追加することでSSL機能に対応するようにTMADMSVR
を構成する必要があります。これらを追加するには、$TUXDIR/udataobj/tmadmsvrcfg
にあるシステム構成ファイルを編集し(wsunloadcf
でアップロードし、wsloadcf
で再ロードします)、GWWS
サーバーと同様に証明書と鍵を追加します。
<host>
<port>
-C clientName
TMADMSVR
でのSSLの有効化の詳細は、Oracle Tuxedo Services Consoleの使用に関する項を参照してください。
Accesslog(5)は、環境変数TMENABLEALOG=y
を設定することで有効にできます。
...
TMMETADATA SRVGRP=GROUP1 SRVID=2
CLOPT="-A -- -f meta.repos"
TMADMSVR SRVGRP=GROUP1 SRVID=3
CLOPT="-A -- -a http://hostname.domain.com:4001"
GWWS SRVGRP=GROUP1 SRVID=4
CLOPT="-A -- -i GWWS1"
...
TMFAN
- Oracle RACからの高速アプリケーション通知(FAN)イベントを受信して処理する、Tuxedoシステムが提供するサーバー。
TMFAN SRVGRP = "identifier" SRVID =
"number"
RESTART = Y [MAXGEN = value] [GRACE = value] MAX=1
CLOPT = "-A -- [-f ons-configuration] [-d "{[HA ,RLB]}" ][-t threshold]"
TMFAN
は、Oracle RACからの高速アプリケーション通知(FAN)イベントを受信して処理する、Tuxedoシステムが提供するサーバーです。FANの詳細は、「TuxedoをOracle Real Application Clusters (RAC)とともに使用」を参照してください。
RESTART
MAX
-f ons-configuration
-f
を指定した場合は、TMFAN
は自身をリモートONSクライアントとして処理します。ons-configuration
は構成ファイルです。その内容は、次に示す規則に従ってクライアント構成を指定するons_init_wconfig()
のパラメータです。
-d
注: | VERSION=1.0 service=tux2 instance=orcl2 database=orcl host=bej301166 status=up card=1 reason=USER timestamp=2013-07-11 14:12:28 |
注: | VERSION=1.0 database=tux service=fan5 { {instance=tux2 percent=50 flag=UNKNOWN aff=FALSE}{instance=tux1 percent=50 flag=UNKNOWN aff=FALSE} } timestamp=2014-04-19 00:05:28 |
TMFAN SRVID=32 SRVGRP=GROUP9
CLOPT="-A -- -f /u01/common/patches/ons.properties -d RLB,HA -t 5"
/u01/common/patches/ons.properties:
Propertiesfile=/u01/common/patches/properties
/u01/common/patches/properties:
oracle.ons.debug=true
oracle.ons.nodes.tux=bej301165.cn.oracle.com:6200,bej301166.cn.oracle.com:6200
-d
は実行時にud32
によって編集できます。リスト9は、FMLフィールド名のリストです。表77は関連する属性のリストです。
SRVCNM .TMFAN
TA_TMFAN_TRACE
TA_TMFAN_THRESHOLD
-t threshold
-t
は実行時にud32
によって編集できます。リスト9は、FMLフィールド名のリストです。表77は関連する属性のリストです。 注: | LBAのロード・バランシングは、同一のOracleデータベース・サービスにある2つのインスタンスのロード値の差異がしきい値以上である場合にのみ機能します。 |
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管理ガイド』の
「サービス規約検索の構成」
TMJAVASVR SRVGRP="
identifier
" SRVID="
number
" CLOPT=" -- [-c
configuration_file_name
]"
ATMI JavaサーバーのTMJAVASVR
は、TuxedoシステムとJava実装サービス間のブリッジとして機能する新しいOracle Tuxedoシステム・サーバーです。Tuxedo Javaサーバーは主に次のタスクを実行します。
*SERVERS
TMJAVASVR SRVGRP=TJSVRGRP SRVID=3
CLOPT="-- -c /home/oracle/app/javaserver/TJSconfig.xml"
MINDISPATCHTHREADS=2 MAXDISPATCHTHREADS=3
TMQFORWARD
SRVGRP
="identifier
"SRVID
="number
"REPLYQ=N
CLOPT="
[-A
] [servopts
options
]--
-q
queuename[,queuename
...]
[-t
trantime
] [-i
idletime
] [-b
timeout
] [-e
] [-d
] [-n
] [-f
delay
] "
メッセージ転送サーバーはOracle Tuxedoシステムが提供するサーバーで、tpenqueue()
で格納されたメッセージを後処理のために転送します。アプリケーション管理者は、SERVERS
セクションでこのサーバーをアプリケーション・サーバーとして指定することにより、アプリケーション・サーバーのメッセージ処理を自動化できます。
位置指定、サーバー・グループ、サーバー識別子、その他の汎用サーバー関連パラメータは、サーバー用に定義されている構成ファイル機構を使用して、このサーバーに関連付けられます。次に、カスタマイズに使用できる追加コマンド行オプションのリストを示します。
-q
queuename[,queuename...]
-t
trantime
tpbegin()
で使用されるトランザクション・タイムアウト値を指定する場合に使用します。指定されない場合、デフォルト値は60秒です。
-i
idletime
-b
timeout
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アプリケーションのプログラミング』
TMQUEUE
identifier
SRVGRP=""
number
SRVID="" CLOPT=" [-A][servopts
options] -- [-t
timeout]"
メッセージ・キュー・マネージャは、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 -s
qspacename:TMQUEUE -r TUXEDO/QM \
-f ${TUXDIR}/lib/TMQUEUE.o -f apptypsw.o
-v
-o
name
SERVERS
セクション中にも指定しなければなりません。一貫性を保つために、この名前としてTMQUEUE
を使用することをお薦めします。
-s
qspacename,qspacename
:TMQUEUE
servopts(5)
を参照)。このサーバーでは、サービス名はリクエストの送信先となるキュー・スペースの名前の別名として使用されます。カンマとカンマの間に空白を入れてはいけません。関数名TMQUEUE
の前にはコロンを付けます。-s
オプションは何回使用してもかまいません。
-r TUXEDO/QM
TUXEDO/QM
は、$TUXDIR/udataobj/RM
に配置されているリソース・マネージャ表にあり、Oracle Tuxedoシステムのキュー・マネージャ用のライブラリを含んでいます。
-f $TUXDIR/lib/TMQUEUE.o
-f
firstfiles
buildserver
のコンパイル段階やリンク段階で組み込まれる1つまたは複数のユーザー・ファイルを指定します。ソース・ファイルは、cc
コマンド、またはCC環境変数を通して指定されるコンパイル・コマンドのいずれかを使用してコンパイルされます。これらのファイルは、TMQUEUE.o
オブジェクト・ファイルを組み込んだ後に指定しなければなりません。複数のファイルを指定する場合には、ファイル名を空白類(スペースまたはタブ)で区切り、全体を引用符で囲みます。このオプションは、何回も指定することができます。
TMQUEUE
は、サポートされているすべてのサーバー・プラットフォームでOracle Tuxedoシステム提供のサーバーとしてサポートされます。
TMQUEUE
は相互運用するアプリケーションで実行できますが、Oracle Tuxedoリリース4.2以降のノードで実行する必要があります。
*GROUPS
# 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
] [-f
control-file
]]"]
TMSYSEVT
はOracle Tuxedoシステムが提供するサーバーで、システム・エラーや潜在的なエラー状態に関するイベント通知を処理します。イベント・レポートはフィルタを通され、1つまたは複数の通知アクションを開始できます。
フィルタや通知に関するルールは、制御ファイルcontrol-file
に格納されます。デフォルトの名前は${APPDIR}/tmsysevt.dat
です。control-fileの構文はEVENT_MIB(5)
で定義します。特に、EVENT_MIB
のクラス属性を設定することで、通知ルールの範囲内でサブスクリプションをアクティブ化できます。
1つまたは複数の二次的なTMSYSEVT
プロセスを起動して、可用性を高めることができます。追加サーバーは、「セカンダリ・サーバー」であることを示すコマンド行オプション-S
を指定して起動する必要があります。
EVENT_MIB(5)
の構成が更新されるときには、プライマリTMSYSEVT
サーバーがその制御ファイルに書込みを行います。セカンダリ・サーバーは、プライマリ・サーバーの制御ファイルが更新されているかどうかをポーリングを通じてチェックし、必要であれば各自の(ローカルの)制御ファイルを更新します。ポーリングの間隔は-p
オプションで指定できます。デフォルト値は30秒です。
注: | 複数のリリースのOracle Tuxedoシステムで構成されたMP構成を設定し、TMUSREVTおよびTMSYSEVTサーバーを実行する場合は、これらのサーバーを最新のリリースのノードで実行する必要があります。 |
TMSYSEVT
は、Oracle Tuxedoリリース6.0以降のマシンで実行する必要があります。
プライマリTMSYSEVT
サーバーを別のマシンに移行するには、システム管理者は現在の制御ファイル
のコピーを提供する必要があります。セカンダリTMSYSEVT
サーバーは、最新のコピーを自動的に維持します。
TMSYSEVT
は、システム・イベントを定義したFML32フィールド表へのアクセス手段が必要になります。FLDTBLDIR32
には$TUXDIR/udataobj
が、FIELDTBLS32
にはevt_mib
がそれぞれ含まれている必要があります。これらの環境変数は、マシンまたはサーバーの環境設定ファイルで設定できます。
*SERVERS
TMSYSEVT SRVGRP=ADMIN1 SRVID=100 RESTART=Y GRACE=900 MAXGEN=5
CLOPT="-A --"
TMSYSEVT SRVGRP=ADMIN2 SRVID=100 RESTART=Y GRACE=900 MAXGEN=5
CLOPT="-A -- -S -p 90"
tpsubscribe(3c)、EVENTS(5)
、EVENT_MIB(5)
、TMUSREVT(5)
実行時トレース機能を使用すると、アプリケーション管理者および開発者は、Oracle Tuxedoアプリケーションの実行をトレースできます。
実行時トレースは、アプリケーション実行時の注意すべき条件または遷移をマークする、trace point
の概念に基づいています。トレース・ポイントの例としては、tpcall
などのATMI関数へのエントリ、Oracle Tuxedoメッセージの到着、トランザクションの開始などがあります。
トレース・ポイントに到達すると、次のことが発生します。まず、フィルタfilter
が適用され、トレース・ポイントを処理すべきかどうかを決定します。トレース・ポイントを処理すべき場合、trace record
がreceiver
に発行されます。最後に、プロセスの中止などの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] [-f
control-file]]"]
TMUSREVT
はOracle Tuxedoシステムが提供するサーバーで、tppost(3c)からのイベント・レポート・メッセージ・バッファを処理し、それらにフィルタを適用して転送するイベント・ブローカとして動作します。
フィルタや通知に関するルールは、制御ファイルcontrol-file
に格納されます。デフォルトの名前は${APPDIR}/tmusrevt.dat
です。control-fileの構文はEVENT_MIB(5)
で定義します。特に、EVENT_MIB
のクラス属性を設定することで、通知ルールの範囲内でサブスクリプションをアクティブ化できます。
1つまたは複数の二次的なTMUSREVT
プロセスを起動して、可用性を高めることができます。追加サーバーは、「セカンダリ・サーバー」であることを示すコマンド行オプション-S
を指定して起動する必要があります。
EVENT_MIB(5)
の構成が更新されるときには、プライマリTMUSREVT
サーバーがその制御ファイルに書込みを行います。セカンダリ・サーバーは、プライマリ・サーバーの制御ファイルが更新されているかどうかをポーリングを通じてチェックし、必要であれば各自の(ローカルの)制御ファイルを更新します。ポーリングの間隔は-p
オプションで指定できます。デフォルト値は30秒です。
注: | 複数のリリースのOracle Tuxedoシステムで構成されたMP構成を設定し、TMUSREVTおよびTMSYSEVTサーバーを実行する場合は、これらのサーバーを最新のリリースのノードで実行する必要があります。 |
TMUSREVT
は、Oracle Tuxedoリリース6.0以降のマシンで実行する必要があります。
プライマリTMUSREVT
サーバーを別のマシンに移行するには、システム管理者は現在の制御ファイル
のコピーを提供する必要があります。セカンダリTMUSREVT
サーバーは、最新のコピーを自動的に維持します。
tppost()
をトランザクション・モードで呼び出す場合は、すべてのTMUSREVT
サーバー・グループがトランザクション機能(TMSプロセス)を備えている必要があります。
TMUSREVT
サーバーの環境変数は、メッセージにフィルタを適用したりフォーマットする際に必要となるFMLフィールド表やVIEWファイルを使用できるように設定しておく必要があります。これらの環境変数は、マシンまたはサーバーの環境設定ファイルで設定できます。
*SERVERS
TMUSREVT SRVGRP=ADMIN1 SRVID=100 RESTART=Y MAXGEN=5 GRACE=3600
CLOPT="-A --"
TMUSREVT SRVGRP=ADMIN2 SRVID=100 RESTART=Y MAXGEN=5 GRACE=3600
CLOPT="-A -- -S -p 120"
tppost(3c)、tpsubscribe(3c)、EVENTS(5)
、EVENT_MIB(5)
、TMSYSEVT(5)
tperrno
- Oracle Tuxedoシステムのエラー・コード
#include <atmi.h>
エラー条件のシンボル名によって表される数値は、Oracle Tuxedoシステム・ライブラリ・ルーチンの実行時に発生するエラー用のtperrno
に割り当てられます。
tperrno
は、int
型の変更可能なlvalue
の拡張です。lvalueの値は、複数のOracle Tuxedoシステム・ライブラリ・ルーチンによって正のエラー番号に設定されます。tperrno
はオブジェクトの識別子である必要はなく、lvalue
関数呼出しの結果、変更可能なlvalueに拡張される場合があります。tperrno
がマクロであるかまたは外部リンクで宣言される識別子であるかは特定されていません。実際のオブジェクトをアクセスするためのtperrno
マクロの定義が抑止されている場合、または、あるプログラムが名前tperrno
を使用して識別子を定義している場合、動作は不確定です。
Oracle Tuxedoシステム・ライブラリ・ルーチンのリファレンス・ページには、各ルーチンのエラー条件とそのコンテキストにおけるエラーの意味が掲載されています。掲載されているエラーの順番は重要ではなく、優先順位を示すものでもありません。tperrno
の値は、エラーが指摘された後にのみ検査します。つまり、構成要素の戻り値がエラーを示していて、構成要素の定義でtperrno
のエラー時の設定が指定されている場合です。tperrno
の値を検査するアプリケーションは、ヘッダー・ファイル<atmi.h>
をインクルードする必要があります。
TPEABORT
TPEBADDESC
TPEBLOCK
TPEDIAGNOSTIC
TPEEVENT
TPEGOTSIG
TPEHAZARD
TPEHEURISTIC
TPEINVAL
TPEITYPE
TPELIMIT
TPEMATCH
TPEMIB
TPENOENT
TPEOS
TPEOTYPE
TPEPERM
TPEPROTO
TPERELEASE
TPERMERR
TPESVCERR
TPESVCFAIL
TPESYSTEM
TPETIME
TPNOBLOCK
またはTPNOTIME
が指定されている場合は発生しません。)いずれの場合も、*odata
、その内容、*olen
はどれも変更されません。 トランザクション・タイムアウトが発生した場合、トランザクションが中断されない限り、新しいリクエストの送信や未処理の応答の受信はできず、TPETIME
が発生します。その例外とは、ブロックされず、応答を期待せず、かつ呼出し側のトランザクションのかわりに送信されない(つまり、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 ATMIアプリケーションのプログラミング』を参照してください。
以下の変数は、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 ATMIワークステーション・コンポーネントの使用』を参照してください。
以下の環境変数は、Oracle Tuxedo /Qで使用します。
QMCONFIG
ISSANE
TMQFORWARD
が異常終了した場合も引き続き/Qを正常に動作させるために使用します。この変数をyes/YES
に設定すると、TMQFORWARD
が異常終了(アプリケーション・サーバーのハングによるハングなど)した場合、停止リクエストがTMQFORWARD
に送信され、TMQFORWARD
が/Qロックを持っていなければ、/Qは正常に動作し、TMQFORWARD
を後で再起動できます。それ以外の場合、TMQFORWARD
が異常終了しすると、/Qは異常と認識され、再起動が必要になります。
詳細は、『ATMI /Qコンポーネントの使用』を参照してください。
ALTCC
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 ATMIアプリケーションのプログラミング』を参照してください。
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 */
},
{
"RECORD", /* type */
"*", /* subtype */
1024, /* dfltsize */
_rinit, /* initbuf */
_rreinit, /* reinitbuf */
_runinit, /* uninitbuf */
_rpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_rencdec, /* encdec */
NULL, /* route */
NULL, /* filter */
NULL, /* format */
NULL /* presend2 */
},
{
""
}
};
struct tmtype_sw_t _TM_FAR *
_TMDLLENTRY
_tmtypeswaddr(void)
{
return(tm_typesw);
}
次の表に、Oracle Tuxedoシステムのバッファ・タイプを示します。
すべての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
は、DBBL
の再配置および起動時に使用されるBACKUP
マシンIDの位置を指定します。本来の位置が使用できない場合、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つのサーバーが必要です。
MAXSERVICES
numeric_value
MAXSERVICES* MAXDOMAINS
です。これは、100より大きく1,048,575未満です。
MAXGROUPS
numeric_value
MAXGROUPS * MAXDOMAINS
です。これは、100より大きく32,766未満です。
MAXNETGROUPS
numeric_value
TUXCONFIG
ファイルのNETWORK
セクションに対応する構成済のネットワーク・グループの最大数を指定します。この値には、1以上8192未満を指定します。指定しない場合は、デフォルト値の8が設定されます。
MAXMACHINES
numeric_value
MAXMACHINES * MAXDOMAINS
です。1つのドメイン内の最大ノード数は8191から1024に低下します。 注: | バイパス・ドメイン・モデルがオンのとき、MAXDOMAINS およびMAXMACHINES は、各ドメインで一貫した設定にする必要があります。それ以外の場合は、ULOG に警告が出力され、バイパス・ドメイン・モデルがオフになります。 |
MAXQUEUES
numeric_value
MAXSERVERS
の値に設定されます。5.0より前のリリースと相互運用するためには、この値はMAXSERVERS
の値と等しくなければなりません。
MAXQUEUES * MAXDOMAINS
です。これは、50以上8,192未満でなければなりません。
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
セクションの設定値です。ROUTING
セクションのRANGES
値に指定された文字列とCARRAYは文字列プールに格納されます。実行時に表を拡張できるようにするには、追加の領域を割り当てる必要があります。
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 | EXT_AA | APPVER | ECID_CREATE | ECID_USERLOG | EXT_MON | EECS | NO_SPINTUNING | NO_RDONLY1PC | NO_SHMQ],*}
|
|||
|
|||
RACの部分的1フェーズ読取り専用最適化を有効にします。
|
|||
共有メモリー・プロセス間通信を有効にします。
|
|||
自動チューニング・ロック・メカニズムを有効にします。
|
|||
RMOPTIONS {[ NONE | NO_COMMONXID | NO_XAAFFINITY | SINGLETON | NO_FAN ],*}
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
オプションも指定する必要があります。 64ビット・プラットフォームでは、SHMQMAXMEM
の値には1から96,000を指定する必要があります。SHMQMAXMEM
が構成されていないとき、または値が小さすぎるときに、SHMQ
が指定されると、推奨の最小値が使用されます。
SHMQMAXMEM
の値には1から2000を指定する必要があります。このため、MAXACCESSERS
の値は1907以下にする必要があり、そうでない場合、SHMQMAXMEM
の推奨最小値は2000より大きい値です。 tmloadcf – c
を実行して、推奨の最小値を取得します。「tmloadcf」を参照してください。
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
やSERVICES
などの既知の識別子と一致する場合や、Cの識別子はピリオドで開始したり、ダッシュを含めることはできないため、..AUTHSVC
やAUTH-SVC
などの有効なCの識別子ではない場合は、サービス名を引用符で囲む必要があることにも注意してください。
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はこのサブディレクトリに格納されます。従来のTuxedoセキュリティ資格証明形式を使用する場合、これは、SEC_PRINCIPAL_NAME
で指定されたプリンシパルの復号化(プライベート)キーを収めるファイルまたはデバイスの場所を指定します。ウォレットまたは秘密鍵がAPPDIR
の下のディレクトリにある場合は、相対パスを使用してSEC_PRINCIPAL_LOCATION
を指定することもできます。
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)により、SEC_PRINCIPAL_NAME
で指定するプリンシパルでのパスワードが要求されます。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
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
がBACKUP
マシンで再起動されます。指定されない場合、DBBLFAILOVER
はデフォルトで0に設定されます。DBBL
の自動移行が有効になるのは、DBBLFAILOVER
が0よりも大きな値に構成された場合のみです。
SGRPFAILOVER
numeric_value
(0 <= num
< 32768)
SGRPFAILOVER*BBLQUERY*SCANUNIT
秒後に再起動されます。指定されない場合、SGRPFAILOVER
はデフォルトで0に設定されます。サーバー・グループの自動移行が有効になるのは、SGRPFAILOVER
が0よりも大きな値に構成された場合のみです。
BYPASSDOM_ID
string [1..15]
BYPASSDOM_ID
を指定する場合は、OPTIONS
のEECS
フラグ、BYPASSDOM_SEQ_NUM
パラメータおよびBYPASSDOM_SHARED_DIR
パラメータを指定する必要があります。
BYPASSDOM_SEQ_NUM
numeric_value (0 <= num
<= 2047)
MAXDOMAINS
属性の値を超えないようにします。各ドメインのBYPASSDOMAIN_ID
は、1つのバイパス・ドメイン・グループで一意ものにする必要があります。それ以外の場合は、予期しないエラーが発生します。BYPASSDOM_SEQ_NUM
を指定する場合は、OPTIONS
のEECS
フラグ、BYPASSDOM_ID
パラメータおよびBYPASSDOM_SHARED_DIR
パラメータを指定する必要があります。
BYPASSDOM_SHARED_DIR
string
[1..192]
BYPASSDOM_SHARED_DIR
は、ドメイン・グループ内のすべてのTuxedoノードが読取り/書込み権限を持つ共有ファイル・ディレクトリである必要があります。Oracle Tuxedoファイル・システムは、フィックス・ファイル名"."+"DOMGLOBAL"+"_"+"BYPASSDOM_ID"+"_"+"BYPASSDOM_SEQ_NUM"
で構成されています。BYPASSDOM_SHARED_DIR
を指定する場合は、OPTIONS
のEECS
フラグ、BYPASSDOM_ID
パラメータおよびBYPASSDOM_SEQ_NUM
パラメータを指定する必要があります。
MAXDOMAINS
numeric_value (2 <= num
<= 2048)
MAXDOMAINS
を指定する場合は、OPTIONS
のEECS
フラグ、BYPASSDOM_ID
パラメータ、BYPASSDOM_SEQ_NUM
パラメータおよびBYPASSDOM_SHARED_DIR
パラメータも指定する必要があります。注: | バイパス・ドメイン・モデルがオンのとき、MAXDOMAINS およびMAXMACHINES は、各ドメインで一貫した設定にする必要があります。それ以外の場合は、ULOG に警告が出力され、バイパス・ドメイン・モデルがオフになります。 |
LLR_DELSWAPSIZE numeric_value (
0 <= num <
32768)
LLR_DELDELAY numeric_value (
0 < num <
32768)
SCANUNIT
の乗数を指定します。この値は0より大きくなければなりません。このパラメータを指定しない場合、SCANUNIT * LLR_DELDELAY
が約30秒になるようにデフォルト値が設定されますが、SCANUNIT
の値が30秒より大きいときは、LLR_DELDELAY
は1に設定されます。
MACHINES
セクションでは、物理マシンの論理名を指定します。また、このセクションではマシン固有のパラメータも指定します。MACHINES
セクションには、アプリケーションで使用される物理プロセッサごとのエントリが必要です。エントリの形式は次のとおりです。
ADDRESS
required_parameters
[optional_parameters
]
ADDRESS
はプロセッサの物理名です。たとえば、UNIXシステムのuname -n
コマンドで生成される値です。Windowsシステムの場合、この値は「コントロール・パネル」にあるネットワークのコンピュータ名の値で設定でき、大文字で指定する必要があります。ADDRESSのエントリの長さは30文字以下でなければなりません。この名前が識別子でない場合は、二重引用符で囲まなければなりません。
LAN
オプションが指定されていない場合は、このセクションにはマシン名は1つしか指定できません。必須KEYWORD
の1つにLMID
があります。これは、物理マシンに割り当てられる論理マシンstring_value
です。LMID
string_value
は、構成ファイルのMACHINES
セクションの中でユニークでなければなりません。
LMID
=
string_value
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です。
SPINTUNING_FACTOR =
numeric_value
SPINTUNING_FACTOR
の値が大きい場合には対応するためにSPINCOUNT
の値を増やす必要があります。結果として、CPU使用率が上昇します。 注: | 自己チューニング・ロック・メカニズム機能がオンになっている場合にのみ使用できます。 |
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はこのサブディレクトリに格納されます。従来のTuxedoセキュリティ資格証明形式を使用する場合、これは、SEC_PRINCIPAL_NAME
で指定されたプリンシパルの復号化(プライベート)キーを収めるファイルまたはデバイスの場所を指定します。ウォレットまたは秘密鍵がAPPDIR
の下のディレクトリにある場合は、相対パスを使用してSEC_PRINCIPAL_LOCATION
を指定することもできます。
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)により、SEC_PRINCIPAL_NAME
で指定するプリンシパルでのパスワードが要求されます。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
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はこのサブディレクトリに格納されます。従来のTuxedoセキュリティ資格証明形式を使用する場合、これは、SEC_PRINCIPAL_NAME
で指定されたプリンシパルの復号化(プライベート)キーを収めるファイルまたはデバイスの場所を指定します。ウォレットまたは秘密鍵がAPPDIR
の下のディレクトリにある場合は、相対パスを使用してSEC_PRINCIPAL_LOCATION
を指定することもできます。
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)により、SEC_PRINCIPAL_NAME
で指定するプリンシパルでのパスワードが要求されます。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
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
ファイル内で暗号化されたパスワードが検出されると、ユーザーに対してパスワードの作成は要求されません。 Oracle Tuxedo 12cリリース2 (12.1.3)ローリング・パッチ003以降では、OPENINFO
に${tuxconfig.a-zA-Z0-9_}
の書式でパスワードを定義し、そのパスワードをTUXCONFIG
で保存できます。同一のキー${tuxconfig.a-zA-Z0-9_}
で識別される複数のパスワードは、コンソールから1回入力されます。OPENINFO
の文字列${
は、Tuxedoの予約語です。
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
'のみです。サービスが受信リクエストのリクエスト・バージョンを伝播することを指定します。つまり、サービスが他のサービスを呼び出すときに、受信リクエストのリクエスト・バージョンを自らのリクエスト・バージョンとして使用します。
DEPENDSON = "group name1 /[group name.]server name1 [,group name2 /[group name.]server name2 … ]"
SEQUENCE
パラメータも指定されている場合は、DEPENDSON
パラメータのほうが優先度が高くなります。tmboot
に-i
、-s
または-g
オプションが含まれている場合、サーバーはDEPENDSON
パラメータを無視し、直接起動します。依存サーバーが起動しない場合は、警告メッセージが記録されます。依存グループ/サーバーのエントリ数は、最大256
です。DEPENDSON
文字列の最大長は1024
です。
このセクションは、MRM=Y
を使用して1つのサーバー・グループに対して複数のRMをサポートするためのRM情報を提供します。これにより、グループ内のアプリケーション・サーバーは、1回のトランザクション中に異なるRMを使用して複数の接続を確立できます。RMSセクションでは、各エントリは1つのサーバー・グループに対して1つのRMを説明します。このグループで複数のRMをサポートする必要がある場合、このセクションに複数のエントリを指定する必要があります。このセクション内のエントリの一般的な形式は、次のとおりです。
RMSNAME required_parameters [optional_parameters]
RMSNAMEは、RMSエントリの論理名を指定します。この名前は、RMSセッション内のすべてのエントリ名で一意である必要があり、アスタリスク(*)、カンマまたはコロンは使用できません。30文字以内である必要があります。
リスト12は、複数の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
には"DB:
"形式でデータベース・スキーマの接続文字列が含まれますたとえば、OPENINFO="DB:Oracle_XA: Oracle_XA+Acc=P/scott/*****+SesTM=10:AQSPACE"
)。
OPENINFO
文字列内の5つの連続するアスタリスク(*)は、暗号化されたパスワードを示します。リソース・マネージャに渡されるOPENINFO
文字列内のパスワードは、クリア・テキストまたは暗号化された形式で格納されます。パスワードを暗号化するには、まず、OPENINFO
文字列内のパスワードが必要な場所に、5つ以上の連続するアスタリスクを入れます。次に、tmloadcf(1)
コマンドを実行して、UBBCONFIGファイルをロードします。tmloadcf()
は、アスタリスクの文字列を検出すると、パスワードの作成をユーザーに要求します。たとえば、tmloadcf -y /usr5/apps/bankapp/myubbconfig
です。 OPENINFO (SRVGRP=QGRP1)
のパスワード: tmloadcf(1)
は、パスワードを暗号化してTUXCONFIGファイルに格納します。tmunloadcf()
を使用してTUXCONFIGファイルからUBBCONFIGファイルを再生成すると、パスワードは@@で区切られた暗号化形式でそのUBBCONFIGファイルに出力されます。たとえば、OPENINFO="Oracle_XA: Oracle_XA+Acc=P/Scott/@@A0986F7733D4@@+SesTm=30+LogDit=/tmp
"です。tmloadcf()
によって、tmunloadcf()
で生成されたUBBCONFIGファイル内で暗号化されたパスワードが検出されると、ユーザーに対してパスワードの作成は要求されません。 Oracle Tuxedo 12cリリース2 (12.1.3)ローリング・パッチ003以降では、OPENINFO
に${tuxconfig.a-zA-Z0-9_}
の書式でパスワードを定義し、そのパスワードをTUXCONFIG
で保存できます。同一のキー${tuxconfig.a-zA-Z0-9_}
で識別される複数のパスワードは、コンソールから1回入力されます。OPENINFO
の文字列${
は、Tuxedoの予約語です。
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
の形式が"0x
hex-digits
"
または"\\x
hex-digits
"
の場合、偶数の有効な16進数を含める必要があります。これらの形式は、TCP/IPドレスを含む文字配列に内部変換され、以下の形式のいずれかになります(表79を参照)。
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
パラメータ用に指定されたのと同じ形式です。アドレスの形式が"0x
hex-digits
"
または"\\x
hex-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は、後方互換性を維持するために提供されています。 このリリースのOracle Tuxedoでは、0ビット、40ビットまたは56ビットのSSLの暗号化鍵はサポートされません。暗号化鍵の最小サイズは112です。min-max値が40または56で構成されている場合は、112がデフォルトで使用されます。 |
MAXENCRYPTBITS
=
{0
| 40
| 56
| 128
}
0
は暗号化が行われないことを示し、40
、56
、および128
は暗号化キーの長さをビット単位で指定します。デフォルトは128
です。 注: | リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。 SSLを使用する場合、0ビットの最大暗号化レベルは許可されません。 このリリースのOracle Tuxedoでは、0ビット、40ビットまたは56ビットのSSLの暗号化鍵はサポートされません。暗号化鍵の最小サイズは112です。min-max値が40または56で構成されている場合は、112がデフォルトで使用されます。 |
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
DEPENDSON =
"group name1 /[group name.]server name1 [,group name2 /[group name.]server name2 … ]"
SEQUENCE
パラメータも指定されている場合は、DEPENDSON
パラメータのほうが優先度が高くなります。 注: | group name は、同じグループのサーバーに対して省略できます。 |
tmboot
に-i
、-s
または-g
オプションが含まれている場合、サーバーはDEPENDSON
パラメータを無視し、直接起動します。依存サーバーが起動しない場合は、警告メッセージが記録されます。依存グループ/サーバーのエントリ数は、最大256
です。DEPENDSON
文字列の最大長は1024
です。 依存サーバーの形式は、GROUPNAME.SERVERNAME
です。
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はこのサブディレクトリに格納されます。従来のTuxedoセキュリティ資格証明形式を使用する場合、これは、SEC_PRINCIPAL_NAME
で指定されたプリンシパルの復号化(プライベート)キーを収めるファイルまたはデバイスの場所を指定します。ウォレットまたは秘密鍵がAPPDIR
の下のディレクトリにある場合は、相対パスを使用してSEC_PRINCIPAL_LOCATION
を指定することもできます。
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)により、SEC_PRINCIPAL_NAME
で指定するプリンシパルでのパスワードが要求されます。管理者が入力したパスワードはシステム側で自動的に暗号化され、それぞれが対応するパスワード変数に割り当てられます。
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プログラミング・リファレンス』の「パラレル オブジェクト」を参照してください。
RM_ERR_THRESHOLD
=
number
XAERR_RMFAILまたはXAERR_RMERR
を取得する最大回数を指定します。しきい値に到達すると、Tuxedoサーバーは、すべてのサービスを一時停止し、RMがリカバリするまで、(RM_ERR_INTERVAL
で指定された)間隔時間ごとに暗黙的にRMに接続を試みます。TuxedoサーバーがRMへの接続に成功すると、すべてのサービスが再アクティブ化されます。指定可能な範囲は、0 <= num <=1000
です。デフォルト値は0
で、動作が無効であることを示します。
RM_ERR_INTERVAL
=
number
RM_ERR_THRESHOLD
に到達したときに、TuxedoサーバーがRMに再接続しようとする各試行間の間隔を指定します。RM_ERR_INTERVAL
のデフォルト値は、30(s)
です。指定可能な範囲は、0 < num <=32,767
です。
SECONDARYRQ={Y | N}
N
です。Y
の場合、Tuxedoサーバーによってセカンダリ・リクエスト・キューが作成され、特定のメッセージをセカンダリ・リクエスト・キューに送信できます。
AOUT
がアクセスするセカンダリ・リクエスト・キューに一意のキー(#S.GRPNO.SRVID)
が選択されます。
このセクションでは、アプリケーションが使用するサービスに関する情報を指定します。SERVICES
セクション内の行の形式は次のとおりです。
SVCNM
はサービスの(string_value
)名です。SVCNM
は127文字以下でなければなりません。
必須パラメータはありません。省略可能なパラメータを設定する必要がない場合は、サービスを示す必要はありません。省略可能なパラメータは以下のとおりです。
string_value
は、CACHING
セクションに定義されているCACHING_CRITERIA_NAME
このパラメータは指定する必要があり、指定しない場合、サービス・キャッシングは有効になりません。string_value
の長さは30文字以下にする必要があります。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
[:s
ubtype3
[,
. . . ]]] . . . "
FML
とFML32
(FMLバッファ用)、XML
(XMLバッファ用)、VIEW
、VIEW32
、RECORD
、X_C_TYPE
またはX_COMMON
(FML VIEW用)、STRING
(NULL
で終了する文字配列用)、およびCARRAY
またはX_OCTET
(送信時にエンコードもデコードもされない文字配列用)があります。これらのタイプのうち、VIEW
、VIEW32
、RECORD
、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_NAME
required_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
、RECORD
、X_C_TYPE
またはX_COMMON
のいずれかにする必要があります。タイプがFML
、FML32
またはXML
の場合、サブタイプは指定できません。タイプがVIEW
、VIEW32
、RECORD
、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
の属性です。
RECORD
バッファをルーティングするには、FIELD
パラメータの値をFIELD="[groupname1.groupname2...groupnameN.]itemname"
の構文で定義する必要があります。FIELD
は254文字以内にする必要があります。groupname
は、コピーブック定義内のグループの名前です。リスト13は例です。
*ROUTING
route1 BUFTYPE="RECORD:recordname" FIELD="g1.g2.sid" RANGES="MIN-5:GRP1,6-10:GRP2,11-MAX:GRP3"
このセクションでは、TDC (Oracle Tuxedo分散キャッシュ)の結果キャッシュを使用するための情報を指定します。
CACHING_CRITERIA_NAME required_parameters
CACHING_CRITERIA_NAME
(string_value
)は、SERVICES
セクションの特定のサービス・エントリのCACHING
パラメータに割り当てられる名前です。CACHING_CRITERIA_NAME
は30文字(数字以外)以内にする必要があります。
CACHENAME=string_value
KEY_BUFTYPE="type1[:subtype1[,subtype2 . . . ]][;type2[:subtype3[, . . . ]]] . . ."
STRING、CARRAY、X_OCTET、FML、FML32、XML、VIEW、VIEW32、RECORD、MBSTRING、X_C_TYPE
またはX_COMMON
のいずれかにする必要があります。タイプがSTRING、CARRAY、X_OCTET、FML、FML32、MBSTRING
またはXML
の場合、サブタイプは指定できません。タイプがVIEW、VIEW32、RECORD、X_C_TYPE
およびX_COMMON
の場合はサブタイプが必要です(*
は使用できません)。サブタイプ名には、セミコロン、コロン、カンマまたはアスタリスク文字を使用できません。タイプとサブタイプのペアのうち、重複するものは同じキャッシング基準名として指定できません。タイプとサブタイプのペアが一意の場合、複数のキャッシング・エントリは同じ基準名を持つことができます。単一キャッシング・エントリに複数のバッファ・タイプが指定されている場合は、各バッファ・タイプのキャッシング・フィールドのデータ型は同じである必要があります。 このパラメータが指定されない場合は、STRING
が使用されます。
KEY="[mykey1][_$request_][mykey2]" string_value
string_value
は127文字以下にする必要があります。string_value
は組込み変数をインポートして$
でキーを構成できます。変数request
は、リクエスト内のユーザー・データの一部または全体を使用することを示します。mykey_$request
は、キーの形式がmykey_servicename_[user data in request]
であることを示します。[mykey1]
または[mykey2]
に挿入できません。 KEY_BUFTYPE
およびKEY_FIELD
パラメータは、ユーザー・データのどの部分を使用するかを指定するのに役立ちます。KEY
は、データをキャッシュするためのキーそのものではありません。そのようなキーを生成するために使用されるだけです。生成されるキーの長さは1024文字以下である必要があります。
KEY_FIELD= "field1[+field2[+field3[+...]]]"
FLDTBLDIR
およびFIELDTBLS
環境変数を使用するか、FLDTBLDIR32
およびFIELDTBLS32
環境変数を使用)のフィールド名かFMLビュー表(VIEWDIR
およびVIEWFILES
環境変数を使用するか、VIEWDIR32
およびVIEWFILES32
環境変数を使用)のフィールド名を指定できます。この情報は、メッセージの送信時に、サービス・キャッシングに関連するフィールド値を取得するために使用されます。root_element[/child_element][/child_element][/. . .][/@attribute_name]
要素名と属性名を組み合せて、最大30文字まで指定できます。Oracle Tuxedoは、サービス・キャッシングでXMLバッファを処理する際に、与えられた要素タイプの最初のオカレンスだけを認識します。XMLは、属性名に使用できる文字セットを厳密に定義しています。属性名は、単一の文字、アンダースコア、またはコロンを含む文字列で、その後に1つ以上の名前文字が続きます。要素名と属性名はいずれも、大文字/小文字が区別されます。詳細は、XMLのドキュメントを参照してください。KEY_BUFTYPE
がSTRING
、MBSTRING
、X_OCTET
またはCARRAY
に設定されている場合は、フィールドを次の構文で定義します。[index1, index2]
Index1
はバッファ内のフィールドの開始インデックスを示し、index2
はフィールドの終了インデックスを示します。このパラメータが定義されていない場合、バッファ全体がキーとして取得されます。インデックスは1以上に設定する必要があります。KEY
がリクエストに設定されていない場合、このパラメータは無視されます。
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 EECS
*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
*SERVERS
WSL SRVGRP="WSLGRP" SRVID=1000 RESTART=Y GRACE=0
CLOPT="-A -- -n 0x0002ffffaaaaaaaa -d /dev/tcp"
WSL SRVGRP="WSLGRP" SRVID=1001 RESTART=Y GRACE=0
CLOPT="-A -- -n 0x0002aaaaffffffff -d /dev/tcp -H 0x0002MMMMdddddddd"
WSL SRVGRP="WSLGRP" SRVID=1002 RESTART=Y GRACE=0
CLOPT="-A -- -n //hostname:aaaa -d /dev/tcp -H
//external_hostname:MMMM"
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を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
#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
の形式が"0x
hex-digits
"
または"\\x
hex-digits
"
の場合、偶数の有効な16進数を含める必要があります。これらの形式は、TCP/IPアドレスを含む文字配列に内部変換されます。string
の値は次のいずれかの形式で指定します(表85を参照)。
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を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
WSL SRVGRP="identifier
"
SRVID="number
"
CLOPT="[-A] [servoptsoptions
] -- -nnetaddr
[-ddevice
]
[-wWSHname
] [-ttimeout-factor
] [-TClient-timeout
]
[-mminh
] [-Mmaxh
] [-xmpx-factor
]
[-pminwshport
] [-Pmaxwshport
] [-Iinit-timeout
]
[-ccompression-threshold
] [-kcompression-threshold
]
[-K {client|handler|both|none}]
[-z
bits
] [-Z
bits
] [-H
external-netaddr
][-N
network-timeout
]
[-U
inbound-message-size-limit-in-bytes]
[-a] [-v{detect|warn|none}] [-R renegotiation_interval]
[-S secure_port]”
ワークステーション・リスナーは、ワークステーション・クライアントからネイティブ・サービスへのアクセスを可能にするOracle Tuxedoシステム提供のサーバーです。アプリケーション管理者は、SERVERS
セクションでワークステーション・リスナー・サーバーをアプリケーション・サーバーとして指定することにより、ワークステーションからアプリケーションへのアクセスを許可します。ワークステーション・リスナーとワークステーション・ハンドラの処理を指定するには、関連するコマンド行オプションを使用します。
位置指定、サーバー・グループ、サーバーID、その他の汎用サーバー関連パラメータは、サーバー用に定義されている構成ファイル機構を使用してワークステーション・リスナーに関連付けられます。ワークステーション・リスナー専用のコマンド行オプションを使用して、カスタマイズすることもできます。
アプリケーションの一部としてWSLが起動するたびに、単一の既知のネットワーク・アドレスから、ワークステーション上で作業するユーザーのための代替クライアントとして機能する一群のワークステーション・ハンドラ(WSH)へアクセスすることを認めることにより、多数のワークステーション・クライアントがアプリケーションにアクセスできるようになります。WSHは、アプリケーション・ワークステーションからのワークロードに対応するために、必要に応じてWSLによって動的に起動および停止されます。アプリケーション管理者に対する利点としては、少数のネイティブ・サイト・プロセス(WSH)によって、多数のクライアントをサポートすることができるため、ネイティブ・サイトでのプロセス数を減らすことができるという点、また、ネイティブ・サイトが、ワークステーション・サイトにある掲示板上の情報を維持するためのオーバーヘッドを負う必要がなくなるという点が挙げられます。
以下のWSL固有のコマンド行オプションを使用できます。これらのコマンド行オプションは、CLOPT
パラメータの二重ダッシュ(--)の後ろに指定できます。
-n
netaddr
netaddr
(1 - 78文字)の形式が"0x
hex-digits
"
または"\\x
hex-digits
"
の場合、有効な偶数桁の16進数を含める必要があります。これらの形式は、TCP/IPアドレスを含む文字配列に内部変換されます。このアドレスは、次の形式のいずれかで指定することもできます(表86を参照)。
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を使用している場合にのみ指定できます。 このリリースのOracle Tuxedoでは、0ビット、40ビットまたは56ビットのSSLの暗号化鍵はサポートされません。暗号化鍵の最小サイズは112です。min-max値が40または56で構成されている場合は、112がデフォルトで使用されます。 |
-Z
[0
| 40
| 56
| 128
|256
]]
0
は暗号化が行われないことを示し、40
、56
、128
、および256
は暗号化キーの長さをビット単位で指定します。デフォルトはLLEの場合128、SSLの場合256です。 注: | リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。 256ビットの暗号化は、現時点ではSSLを使用している場合にのみ指定できます。 0ビットの最大暗号化レベルは、-S SSL接続オプションとは互換性がありません。 このリリースのOracle Tuxedoでは、0ビット、40ビットまたは56ビットのSSLの暗号化鍵はサポートされません。暗号化鍵の最小サイズは112です。min-max値が40または56で構成されている場合は、112がデフォルトで使用されます。 |
-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 "
-b"
XAUTHSVR
はSystem/T提供のサーバーで、ユーザーのセキュリティ情報またはサービス制御情報がLDAP
Serverにあるときに、認証および認可サービスを行います。このサーバーを、保護されたアプリケーションで使用することにより、クライアントがアプリケーションに参加するとき、またはTuxedoサービスにアクセスするときに、ユーザー単位の認証を行うことができます。
セキュリティ・レベルがACL
よりも高い場合、XAUTHSVR
は認証と認可のサービスを..AUTHSVC
と..ATZSVC
として通知します(ユーザーは認可サービス..ATZSVC
を-b
オプションでブロックできます)。ただし、セキュリティ・レベルがUSER_AUTH
の場合、XAUTHSVR
は認証サービスをAUTHSVC
として通知します。
認証サービスは、ユーザーのパスワードとしてTPINIT
型付きバッファを含むサービス・リクエストを受け入れます。このようなパスワードは、LDAP
サーバーに格納されている構成済パスワードに対して検証されます。リクエストが検証で認められると、サービスは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
"オプションで指定できます。ユーザーは、認可サービスを-b
オプションを使用してブロックできます。これらの構成ファイルすべての形式は次に示すように共通しています。
次の表は、XAUTHSVR
構成ファイルのキーワードを示しています。
この構成ファイルを、マスター・マシンからTuxedo UBBCONFIG
ファイル内の他のマシンに自動的に伝播することはできません。複数の XAUTHSVR
を使用するには、複数のマシンを別々に構成する必要があります。
LAUTHSVRの詳細は、「XAUTHSVRに関する追加情報」を参照してください。
注: | LAUTHSVR ではIPv6がサポートされます。 |
TLSまたはSSLが有効な場合、XAUTHSVR
は実行時、OpenSSLライブラリ(OpenSSLバージョン1.0.0以上)に依存します。OpenSSLライブラリのパスがLIBRARY PATH
環境変数に追加されている必要があります。
注: | TLSおよびSSLが同時に有効な場合、XAUTHSVR はTLSを使用してLDAP サーバー接続を確立します。XAUTHSVR では、簡易認証のみサポートされます。 |
SECURITY
がUSER_AUTH
以上に設定されている場合は、強制的にユーザー単位での認証が実行されます。認証サービスの名前は、アプリケーションに対して構成できます。
認証リクエストは、LDAP
データベース内で最初に一致するユーザー名に対してのみ認証されます。
SECURITY
がACL
またはMANDATORY_ACL
に設定されている場合、ユーザー単位の認証が強制的に実行され、サービスや、アプリケーションのキュー、イベントにアクセスするためのアクセス制御リストがサポートされます。認証サービスの名前は..AUTHSVC
(これらのセキュリティ・レベル用にXAUTHSVR
によって通知されたデフォルト・サービス)である必要があります。
拡張セキュリティを有効にし、XAUTHSVR
を設定するには、OPTIONS
にEXT_AA
を設定する必要があります。それ以外の場合、TUXEDOの起動時に障害が発生します。
# Using XAUTHSVR
*RESOURCES
AUTHSVC "..AUTHSVC"
SECURITY ACL
OPTIONS EXT_AA
*SERVERS
XAUTHSVR SRVGRP="AUTH" SRVID=100 CLOPT="-A -- -f /usr/tuxedo/udataobj/tpldap"