3 構成ファイルの作成
このトピックには、次の項があります。
- 構成ファイルの作成方法
- 1台のマシンで構成するアプリケーション用の構成ファイル
- 複数のマシンで構成(分散)するアプリケーション用の構成ファイル
- 複数のドメインにまたがるアプリケーション用の構成ファイル
- 構成ファイルのRESOURCESセクションの作成方法
- アプリケーション・タイプを定義する
- バッファのタイプとサブタイプの数を制御する
- 会話の数を制御する
- IPCリソースの上限値を定義する
- ロード・バランシングを有効にする
- マスター・マシンを識別する
- ネットワーク・グループの最大数を指定する
- 正常性チェックおよびブロッキング・タイムアウトを指定する
- オペレーティング・システム・レベルのセキュリティを設定する
- セキュリティ・レベルを指定する
- サーバーのセキュリティ属性を定義する
- 共有メモリーを保護する
- アプリケーションのシステム・リソースのアドレスを設定する
- 非請求メッセージの受信方法を指定する
- 構成ファイルのMACHINESセクションの作成方法
- キャッシュ内のACL用エントリの最大数を指定する
- サービス・リクエストの負荷を定義する
- 物理アドレスとマシンIDを予約する
- ロック・スピンの回数を設定する
- マシンをタイプ別に指定する
- 構成ファイルの場所を識別する
- DTPトランザクション・ログのサイズを指定する
- DTPトランザクション・ログの名前を定義する
- 環境変数の設定を指定する
- TLOGを含むOracle Tuxedoファイル・システムを定義する
- マシンで同時に実行できるグローバル・トランザクションの最大数を指定する
- ワークステーション・クライアントのアクセサ・エントリ数を定義する
- BRIDGE経由で送信されるメッセージ用の領域を定義する
- DTPトランザクション・ログのオフセットを指定する
- TUXCONFIGのオフセットを定義する
- システム・ソフトウェアおよびアプリケーション・サーバー・ソフトウェアの場所を識別する
- 圧縮するメッセージのしきい値を指定する
- ULOGのパス名を指定する
- 構成ファイルのGROUPSセクションの作成方法
- グループ名、グループ番号、およびLMIDを指定する
- トランザクション・マネージャ・サーバーの名前とグループごとの数を指定する
- グループ内のサーバーの環境ファイルの場所を識別する
- リソース・マネージャを開くおよび閉じるときに必要な情報を定義する
- 構成ファイルのNETWORKセクションの作成方法
- BRIDGEプロセス用のデバイス名を指定する
- BRIDGEのネットワーク・アドレスを割り当てる
- 暗号化レベルを割り当てる
- tlistenのネットワーク・アドレスを割り当てる
- 構成ファイルのNETGROUPSセクションの作成方法
- ネットワーク・グループに名前を割り当てる
- ネットワーク・グループ番号を割り当てる
- ネットワーク・グループに優先度を割り当てる
- 構成ファイルのSERVERSセクションの作成方法
- サーバーを会話型として指定する
- サーバーを起動する順序を設定する
- SEQUENCE、MIN、およびMAXパラメータの特性
- サーバーのコマンド行オプションを指定する
- サーバー環境ファイルの場所を識別する
- サーバー名、サーバー・グループ、およびサーバーIDを定義する
- サーバー・キュー情報を識別する
- サーバーの再起動に関する情報を定義する
- 共有メモリーに対するサーバー・アクセスを定義する
- サーバー・ディスパッチ・スレッドを定義する
- ISLサーバーのセキュリティ・パラメータを設定する
- 構成ファイルのSERVICESセクションの作成方法
- トランザクションの自動開始とタイムアウト間隔を指定する
- サービスで受け付けるバッファ・タイプのリストを指定する
- リクエストを処理する時間を指定する
- 非トランザクション型サービス・レベルのブロック時間を指定する
- ロード・バランシングを有効にする
- ルーティング基準名を定義する
- 異なるサーバー・グループに対してサービス・パラメータを指定する
- サービスの優先度を指定してデータ・フローを制御する
- サービスの処理時間を指定する
- 構成ファイルのINTERFACESセクションの作成方法
- 構成ファイルのROUTINGセクションの作成方法
- ルーティング・バッファ・フィールドとフィールド・タイプを定義する
- 範囲の基準を指定する
- バッファ・タイプを定義する
- University Productionサンプル・アプリケーションのCORBAファクトリ・ベース・ルーティング
- Bankappサンプル・アプリケーションのCORBAファクトリ・ベース・ルーティング
- スレッドを利用するOracle Tuxedoシステムの構成方法
- 構成ファイルのコンパイル方法
3.1 構成ファイルの作成方法
関連項目:
- 構成ファイルについて
- 『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』の
UBBCONFIG(5)
に関する項
親トピック: 構成ファイルの作成
3.2 1台のマシンで構成するアプリケーション用の構成ファイル
1台のマシンの構成では、構成ファイルに次のセクションを作成する必要があります。各作業をクリックすると、その作業を行う手順が表示されます。
- 構成ファイルのRESOURCESセクションの作成方法
- 構成ファイルのMACHINESセクションの作成方法
- 構成ファイルのGROUPSセクションの作成方法
- 構成ファイルのSERVERSセクションの作成方法
- 構成ファイルのSERVICESセクションの作成方法
- 構成ファイルのINTERFACESセクションの作成方法
- 構成ファイルのROUTINGセクションの作成方法
次の図は、該当領域で指定されたセクションを作成する方法を示しています。
図3-1 複数のマシンで構成(分散)するアプリケーション用の構成ファイル

親トピック: 構成ファイルの作成
3.3 複数のマシンで構成(分散)するアプリケーション用の構成ファイル
分散ATMIアプリケーションでは、構成ファイルに次のセクションを作成する必要があります。次のいずれかのタスクをクリックすると、そのタスクの実行に関する説明が表示されます。
- 構成ファイルのRESOURCESセクションの作成方法
- 構成ファイルのMACHINESセクションの作成方法
- 構成ファイルのGROUPSセクションの作成方法
- 構成ファイルのNETWORKセクションの作成方法
- 構成ファイルのNETGROUPSセクションの作成方法
- 構成ファイルのSERVERSセクションの作成方法
- 構成ファイルのSERVICESセクションの作成方法
- 構成ファイルのROUTINGセクションの作成方法
ノート:
Oracle Tuxedoシステムで分散型のCORBAアプリケーション用の構成ファイルを作成する方法の詳細は、『CORBAアプリケーションのスケーリング、配布およびチューニング』ガイドを参照してください。次の図は、該当領域で指定されたセクションを作成する方法を示しています。
図3-2 該当領域で指定されたセクションを作成する方法

親トピック: 構成ファイルの作成
3.4 複数のドメインにまたがるアプリケーション用の構成ファイル
複数ドメインの構成では、参加しているドメインごとに2つの構成ファイルを作成する必要があります。
-
UBBCONFIG
- アプリケーション構成ファイル -
DMCONFIG
- ドメイン構成ファイル
2つのドメイン(たとえば、ローカル・ドメインのlapp
とリモート・ドメインのrapp
)から構成されるアプリケーションでは、次のタスクが必要です。
各作業をクリックすると、その作業を行う手順が表示されます。
次の図は、複数のドメインにまたがるサンプル・アプリケーションの構成タスクを示しています。
図3-3 複数のドメインにまたがるサンプル・アプリケーションの構成タスク

次の図は、2つのドメインにまたがるアプリケーションの構成に必要なUBBCONFIG
ファイルとDMCONFIG
ファイルのセクションを示しています。一方のドメインがローカル・ドメインを表し、もう一方のドメインがリモート・ドメインを表しています。
次の図は、構成ファイルの該当セクションを作成する手順を示しています。
図3-4 複数のドメインにまたがるアプリケーションの構成

関連項目:
- 『Oracle Tuxedo Domainsコンポーネントの使用』の「Domainsについて」
- 『Oracle Tuxedo Domainsコンポーネントの使用』の「ATMI Domainsの計画と構成」
- 『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』の
DMCONFIG(5)
に関する項
親トピック: 構成ファイルの作成
3.5 構成ファイルのRESOURCESセクションの作成方法
構成ファイルの最初のセクションは、RESOURCES
セクションである必要があります。このセクションで定義されるパラメータは、アプリケーション全体を制御し、システム全体のデフォルトとして機能します。ただし、MACHINES
セクションに他の値を割り当てることで、RESOURCES
パラメータの値をマシンごとにオーバーライドできます。
次の表に、RESOURCES
セクションの各パラメータの説明を示し、リファレンス・ページへのリンクや追加情報を示します。
表3-1 説明、リファレンス・ページへのリンクおよび追加情報
RESOURCESセクションで指定する情報 | パラメータ(必須/省略可能) | 参照先(クリックするとリンク先にジャンプ) |
---|---|---|
プロセス間通信(IPC)リソースの一意のアドレス | IPCKEY (必須)
|
共有メモリー・アドレス |
セキュリティ・アクセス | UID、GID およびPERM (オプション)
|
セキュリティ・アクセス |
掲示板に同時に接続できるプロセスの最大数 | MAXACCESSERS (オプション)
|
IPCの上限値 |
掲示板のサーバー表エントリの最大数 | MAXSERVERS (オプション)
|
IPCの上限値 |
掲示板のサービス表エントリの最大数 | MAXSERVICES (オプション)
|
IPCの上限値 |
CORBAインタフェースの最大数 | MAXINTERFACES (オプション)
|
IPCの上限値 |
CORBAオブジェクトの最大数 | MAXOBJECTS (オプション)
|
IPCの上限値 |
起動、停止およびその他の管理タスクの実行時の特別掲示板連絡(DBBL)の場所 | MASTER (必須)
|
マスター・プロセッサ |
掲示板アーキテクチャ | MODEL 、SHM またはMP 、およびLAN またはMIGRATE オプション(必須)
|
アプリケーション・タイプ |
セキュリティ・レベル | SECURITY 、AUTHSVC (オプション)
|
セキュリティ・レベル |
ID確認のためのプロセスのプリンシパル名、プリンシパル・ユーザーの秘密キーの場所、およびパスワードを格納する環境変数 | SEC_PRINCIPAL_NAME、SEC_PRINCIPAL_LOCATION およびSEC_PRINCIPAL_PASSVAR
|
セキュリティ属性 |
クライアントが非請求メッセージを検出するデフォルトの方法 | NOTIFY 、USIGNAL (オプション)
|
非請求通知 |
共有メモリーの保護 | SYSTEM_ACCESS (オプション)
|
共有メモリー保護 |
サーバーのロード・バランシングが有効になっているかどうか | LDBAL (オプション)
|
ロード・バランシング |
バッファのタイプとサブタイプの最大数 | MAXBUFTYPE 、MAXBUFSTYPES (オプション)
|
バッファ・タイプ/サブタイプ |
マシンで許可されている会話の最大数 | MAXCONV (オプション)
|
会話数の上限値 |
ネットワーク・グループの最大数 | MAXNETGROUPS (オプション)
|
ネットワーク・グループ |
サニティ・チェックの頻度とブロッキング呼出しの許容時間 | SCANUNIT 、SANITYSCAN 、BLOCKTIME (オプション)
|
サニティ・チェックの頻度とブロッキングのタイムアウト |
親トピック: 構成ファイルの作成
3.5.1 RESOURCESセクションの例
構成ファイルのRESOURCES
セクションの例を次に示します。
* RESOURCES
IPCKEY 39211
UID 0
GID 1
PERM 0660
MAXACCESSERS 75
MAXSERVERS 40
MAXSERVICES 55
MASTER SITE1, SITE2
MODEL MP
OPTIONS LAN, MIGRATE
SECURITY APP_PW
AUTHSVC "AUTHSVC"
NOTIFY DIPIN
SYSTEM_ACCESS PROTECTED, NO_OVERRIDE
LDBAL Y
関連項目:
- 『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』の
UBBCONFIG(5)
に関する項 - 構成ファイルのMACHINESセクションの作成方法
親トピック: 構成ファイルのRESOURCESセクションの作成方法
3.6 アプリケーション・タイプを定義する
Oracle Tuxedoアプリケーションで特に必要なアーキテクチャ上の決定は次のとおりです。
- アプリケーションを単一プロセッサで実行するか、グローバル共有メモリーのあるマルチプロセッサで実行するか
- アプリケーションをネットワーク化するか
- サーバーの移行をサポートするか
MODEL
パラメータとOPTIONS
パラメータを使用して、アプリケーション・タイプを定義します。
MODEL
パラメータは、アプリケーションを単一プロセッサで実行するかどうかを指定します。ユニプロセッサおよびグローバル共有メモリーのあるマルチプロセッサの場合はSHM
に設定されます。グローバル共有メモリーのないマルチプロセッサとネットワーク化されたアプリケーションの場合は、MP
のMODEL
値が使用されます。これは必須パラメータです。
OPTIONS
パラメータは、アプリケーション構成オプションのカンマ区切りリストです。使用可能な2つのオプションは、(ネットワーク構成を示す)LAN
と(アプリケーション・サーバー移行が許可されることを示す)MIGRATE
です。
親トピック: 構成ファイルの作成
3.6.1 MODELおよびOPTIONSパラメータの特性
次に、MODELおよびOPTIONSパラメータの特性を示します。
表3-2 MODELおよびOPTIONSパラメータの特性
パラメータ | 特性 |
---|---|
MODEL
|
このパラメータは省略できません。値SHM はグローバル共有メモリーのある1台のマシンを示します。値MP は、グローバル共有メモリーのない複数のマシン、またはネットワーク・アプリケーションを示します。
|
OPTIONS
|
これは、アプリケーション構成オプションのカンマ区切りリストです。値LANはローカル・エリア・ネットワークを示します。値MIGRATE はサーバー移行を有効にします。
サンプルの |
親トピック: アプリケーション・タイプを定義する
3.6.2 設定例
構成ファイルのRESOURCES
セクションの設定例を次に示します。
*RESOURCES
MODEL MP
OPTIONS LAN, MIGRATE
親トピック: アプリケーション・タイプを定義する
3.7 バッファのタイプとサブタイプの数を制御する
アプリケーションで受け付けられるバッファのタイプおよびサブタイプの数はそれぞれ、MAXBUFTYPE
パラメータおよびMAXBUFSTYPE
パラメータで制御できます。ユーザー定義のバッファ・タイプを多数作成していないかぎり、MAXBUFTYPE
は省略できます。何種類ものVIEW
サブタイプを使用する予定がある場合は、MAXBUFSTYPE
の設定を、現在のデフォルト値より増やしておきます。
表3-3 MAXBUFTYPEおよびMAXBUFSTYPEパラメータの特性
パラメータ | 特性 |
---|---|
MAXBUFTYPE
|
システムで許可されるバッファ・タイプの最大数。8個以上のユーザー定義のバッファ・タイプを作成する場合のみ使用します。MAXBUFTYPE は、0より大きく32,768より小さい値にする必要があります。指定されていない場合、デフォルトは16です。
例: |
MAXBUFSTYPE
|
システムで許可されるバッファ・サブタイプの最大数。MAXBUFSTYPE は、0より大きく32,768より小さい値にする必要があります。指定されていない場合、デフォルトは32です。
例: |
3.7.1 設定例
この例では、バッファ・タイプの最大数は20です。サブタイプの最大数は40です。
*RESOURCES
MAXBUFTYPE 20
MAXBUFSTYPE 40
親トピック: バッファのタイプとサブタイプの数を制御する
3.8 会話の数を制御する
MAXCONV
パラメータで、マシン上の同時会話の最大数を指定できます。MAXCONV
は0より大きく32,768より小さい値にする必要があります。
親トピック: 構成ファイルの作成
3.8.1 MAXCONVパラメータの特性
MAXCONV
パラメータには、次の特性があります:
- 各マシンで許可される同時会話の最大数を定義します。
SERVERS
セクションにリストされる会話サーバーを持つアプリケーションのデフォルトは10です。それ以外の場合、デフォルトは1です。MACHINES
セクションに別の値を指定することで、マシンに対してこのパラメータを上書きできます。
親トピック: 会話の数を制御する
3.9 IPCリソースの上限値を定義する
IPC(プロセス間通信)と共有メモリー掲示板表の大半は、処理速度を上げるために静的に割り当てられるため、それらをチューニングすることが非常に重要です。サイズが過度に豊富な場合、メモリーとIPCリソースが無駄に消費されます。それ以外の場合、限界値を超えると処理が失敗します。tmloadcf -cコマンドを使用し、特定のアプリケーションに必要なIPCリソースの最大量を検索できます。(『Oracle Tuxedoコマンド・リファレンス』のtmloadcf(1)
に関する項を参照してください。)
MAXACCESSERS
、MAXSERVERS
、MAXSERVICES
、MAXINTERFACES
およびMAXOBJECTS
は、IPCサイズ設定を制御するチューニング可能なパラメータです。アプリケーションに割り当てられている共有メモリー量は、MAXGTT
パラメータとMAXCONV
パラメータで制御されます。
表3-4 MAXACCESSERS、MAXSERVERS、MAXSERVICES、MAXINTERFACES、およびMAXOBJECTSパラメータの特性
パラメータ | 特性 |
---|---|
MAXACCESSERS
|
Oracle Tuxedoアプリケーションの特定のサイトの掲示板に同時に接続できるプロセス全体の最大数。この数値には、すべてのクライアントと、システムが提供するサーバーおよびアプリケーション・サーバーが含まれますが、掲示板連絡(BBL)やtmadmin() など、掲示板への予約済アクセス・スロットを持つ管理プロセスは含まれません。
|
MAXSERVERS
|
アプリケーションで使用可能なサーバー・プロセスの最大数。この数値には、すべてのシステム提供サーバーとアプリケーション・サーバーが含まれます。MAXSERVERS の値は、0より大きく8,192より小さい必要があります。指定されていない場合、デフォルトは50です。
|
MAXSERVICES
|
アプリケーションで通知できる様々なOracle Tuxedoサービスの最大数。MAXSERVICES は、0より大きく1,048,574より小さい値にする必要があります。指定されていない場合、デフォルトは100です。
ノート: CORBA環境の場合、各CORBAインタフェースはOracle Tuxedoサービスにマップされます。サービス数に対応するアカウントが生成されていることを確認してください。 |
MAXINTERFACES
|
CORBA環境では、アプリケーションで通知できるCORBAインタフェースの最大数。MAXINTERFACES は、0より大きく32,766より小さい値にする必要があります。指定されていない場合、デフォルトは100です。
ノート: インタフェースのすべてのインスタンスは、掲示板のインタフェース表の同じスロットを占有および再利用します。たとえば、サーバーSVR1 がインタフェースIF1 とIF2 を通知し、SVR2 がインタフェースIF2 とIF3 を通知し、サーバーSVR3 がインタフェースIF3 とIF4 を通知する場合、MAXINTERFACES を計算したときのインタフェース・カウントは(6ではなく)4です。
|
MAXOBJECTS
|
CORBA環境では、アプリケーションでアクティブなCORBAオブジェクトの最大数。MAXOBJECTS は、0より大きく32,766より小さい値にする必要があります。指定されていない場合、デフォルトは100です。
|
ノート:
システムが提供するサーバーの例として、AUTHSVR
、TMQUEUE
、TMQFORWARD
、TMUSREVT
、TMSYSEVT
、TMS
、TMS_QM
、GWTDOMAIN
およびWSL
があります。
MAXACCESSERS
の増加によるコストは、クライアントまたはサーバー・プロセス(アクセサ - 次の注意を参照)のサイトあたり1つの追加セマフォです。MAXACCESSERS
値によって追加されるオーバーヘッドに加えて、システム・プロセスには小さい固定のセマフォ・オーバーヘッドがあります。MAXSERVERS
とMAXSERVICES
の増加のコストは、サーバー、サービス、クライアント・エントリそれぞれに保持される少量の共有メモリーです。これらのパラメータに関する一般的な概念は、アプリケーションの将来の拡張に対応することです。MAXACCESSERS
を精査することの方が重要です。
ノート:
システムは、アクセス・スロットごとに1つのセマフォを掲示板に割り当てます。セマフォは、複数のプロセスが掲示板内の同じ共有メモリーに同時にアクセスすることを防ぐラッチ回路です。リリース7.1より前のOracle Tuxedoでは、アプリケーションのMAXACCESSERS
パラメータとMAXSERVERS
パラメータの両方が、ユーザー・ライセンス・チェック・スキームに関与しました。具体的には、そのマシンのMAXACCESSERS
の数と、アプリケーションですでに実行されている1台以上のマシンのMAXACCESSERS
の数の合計が、MAXSERVERS
の数とアプリケーションのユーザー・ライセンス数の合計を超える場合、マシンの起動は許可されません。したがって、アプリケーションのMAXACCESSERS
の合計数は、MAXSERVERS
の数とアプリケーションのユーザー・ライセンス数の合計以下である必要があります。
Oracle Tuxedoリリース7.1以降のユーザー・ライセンス・チェック・スキームでは、チェックの実行時に、アプリケーションのユーザー・ライセンス数とアプリケーションで現在使用されているライセンス数の2つの要因のみ考慮されます。すべてのユーザー・ライセンスが使用中になると、アプリケーションに新しいクライアントが参加することはできなくなります。
3.9.1 設定例
この例では、一度に最大75プロセス(クライアントおよびサーバー)がシステムにアクセスできます。40台のサーバーが掲示板の55個のサービスを通知できます。
*RESOURCES
MAXACCESSERS 75
MAXSERVERS 40
MAXSERVICES 55
親トピック: IPCリソースの上限値を定義する
3.10 ロード・バランシングを有効にする
Oracle Tuxedoでは、アプリケーション全体に対し、ロード・バランシングのアルゴリズムを使用するかどうかを制御できます。ロード・バランシングを使用すると、ロード・ファクタがシステム内の各サービスに適用され、各サーバーの負荷の合計を追跡できます。各サービス・リクエストは、負荷が最も少ない適切なサーバーに送信されます。
ロード・バランシングを使用する必要があるかどうかを指定するには、LDBAL
パラメータをY
(Yes)またはN
(No)に設定します。デフォルトではN
に設定されます。
ロード・バランシングは、必要な場合(複数のキューを使用するサーバーによってサービスが提供される場合)にのみ使用する必要があります。ロード・バランシングは、1台のサーバー、またはMSSQ(複数サーバー、単一キュー)セット内のサーバーによって提供されるサービスには適していません。構成にこれらのタイプのサービスのみ存在する場合は、LDBAL
パラメータをN
に設定します。LDBAL
がN
に設定され、複数のキューが同じサービスを提供する場合は、最初に使用可能なキューが選択されます。
親トピック: 構成ファイルの作成
3.10.1 LDBALパラメータの特性
LDBAL
パラメータには、次の特性があります:
LDBAL
がY
に設定されている場合は、ロード・バランシングが使用されます。- LDBALが
Y
に設定され、アプリケーションがネットワーク化されている場合は、ローカル・プリファレンスにTMNETLOAD
を使用できます。 LDBAL
がN
に設定されている場合、割り当てられるサーバーは最初に使用可能なサーバーです。- デフォルトは
N
です。 LDBAL
はオーバーヘッドを発生させるため、必要な場合にのみ使用してください。- すべてのOracle Tuxedoサービスが1つのサーバーによってのみ提供される場合は、ロード・バランシングを使用しないでください。
- すべてのOracle Tuxedoサービスが1つの
MSSQ
サーバー・セットによって提供される場合は、ロード・バランシングを使用しないでください。
親トピック: ロード・バランシングを有効にする
3.10.2 設定例
この例では、アプリケーションに対してロード・バランシングが有効になります。
*RESOURCES
LDBAL Y
関連項目:
- 『Oracle Tuxedo ATMIの紹介』の ロード・バランシングに関する項
親トピック: ロード・バランシングを有効にする
3.11 マスター・マシンを識別する
MASTER
マシンは、アプリケーション全体の起動と管理を制御します。MASTER
パラメータを設定することで、すべてのアプリケーションにMASTER
マシンを指定する必要があります。MASTER
の値は、適切なコンピュータの論理マシン識別子(LMID
)です。LMID
は、管理者によって選択された英数字文字列として定義され、MACHINES
セクションのLMID
パラメータに割り当てられています。したがって、たとえばLMID
パラメータの値がSITE1
の場合は、MASTER
の値もSITE1
になります。
アプリケーションを停止せずにMASTER
マシンを停止できるようにするには、MASTER
を移行できる必要があります。移行を有効にするには、LMID
に対してプライマリMASTER
とバックアップMASTER
の2つの値を指定する必要があります。
親トピック: 構成ファイルの作成
3.11.1 MASTERパラメータの特性
MASTER
パラメータには、次の特性があります:
- これは必須であり、起動と管理を制御します。
- マスター・マシンをバックアップするために移行するには、2つの
LMID
が必要です。 - サンプルの
RESOURCES
セクションでは、マスター・サイトはSITE1
、バックアップ・サイトはSITE2
です。
親トピック: マスター・マシンを識別する
3.11.2 設定例
Site1はMASTER
マシンです。SITE2
はバックアップ・マシンです。
*RESOURCES
MASTER SITE1, SITE2
親トピック: マスター・マシンを識別する
3.12 ネットワーク・グループの最大数を指定する
構成ネットワーク・グループの最大数を指定するには、MAXNETGROUPS
パラメータを設定します。この値は、1以上8192未満にする必要があります。デフォルトは8です。このパラメータは省略可能です。
親トピック: 構成ファイルの作成
3.13 正常性チェックおよびブロッキング・タイムアウトを指定する
定期的に(デフォルトでは120秒ごとに)掲示板連絡(BBL)はマシン上のサーバーのサニティをチェックします。ただし、SCANUNIT
パラメータとSANITYSCAN
パラメータを設定することで、これらのチェックの頻度を変更できます。
SANITYSCAN
パラメータを使用して、サーバーのサニティ・チェック間のSCANUNIT
の経過数を指定します。現在のデフォルトは、SANITYSCAN
* SCANUNIT
が約120秒になるように設定されています。
また、BLOCKTIME
パラメータを設定することで、ブロッキング・メッセージ、トランザクションおよびその他のシステム・アクティビティのタイムアウト期間数を指定できます。
ノート:
非トランザクション型のブロッキング時間値は、サービスごと、ATMI呼出しごとおよびコンテキストごとに設定できます。これらのブロック時間値は、UBBCONFIG
ファイルのRESOURCES
セクションで設定されたシステム全体のデフォルトであるBLOCKTIME
値をオーバーライドします。詳細は、「非トランザクション型サービス・レベルのブロック時間を指定する」を参照してください。
3.13.1 SCANUNIT、SANITYSCAN、およびBLOCKTIMEパラメータの特性
表3-5 SCANUNIT、SANITYSCAN、およびBLOCKTIMEパラメータの特性
パラメータ | 特性 |
---|---|
SCANUNIT
|
チェック間隔とタイムアウトのきめ細かく制御します。SCANUNITは、0から60秒の間の2または5の倍数である必要があります。
例: SCANUNIT 10。 デフォルトは10です。 |
SANITYSCAN
|
サーバーのサニティ・チェック間のスキャン単位の経過数を指定します。
SCANUNIT * SANITYSCAN が約120秒になるように設定されます。
|
BLOCKTIME
|
タイムアウトになるまでにメッセージをブロックできる時間の長さを制御します。
SCANUNIT * BLOCKTIME が約60秒になるように設定されます。
|
親トピック: 正常性チェックおよびブロッキング・タイムアウトを指定する
3.13.2 ATMI操作のブロックとタイムアウト
タイムアウトという用語は、クライアントが次の操作を行っている間に経過する時間を総称するために使用されます。
- リクエスト・キューへのメッセージの送信の待機
- 応答キューからのメッセージの受信の待機
- サーバーによる処理
- ネットワーク上の移動
ブロッキング・タイムアウトという用語は、クライアント・リクエストがブロッキング条件のクリアを待機するために費やした時間を表します。非同期サービス・リクエストおよび会話のブロック・タイムアウトは、個々の送信操作と受信操作に適用されます。プロセスがtpacall
(3c)、tpconnect
(3c)またはtpsend
(3c)を使用してメッセージを送信する場合、タイムアウトは、キューが一杯の場合にリクエストがキューに入るまで待機している期間にのみ適用されます。クライアント・プロセスがtpgetrply
(3c)またはtprecv
(3c)呼出しを発行してメッセージを受信する場合、タイムアウトはキューが空の場合にクライアントが着信メッセージを待機できる時間の長さを指定します。
親トピック: 正常性チェックおよびブロッキング・タイムアウトを指定する
3.13.3 設定例
この例では、サニティ・スキャンは30秒ごとに実行され、リクエストが10秒を超えてブロックされることはありません。10のSCANUNIT
と3のSANITYSCAN
により、BBLスキャンの前に10秒のブロックが3回、つまり30秒の経過が許可されます。
*RESOURCES
SCANUNIT 10
SANITYSCAN 3
BLOCKTIME 1
親トピック: 正常性チェックおよびブロッキング・タイムアウトを指定する
3.14 オペレーティング・システム・レベルのセキュリティを設定する
UID
、GID
、PERM
の3つのパラメータを設定することで、Oracle Tuxedo管理機能へのアクセスを認可された管理者のみに制限できます。
MACHINES
セクションで指定された値をオーバーライドしていないかぎり、UID
およびGID
のデフォルトは、それぞれ構成に対してtmloadcf(1)
コマンドを実行するユーザーのユーザーIDとグループIDです。
表3-6 UID、GID、およびPERMパラメータの特性
パラメータ | 特性 |
---|---|
UID
|
管理者のユーザーID。値は、システムを起動および停止するユーザーのUNIXシステム・ユーザーIDに対応する数値文字列です。デフォルトは、tmloadcf(1) を実行するユーザーのユーザーIDです。
例: ノート: Windowsでは、この値を0に設定する必要があります。 |
GID
|
管理者の数値グループID。デフォルトは、tmloadcf(1) を実行するユーザーのグループIDです。
例: ノート: Windowsでは、この値を0に設定する必要があります。 |
PERM
|
値は、アプリケーションの起動時に作成されたIPCリソースの権限を指定する8進数です。このパラメータは、Oracle TuxedoシステムIPC構造を無認可アクセスから保護する最初のレベルを提供します。本番アプリケーションではこれらの値を指定する必要があります。デフォルトは0600で、すべてに対する読取り/書込みアクセス権を付与します。例: PERM=0660
|
ノート:
リモート・マシンに対してこれらのパラメータに割り当てられている値を上書きできます。リモート・マシン上のユーザーIDとグループIDは、MASTER
マシン上のユーザーIDおよびグループIDと同じである必要はありません。構成ファイルのMACHINES
セクションに別のユーザーIDとグループIDを指定することで、デフォルトをオーバーライドできます。指定されていない場合は、RESOURCES
セクションに指定されている値が使用されます。
親トピック: 構成ファイルの作成
3.15 セキュリティ・レベルを指定する
次の3つのセキュリティ・レベルを設定できます。
-
PERM
パラメータ - 権限を介してアプリケーション・キューへの書込み機能を制限することで最小限のセキュリティを提供します。 -
SECURITY
パラメータ - より高いセキュリティを提供します。このパラメータが設定されている場合、クライアントはアプリケーションに参加するときにパスワードを指定する必要があります。このパスワードは、TUXCONFIG
ファイルがUBBCONFIG
ファイルから生成されたときに管理者が指定したパスワードに照らしてチェックされます -
AUTHSVC
パラメータ - 最大レベルのセキュリティを設定します。このパラメータが設定されている場合、アプリケーションに参加するためのクライアント・リクエストは認証サービスに送信されます。認証サービスは、Oracle Tuxedoシステムで提供されるデフォルトのサービスまたはKerberosサービスなどのサード・パーティ・ベンダーのサービスです。このレベルのセキュリティは、SECURITY
パラメータが設定されていないかぎり使用できません。
ノート:
LDAPシングル・セキュリティ管理を有効化するには、UBBCONFIG
ファイルのSERVERS
セクションでLAUTHSVR
を設定する必要があります。
認証および認可の拡張セキュリティ管理を有効化するには、UBBCONFIG
ファイルのSERVERS
セクションでXAUTHSVR
を設定する必要があります。
表3-7 SECURITY、AUTHSVC、およびOPTIONSパラメータの特性
パラメータ | 特性 |
---|---|
SECURITY
|
アプリケーションへの参加にパスワードを要求するセキュリティ・レベル。指定できる値は、NONE (デフォルト)、APP_PW、USER_AUTH 、ACL およびMANDATORY_ACL です。
LDAPシングル・セキュリティ管理または拡張セキュリティ管理を有効化するには、 NONE です。
例: |
AUTHSVC
|
認証サービスの名前。
デフォルトは、認証サービスなしです。 Kerberosによるクライアント認証が可能です。 例: AUTHSVC "AUTHSVC" |
OPTIONS
|
拡張セキュリティ管理を有効化するには、OPTIONS をEXT_AA に設定する必要があります。
|
関連項目:
- 『ATMIアプリケーションにおけるセキュリティの使用』の「ATMIのセキュリティの紹介」
- CORBAアプリケーションにおけるセキュリティの使用
- ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス
- Oracle Tuxedoコマンド・リファレンス
親トピック: 構成ファイルの作成
3.16 サーバーのセキュリティ属性を定義する
SEC_PRINCIPAL_NAME
、SEC_PRINCIPAL_LOCATION
、およびSEC_PRINCIPAL_PASSVAR
パラメータを使用すると、認証用のサーバーのセキュリティ属性を指定できます。
-
SEC_PRINCIPAL_NAME
- 様々なセキュリティ操作で使用するサーバーのプリンシパル名を指定します。 -
SEC_PRINCIPAL_LOCATION
- プリンシパル・ユーザーの秘密キーの場所を指定します。 -
SEC_PRINCIPAL_PASSVAR
- プリンシパル・ユーザーの秘密キーを開くためのパスワードを含む環境変数を指定します。
セクション名 | 指定内容 | オーバーライドされるセクション |
---|---|---|
RESOURCES
|
ドメイン内で起動するすべてのシステム。 | - |
MACHINES
|
マシン上で起動するすべてのシステム。 | RESOURCES
|
GROUPS
|
グループ内で起動するすべてのシステム・サーバーおよび相互運用するアプリケーション・サーバー | MACHINES
|
SERVERS
|
サーバー上で起動するすべてのシステム・サービスおよび相互運用するアプリケーション・サービス | GROUPS
|
ノート:
上記のポリシーは、ワークステーション・ハンドラ、Domainsのゲートウェイ処理、および相互運用するアプリケーション・サーバーに適用されます。関連項目:
- 『ATMIアプリケーションにおけるセキュリティの使用』の「ATMIのセキュリティの紹介」
- 『CORBAアプリケーションにおけるセキュリティの使用』のセキュリティの管理に関する項
親トピック: 構成ファイルの作成
3.17 共有メモリーを保護する
SYSTEM_ACCESS
パラメータを使用すると、共有メモリーにあるシステム表を、アプリケーション・クライアントとアプリケーション・サーバーから保護できます。このパラメータを指定しておくと、アプリケーションの開発中に、欠陥のあるアプリケーション・コードが不当なポインタによって誤って共有メモリーの内容を破壊することを防ぐことができます。アプリケーションが完全にデバッグされ、テストされたら、パラメータの値を変更して、リクエストが早く返されるように設定できます。このパラメータの有効な値は、次のとおりです。
-
PROTECTED
- アプリケーション・コードとともにコンパイルされたOracle Tuxedoライブラリは、システム・コードの実行中には共有メモリーにアタッチされません。 -
FASTPATH
- Oracle Tuxedoライブラリは、常に共有メモリーにアタッチされます。
値を選択した後でNO_OVERRIDE
を指定すると、選択したオプションをクライアントや管理者が変更できなくなります(クライアントの場合はtpinit ()
呼出しのTPINIT
構造体、管理者の場合はサーバーのSERVERS
セクションで指定)。
表3-8 PROTECTED、FASTPATH、およびNO_OVERRIDEパラメータの特性
パラメータ | 特性 |
---|---|
PROTECTED
|
共有メモリーの内部構造体が、アプリケーション・プロセスによって誤って破壊されるのを防ぎます。 |
FASTPATH (デフォルト)
|
アプリケーション・プロセスは、常に共有メモリーへのアクセス権を保持した状態でアプリケーションに参加します。 |
NO_OVERRIDE
|
指定されたオプション(PROTECTED またはFASTPATH )は変更できません。
|
3.18 アプリケーションのシステム・リソースのアドレスを設定する
共有メモリーのアドレスを設定するには、IPCKEY
パラメータを設定します。このパラメータにより、Oracle Tuxedoシステムは、アプリケーションに対してIPCリソースを割り当てます。これにより、新たにアプリケーションに参加したプロセスはIPCリソースを簡単に見つけることができます。キーの値は、新しいアプリケーション・プロセスに対して掲示板、メッセージ・キュー、およびセマフォを割り当てるために内部で使用されます。単一プロセッサ・モードでは、このキーが掲示板を指定します。マルチプロセッサ・モードでは、このキーがDBBLのメッセージ・キューを指定します。
親トピック: 構成ファイルの作成
3.18.1 IPCKEYパラメータの特性
IPCKEY
パラメータには、次の特性があります:
- これは必須です。
- 掲示板およびその他のIPCリソースへのアクセスを設定するために使用されます。
- 32,769 - 262,144の範囲の整数を設定します。
- システム上の他のアプリケーションの
IPCKEY
パラメータに同じ値を使用することはできません。値は、すべてのアプリケーションで一意でなければなりません。
親トピック: アプリケーションのシステム・リソースのアドレスを設定する
3.19 非請求メッセージの受信方法を指定する
NOTIFY
パラメータを設定すると、クライアントが非請求メッセージを受信するデフォルトの方法を選択できます。ただし、クライアントは、tpinit()
を呼び出してこの選択をオーバーライドできます。
以下の4つの方法が可能です。
-
IGNORE
- クライアントは、非請求メッセージを無視します。 -
DIPIN
- クライアントは、tpchkunsol ()
を呼び出したとき、またはATMI呼出しを行ったときにのみ非請求メッセージを受信します。 -
SIGNAL
- クライアントは、シグナル・ハンドラに関数を呼び出させるシグナルをシステムに生成させ、つまり、tpsetunsol ()
を設定して、非請求メッセージを受信します。ノート:
この方法は、マルチスレッド化されたアプリケーションまたはマルチコンテキスト化されたアプリケーションでは使用できません。 -
THREAD
- 非請求メッセージは、Oracle Tuxedoシステムがこの目的で管理する別のスレッドによって処理されます。
USIGNAL
パラメータは、SIGNAL
ベースの通知を使用する場合に使用されるシグナルを指定します。SIGUSR1
とSIGUSR2
の2種類のシグナルが生成されます。デフォルト設定はSIGUSR2
です。この方法を使用すると、直ちに通知を返すことができますが、ネイティブ・クライアントを実行しているときは、制限があります。つまり、送信プロセス側のユーザーIDが同じでなければなりません。ただし、ワークステーション・クライアントには、この制限はありません。
ノート:
この方法を適用できないプラットフォームもあります。3.19.1 NOTIFYおよびUSIGNALパラメータの特性
パラメータ | 特性 |
---|---|
NOTIFY
|
値IGNORE は、クライアントが非請求メッセージを無視することを示します。
値 値 デフォルトは 例: |
USIGNAL
|
SIGUSR1 とSIGUSR2 の値は、クライアントにこのタイプのシグナルを通知することを意味します。
デフォルトは 例: |
親トピック: 非請求メッセージの受信方法を指定する
3.20 構成ファイルのMACHINESセクションの作成方法
構成ファイルの2番目のセクションには、必ずMACHINES
セクションを指定します。MACHINES
セクションでは、アプリケーション内の各マシンに対するパラメータを定義します。これらのパラメータは、次の情報を指定します。
- マシン・アドレスから論理識別子(
LMID
)へのマッピング - 構成ファイル(
TUXCONFIG
)の場所 - インストールされているOracle Tuxedoソフトウェアの場所(
TUXDIR
) - アプリケーション・サーバーの場所(
APPDIR
) - アプリケーション・ログ・ファイル(
ULOGPFX
)の場所 - 環境ファイル(
ENVFILE
)の場所
ノート:
UID
、GID
、PERM
、MAXACCESSERS
、MAXOBJECTS
、MAXCONV
、およびMAXGTT
は、オーバーライドできます。MAXGTT
以外のパラメータについては、RESOURCES
セクションを参照してください。
次の表に、MACHINES
セクションの各パラメータの説明を示し、リファレンス・ページへのリンクや追加情報を示します。
表3-9 構成ファイルのMACHINESセクションの作成方法
MACHINESセクションで指定する情報 | パラメータ(必須/省略可能) | 参照先(クリックするとリンク先にジャンプ) |
---|---|---|
SECURITY がACL またはMANDATORY_ACL に設定されている場合のキャッシュ内のACL用エントリ数。
|
MAXACLCACHE (オプション)
|
キャッシュ内のACL用エントリ |
このマシンから別のマシンにサービス・リクエストを送信するコストを計算するときに追加する負荷。 | NETLOAD (オプション)
|
負荷の追加 |
アドレス(物理プロセッサの名前)とコンピュータの論理名。他のすべてのエントリは、このアドレスに指定されたマシンに関する情報を指定します。コンピュータの論理名は、LMID パラメータで指定します。
|
LMID (必須)
|
アドレスとマシンID |
UNIXセマフォ上のプロセスをブロックするまでに実行する、ユーザー・レベルでの掲示板のロック回数。 | SPINCOUNT (オプション)
|
掲示板のロックの上限値 |
マシンをクラスにグループ化するときに使用する値。 | TYPE (オプション)
|
クラスごとのグループ化の値 |
バイナリ形式のTUXCONFIG ファイルが置かれているマシン上のファイルまたはデバイスの絶対パス名。
ノート: このパラメータに指定するパス名は、TUXCONFIG環境変数に指定したパス名(大文字/小文字の区別も含む)と完全に一致する必要があります。パス名が一致していない場合、tmloadcf(1) は正常に実行されません。
|
TUXCONFIG (必須)
|
構成ファイルの場所 |
特定のマシン上のプロセスが同時に参加できる会話の最大数。 | MAXCONV (オプション)
|
会話数の上限値 |
このマシンのDTPトランザクション・ログのサイズ(ページ単位)。 | TLOGSIZE (オプション)
|
DTP TLOG のサイズ |
このマシンのDTPトランザクション・ログの名前を指定します。 | TLOGNAME (オプション)
|
DTPトランザクション・ログの名前 |
マシン上のすべてのクライアントとサーバーを、指定したファイルの環境で実行する値。 | ENVFILE (オプション)
|
環境変数の設定 |
このマシンのDTPトランザクション・ログ(TLOG )を格納するOracle Tuxedoのファイル・システム。
|
TLOGDEVICE (オプション)
|
TLOG を含むファイル・システム |
このプロセッサ上で、掲示板に同時にアクセスできるプロセスの最大数。 | MAXACCESSERS (オプション)
|
IPCの上限値 |
CORBA環境で、このプロセッサのアクティブ・オブジェクト表に同時に対応できるCORBAオブジェクトの最大数。 | MAXOBJECTS (オプション)
|
IPCの上限値 |
特定のマシンが同時に関与できるグローバル・トランザクションの最大数。 | MAXGTT (オプション)
|
同時に関与できるグローバル・トランザクションの上限値 |
ワークステーション・クライアント用に予約されている、このプロセッサのアクセサのエントリ数。このパラメータは、Oracle Tuxedoシステムのワークステーション・コンポーネントが使用される場合のみ指定されます。 | MAXWSCLIENTS (オプション)
|
ワークステーション・アクセサのエントリの上限値 |
ブリッジ・プロセスで送信されるのを待つメッセージに対して割り当てられる領域の上限。 | MAXPENDINGBYTES (オプション)
|
メッセージ領域の制限 |
デバイスの先頭からOracle Tuxedoファイル・システムの開始点(このマシンのDTPトランザクション・ログを格納)までのページ単位の数値のオフセット。 | TLOGOFFSET (オプション)
|
DTP TLOGを含む数値のオフセット |
デバイスの先頭からOracle Tuxedoファイル・システムの開始点(このマシンのTUXCONFIG ファイルを格納)までのページ単位の数値のオフセット。
|
TUXOFFSET (オプション)
|
TUXCONFIG を含む数値のオフセット |
掲示板用に作成されたIPC構造体に関連付けるグループIDの数値。有効な値は0 - 2147483647です。値を指定しない場合、デフォルトでRESOURCES セクションの値が指定されます。
|
GID (オプション)
|
セキュリティ・アクセス |
掲示板を実装するIPC構造体に関連付けられている権限を示す数値。このパラメータは、通常のUNIXシステムの規則に従って(8進数の0600など)、プロセスの読取り権または書込み権を指定します。値は0001以上0777以下の範囲で指定できます。値を指定しない場合、デフォルトでRESOURCES セクションの値が指定されます。
|
PERM (オプション)
|
セキュリティ・アクセス |
掲示板用に作成されたIPC構造体に関連付けるユーザーIDの数値。有効な値は0 - 2147483647です。値を指定しない場合、デフォルトでRESOURCES セクションの値が指定されます。
|
UID (オプション)
|
セキュリティ・アクセス |
ID確認のためのプロセスのプリンシパル名、プリンシパル・ユーザーの秘密キーの場所、およびパスワードを格納する環境変数 | SEC_PRINCIPAL_NAME、SEC_PRINCIPAL_LOCATION、SEC_PRINCIPAL_PASSVAR
|
セキュリティ属性 |
アプリケーション・ディレクトリ(APPDIR )の絶対パス名。このディレクトリは、このマシンで起動するすべてのアプリケーションおよび管理サーバーのカレント・ディレクトリになります。また、Oracle Tuxedoシステム・ソフトウェアのインストール先ディレクトリの絶対パス名でもあります。
|
TUXDIR (必須)
|
システム・ソフトウェアおよびアプリケーション・ソフトウェアの場所 |
リモート・プロセス(string_value1 )およびローカル・プロセス(string_value2 )にバインドされる、自動データ圧縮が実行されるメッセージのメッセージ・サイズのしきい値。
|
CMPLIMIT (オプション)
|
メッセージ・サイズのしきい値 |
このマシンのuserlog(3c) メッセージ・ファイル名の接頭辞として使用されるフルパス名。
|
ULOGPFX (オプション)
|
ULOG のパス名 |
親トピック: 構成ファイルの作成
3.20.1 MACHINESセクションの例
次に、ATMI環境の構成ファイルのMACHINES
セクションの例を示します。
*MACHINES
gumby LMID=SITE1
TUXDIR=”/tuxdir”
APPDIR=”/home/apps/mortgage”
TUXCONFIG=”/home/apps/mortgage/tuxconfig”
ENVFILE=”/home/apps/mortgage/ENVFILE”
ULOGPFX=”/home/apps/mortgage/logs/ULOG”
MAXACCESSERS=100
MAXCONV=15
次に、CORBA環境の構成ファイルのMACHINES
セクションの例を示します。
*MACHINES
gumby LMID=SITE1
TUXDIR=”/tuxdir”
APPDIR=”/home/apps/mortgage”
TUXCONFIG=”/home/apps/mortgage/tuxconfig”
ENVFILE=”/home/apps/mortgage/ENVFILE” MAXOBJECTS=700
ULOGPFX=”/home/apps/mortgage/logs/ULOG”
MAXACCESSERS=100
3.20.1.1 MACHINESセクションの例のパラメータ
上のMACHINES
セクションの例では、以下のパラメータと値が指定されています。
パラメータ | 意味 |
---|---|
gumby
|
UNIXシステムでuname -n コマンドを使用して取得されるマシン名。Windowsシステムの場合は、「コントロール・パネル」の「ネットワーク」にある「コンピュータ名」で指定します。名前はすべて大文字で指定します。 |
LMID=SITE1
|
マシンgumbyの論理マシン識別子。 |
TUXDIR
|
インストールされているOracle Tuxedoソフトウェアへのフルパス。二重引用符で囲みます。 |
APPDIR
|
アプリケーション・ディレクトリへのフルパス。二重引用符で囲みます。 |
TUXCONFIG
|
構成ファイルのフルパス名。二重引用符で囲みます。
ノート: このパラメータに指定するパス名は、TUXCONFIG環境変数に指定したパス名(大文字/小文字の区別も含む)と完全に一致しなければなりません。パス名が一致していない場合、tmloadcf(1) は正常に実行されません。
|
ENVFILE
|
環境情報を含むファイルのフルパス名。二重引用符で囲みます。 |
ULOGPEX
|
ログ・ファイルの接頭辞として使用する名前のフルパス名。二重引用符で囲みます。 |
MAXACCESSERS
|
このマシンに対し、システム全体にわたる値(RESOURCES セクションで定義済)を100 にオーバーライドします。
|
MAXOBJECTS
|
CORBAサンプルで使用。このマシンに対し、システム全体にわたる値(RESOURCES セクションで定義済)を700 にオーバーライドします。
|
MAXCONV
|
このマシンに対し、システム全体にわたる値(RESOURCES セクションで定義済)を15 にオーバーライドします。
|
親トピック: MACHINESセクションの例
3.20.1.2 MACHINESセクションの例のカスタマイズ方法
MACHINES
セクションをカスタマイズするには、次を指定します:
- gumbyのマシン名
- Windowsシステムの場合、マシン名は大文字で指定する必要があります。
- Oracle Tuxedoソフトウェアが格納されているディレクトリのフルパス名。
TUXDIR
で指定します。 APPDIR
の値としてのアプリケーション・ディレクトリのフルパスENVFILE
、TUXCONFIG
、およびULOGPFX
のシステム上でのフルパス名。
関連項目:
- 『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のUBBCONFIG(5)に関する項
- 構成ファイルのGROUPSセクションの作成方法
親トピック: MACHINESセクションの例
3.21 キャッシュ内のACL用エントリの最大数を指定する
SECURITY
がACL
またはMANDATORY_ACL
に設定されている場合は、MAXACLCACHE
パラメータを使用して、キャッシュ内のACLエントリ数を指定できます。このパラメータに適切な値を設定すると、以下のことを実現できます。
- 共有メモリーのリソースを節約できます。
- ACLをチェックするためのディスクへのアクセス数を少なくすることができます。
値には、10 - 30,000を指定します。デフォルトは100です。
親トピック: 構成ファイルの作成
3.22 サービス・リクエストの負荷を定義する
NETLOAD
パラメータを使用して、あるマシンから別のマシンにサービス・リクエストを送信するコストの計算時に加算する負荷を指定できます。この値は0以上、32,768未満の数値にする必要があります。デフォルトは0です。
関連項目:
- 『Oracle Tuxedo ATMIの紹介』のロード・バランシングに関する項
親トピック: 構成ファイルの作成
3.23 物理アドレスとマシンIDを予約する
最初に、アドレス部分にMASTER
マシンのアドレスを定義します(これはMACHINES
セクション・エントリの基礎になります)。エントリの他のすべてのパラメータは、このアドレスで指定されたマシンを記述します。UNIXシステムでuname -n
を呼び出すことで、出力する値にアドレスを設定する必要があります。Windowsシステムでは、「ネットワーク」コントロール パネルの「ネットワークID」ダイアログで「コンピュータ名」の値を参照してください。
LMID
パラメータは必須パラメータです。このパラメータは、アドレスを指定したばかりのコンピュータを示す論理名を指定します。論理名には、アプリケーション内のマシン間で一意の英数字を指定します。
親トピック: 構成ファイルの作成
3.23.1 アドレスとLMIDパラメータの特性
アドレスおよびマシンIDには、以下の特性があります。
- アドレスおよびマシンIDは、次の形式で指定します。
address LMID=logical_machine_name
アドレス(address)は、物理プロセッサ名を示します。
LMID
は、次の形式で指定します。LMID=logical_machine_name
LMID
は物理プロセッサに対する論理マシン名です。論理マシン名には、MACHINES
セクションで一意の英数字を指定します。
親トピック: 物理アドレスとマシンIDを予約する
3.24 ロック・スピンの回数を設定する
Oracle Tuxedoシステムの一部の操作(サービス名のルックアップやトランザクションなど)では、掲示板をロックし、掲示板へのアクセスを1つのプロセスだけに制限する場合があります。プロセスまたはスレッドの処理中に、別のプロセスまたはスレッドによって掲示板がロックされていることがわかると、その処理は再試行されるか、またはSPINCOUNT
で指定された回数のロック・スピンが行われます。指定された回数のロック・スピンが行われた後、処理はキューでスリープ状態になります。スリープ状態はリソースを消費するため、一定のロック・スピンを行ってからスリープ状態になるように設定しておく方が効率的です。
親トピック: 構成ファイルの作成
3.24.1 SPINCOUNTパラメータの特性
SPINCOUNT
パラメータの値は、アプリケーションおよびシステムによって異なりますが、以下の基本的なガイドラインを覚えておくと便利です。
- ユニプロセッサ・システム上のプロセスは、ロック・スピンができません。ユニプロセッサ・システムのプロセスがアクセスした掲示板がロックされている場合、そのプロセスは、できるだけ早く実行状態に戻されなければなりません。ただし、これは、新しいプロセスが直ちに中断されなければ実現できません。
- ユニプロセッサの場合、
SPINCOUNT
の適切な値は1です。 - マルチプロセッサの場合、
SPINCOUNT
を5,000から始めるのが適切ですが、場合によっては100,000が適切です。 SPINCOUNT
の値を設定した後で、アプリケーションのスループットを確認します。SPINCOUNT
の値は、TMIB
を使用してシステムの実行中に調整できます。
親トピック: ロック・スピンの回数を設定する
3.25 マシンをタイプ別に指定する
TYPE
パラメータを使用すると、マシンをクラスごとにグループ化できます。TYPE
には、15文字以下の任意の文字列を設定できます。
親トピック: 構成ファイルの作成
3.25.1 TYPEパラメータの特性
- 2つのマシンに対して同じ
TYPE
が指定されている場合、これらのマシン間では、データのエンコードおよびデコードは行われません。 -
TYPE
には、任意の文字列値を指定できます。このパラメータは、比較のために使用します。 TYPE
パラメータは、アプリケーションが異機種ネットワークのマシンで構成されている場合、またはネットワーク内のマシン上で様々なコンパイラを使用している場合に使用します。- このパラメータを指定しない場合は、デフォルトでNULL文字列になり、値が指定されないすべてのエントリが対象となります。
親トピック: マシンをタイプ別に指定する
3.26 構成ファイルの場所を識別する
マシンを識別するエントリの構成ファイルの場所とファイル名を識別するには、必須パラメータであるTUXCONFIG
を設定します。TUXCONFIG
パラメータの値は二重引用符で囲まれ、最大64文字のフルパス名を表します。
ノート:
このパラメータに指定するパス名は、TUXCONFIG環境変数に指定したパス名(大文字/小文字の区別も含む)と完全に一致しなければなりません。パス名が一致していない場合、tmloadcf(1)
は正常に実行されません。
親トピック: 構成ファイルの作成
3.26.1 TUXCONFIGパラメータの特性
TUXCONFIG
パラメータには、以下の特性があります。
TUXCONFIG
パラメータの構文は、TUXCONFIG=
"full_path_of_tuxconfig"です。- このパラメータは、構成ファイルの場所およびファイル名を識別します。
TUXCONFIG
には、64文字以下の文字列を指定できます。TUXCONFIG
の値は、TUXCONFIG
環境変数の値と一致していなければなりません。
親トピック: 構成ファイルの場所を識別する
3.27 DTPトランザクション・ログのサイズを指定する
TLOGSIZE
パラメータを使用して、このマシンのDTPトランザクション・ログのサイズをページ単位で指定します。この値は、オペレーティング・システムのファイル・システム上の使用可能な容量に応じて、0より大きく2048以下の数値にする必要があります。デフォルトは100ページです。
親トピック: 構成ファイルの作成
3.28 DTPトランザクション・ログの名前を定義する
TLOGNAME
パラメータは、このマシンのDTPトランザクション・ログの名前を定義します。デフォルトは、TLOG
です。1つのTLOGDEVICE
に複数のTLOG
がある場合、各TLOGの名前は一意でなければなりません。TLOGNAME
には、TLOG
表の作成先であるTLOGDEVICE
のVTOC
(ボリューム・リスト)内の表名とは異なる名前を指定する必要があります。TLOGNAME
には、30文字以下の英数字を指定します。
親トピック: 構成ファイルの作成
3.29 環境変数の設定を指定する
ENVFILE
パラメータを使用すると、Oracle Tuxedoシステムが起動するすべてのプロセスに対する環境変数を格納したファイルを指定できます。各プロセスのTUXDIR
およびAPPDIR
は、システム側で設定されます。したがって、これらのパラメータはファイル内で指定しないでください。
ただし、アプリケーション操作に関連する次のパラメータについては、環境設定を指定できます。
-
FIELDTBLS、FLDTBLDIR
-
VIEWFILES、VIEWDIR
-
TMCMPLIMIT
-
TMNETLOAD
親トピック: 構成ファイルの作成
3.29.1 ENVFILEパラメータの特性
ENVFILE
は、次の特性を持つオプションのパラメータです:
ENVFILE
パラメータの値の構文は、ENVFILE="envfile"
のように文字列を二重引用符で囲みます。-
ENVFILE
は、Oracle Tuxedoシステムが起動するすべてのプロセスに対する環境変数設定を格納するファイルです。(UBBCONFIG
ファイルは、同様の方法、つまり完全修飾パス名を使用して警告を生成します。) FIELDTBLS
、FLDTBLDIR
などを設定しますが、TUXDIR
とAPPDIR
は設定しません。- 設定はすべてハードコード化する必要があります。
FLDTBLDIR=$APPDIR
などの評価を伴う設定はできません。 - ファイルのエントリの形式は、
VARIABLE
です。=
string
環境変数の設定の詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のtuxenv (5)
に関する項を参照してください。
親トピック: 環境変数の設定を指定する
3.30 TLOGを含むOracle Tuxedoファイル・システムを定義する
TLOGDEVICE
パラメータは、該当するマシンのDTPトランザクション・ログ(TLOG
)を含むOracle Tuxedoのファイル・システムを指定します。TLOG
は、Oracle TuxedoシステムのVTOC表としてデバイスに格納されています。TLOGDEVICE
の値は、64文字以下の文字列でなければなりません。
このパラメータが指定されていない場合は、マシンにTLOG
がないことが想定されます。
親トピック: 構成ファイルの作成
3.31 マシンで同時に実行できるグローバル・トランザクションの最大数を指定する
MAXGTT
パラメータは、特定のマシンが同時に関与できるグローバル・トランザクションの最大数を指定します。この値は0以上、32,768未満の数値にする必要があります。RESOURCES
セクションで指定した値は、MACHINES
セクションでマシンごとにオーバーライドできます。
親トピック: 構成ファイルの作成
3.32 ワークステーション・クライアントのアクセサ・エントリ数を定義する
MAXWSCLIENTS
パラメータは、ワークステーション・クライアント用に確保しておくマシン上のエントリ数を定義します。MAXWSCLIENTS
用に確保しておくアクセサ・スロットの数は、慎重に設定してください。この値は、このマシンのMAXACCESSERS
で指定したアクセサ総数のうちの一部になります。このマシンのその他のクライアントやサーバーは、MAXWSCLIENTS
用に確保されたアクセサ・スロットを使用できません。ワークステーション・クライアントからのシステムへのアクセスは、Oracle Tuxedoシステムに組み込まれている代理プロセス、つまりOracle Tuxedoワークステーション・ハンドラ(WSH)によって多重化されます。そのため、このパラメータを適切に設定すると、IPCリソースを節約できます。
MAXWSCLIENTS
の値は0以上32,768未満である必要があります。指定されていない場合、デフォルトは0です。このパラメータをMAXACCESSERS
より大きい数値に設定することはできません。
ノート:
MAXWSCLIENTS
の値は、ライセンス供与されているユーザー数によって制限されます。
親トピック: 構成ファイルの作成
3.33 BRIDGE経由で送信されるメッセージ用の領域を定義する
MAXPENDINGBYTES
パラメータは、BRIDGE
プロセスによる送信を待機するメッセージに割り当てる領域の制限を定義します。値には、100,000からMAXLONG
までの値を指定します。
MAXPENDINGBYTES
が重要になる状況は2つあります。
BRIDGE
が非同期接続をリクエストする場合- すべての回線がビジー状態の場合
メモリーとディスク容量が多い大型コンピュータでは大きなMAXPENDINGBYTES
を設定し、小型のコンピュータでは小さなMAXPENDINGBYTES
を設定できます
親トピック: 構成ファイルの作成
3.34 DTPトランザクション・ログのオフセットを指定する
どのOracle Tuxedoファイル・システムにもボリューム・リスト(VTOC : Volume Table of Contents)があります。これは、汎用デバイス・リスト(UDL : Universal Device List)で指定されたデバイス上のファイルのリストです。UDLには、Oracle Tuxedoシステム表の物理ストレージ・スペースが指定されています。Oracle Tuxedoシステムのアプリケーションでは、すべてのシステム・ファイルを同じrawディスクやオペレーティング・システムのファイル・システム上に格納することができます。
TLOGOFFSET
パラメータは、このマシンのデバイスの先頭からOracle Tuxedoファイル・システムの開始点(このマシンのDTPトランザクション・ログを格納)までのオフセットをページ単位で指定します。オフセットには、0以上でデバイス上のページ数より小さい値を指定します。デフォルトは0です。
親トピック: 構成ファイルの作成
3.35 TUXCONFIGのオフセットを定義する
どのOracle Tuxedoファイル・システムにもボリューム・リスト(VTOC : Volume Table of Contents)があります。これは、汎用デバイス・リスト(UDL : Universal Device List)で指定されたデバイス上のファイルのリストです。UDLには、Oracle Tuxedoシステム表の物理ストレージ・スペースが指定されています。Oracle Tuxedoシステムのアプリケーションでは、すべてのシステム・ファイルを同じrawディスクやオペレーティング・システムのファイル・システム上に格納することができます。
TUXOFFSET
パラメータは、このマシンのデバイスの先頭からOracle Tuxedoファイル・システムの開始点(このマシンのTUXCONFIG
を格納)までのオフセットをページ単位で定義します。(この値が環境でどのように使用されるかについては、MACHINES
セクションのENVFILE
を参照してください。)
親トピック: 構成ファイルの作成
3.35.1 TUXOFFSETパラメータの特性
- オフセットには、0以上でデバイス上のページ数より小さい値を指定します。
- デフォルトのオフセットは0です。
- 0以外の値を指定した場合、
TUXOFFSET
の値はマシン上で起動するすべてのサーバーの環境に置かれます。
親トピック: TUXCONFIGのオフセットを定義する
3.36 システム・ソフトウェアおよびアプリケーション・サーバー・ソフトウェアの場所を識別する
サーバーをサポートするアプリケーション内の各マシンには、Oracle Tuxedoシステム・ソフトウェアとアプリケーション・ソフトウェアのコピーが必要です。TUXDIR
パラメータでシステム・ソフトウェアの場所を指定します。APPDIR
パラメータでアプリケーション・ソフトウェアの場所を指定します。どちらのパラメータも必須です。APPDIR
パラメータは、すべてのサーバー・プロセスの現在の作業ディレクトリになります。Oracle Tuxedoソフトウェアは実行可能ファイルをTUXDIR/bin
および
で探します。
APPDIR
親トピック: 構成ファイルの作成
3.36.1 APPDIRおよびTUXDIRパラメータの特性
表3-10 APPDIRおよびTUXDIRパラメータの特性
パラメータ | 特性 |
---|---|
APPDIR
|
構文は、APPDIR="APPDIR "のようにフルパス名を二重引用符で囲む必要があります。
|
TUXDIR
|
構文は、TUXDIR="TUXDIR "のようにフルパス名を二重引用符で囲む必要があります。
|
3.37 圧縮するメッセージのしきい値を指定する
CMPLIMIT
パラメータを使用して、リモート・プロセス(string_value1)およびローカル・プロセス(string_value2)にバインドされる、自動データ圧縮が実行されるメッセージのメッセージ・サイズのしきい値を定義します。
どちらの値も、負以外の整数または文字列MAXLONG
でなければなりません。値を指定しない場合は、デフォルトのMAXLONG
,MAXLONG
が指定されます。
ノート:
CMPLIMIT
の値を設定した後で、アプリケーションのスループットを確認します。CMPLIMIT
の値は、TMIB
を使用してシステムの実行中に調整できます。
3.38 ULOGのパス名を指定する
ULOGPFX
パラメータを設定すると、マシン上のuserlog
(3c)メッセージ・ファイルの接頭辞として使用する名前のフルパス名を指定できます。指定したマシンのULOGPFX
の値は、このマシン上で実行されるすべてのサーバー、クライアント、および管理プロセスに関するuserlog
(3c)メッセージ・ファイルを作成するために使用されます。このパラメータが指定されない場合、APPDIR
環境変数で指定されたパスが使用されます。mmddyy (月、日、年)が接頭辞に追加されると、完全なログ・ファイル名になります。
親トピック: 構成ファイルの作成
3.38.1 ULOGPFXパラメータの特性
ULOGPFX
パラメータには、次の特性があります:
ULOGPFX
パラメータの値の構文は、ULOGPFX=
"ULOGPFX"のように文字列を二重引用符で囲みます。- アプリケーションのログ・ファイルには、
TPESYSTEM
およびTPEOS
エラーに関するすべてのメッセージが記録されます。 - ユーザー・ログを使用して、アプリケーション・エラーをログ・ファイルに記録できます。
ULOGPFX
は、APPDIR/ULOG
にデフォルト設定されます。- サンプル・ファイル名
BANKLOG.022667
の場合、userlog
の名前の接頭辞は、次のように指定されます。ULOGPFX=
"/mnt/usr/appdir/logs/BANKLOG
"
関連項目:
親トピック: ULOGのパス名を指定する
3.39 構成ファイルのGROUPSセクションの作成方法
GROUPS
セクションでは、複数のサーバーを論理的にグループ化することができます。グループ化したサーバーを使用すると、リソース・マネージャにアクセスしたり、サーバー・グループの移行を簡単に行うことができます。構成ファイルのGROUPS
セクションでは、サーバー・グループが定義されています。アプリケーション・サーバーをマシン上で実行するには、マシンに対して少なくとも1つのサーバー・グループを定義する必要があります。ただし、マシンに対してサーバー・グループが定義されていなくても、アプリケーションの一部にグループを含め、そのサイトから管理コマンドtmadmin(1)
を実行できます。
非トランザクション型、非分散型のシステムでは、グループの構成は比較的単純です。各グループに対して、グループ名をグループ番号および論理マシンIDにマップするだけです。分散トランザクション・システムをサポートする柔軟性も備えられています。
次の表に、GROUPS
セクションの各パラメータの説明を示し、リファレンス・ページへのリンクや追加情報を示します。
表3-11 構成ファイルのGROUPSセクションの作成方法
GROUPSセクションで指定する情報 | パラメータ(必須/省略可能) | 参照先(クリックするとリンク先にジャンプ) |
---|---|---|
グループの論理名。 | GROUPNAME (必須)
|
グループ名 |
このサーバー・グループに関連付けられたグループ番号。0より大きく、30000未満の番号を指定します。番号は、GROUPS セクションのすべてのエントリの中でユニークでなければなりません。
|
GRPNO (必須)
|
グループ番号 |
リソース・マネージャを閉じるときに必要な、リソース・マネージャに依存する情報。 | CLOSEINFO (オプション)
|
リソース・マネージャを閉じるための情報 |
リソース・マネージャを開くときに必要な、リソース・マネージャに依存する情報。 | OPENINFO (オプション)
|
リソース・マネージャを開くための情報 |
TMSNAME が指定されている場合に、関連するグループに対して起動するトランザクション・マネージャ・サーバーの数。
|
TMSCOUNT (オプション)
|
グループ内のTMサーバーの数 |
ID確認のためのプロセスのプリンシパル名、プリンシパル・ユーザーの秘密キーの場所、およびパスワードを格納する環境変数。 | SEC_PRINCIPAL_NAME、SEC_PRINCIPAL_LOCATION、SEC_PRINCIPAL_PASSVAR
|
セキュリティ属性 |
グループ内のすべてのサーバーを、指定したファイルの環境で実行する値。 | ENVFILE (オプション)
|
サーバー・グループ環境 |
このサーバー・グループがMACHINES セクションのstring_value1 でシンボリックに指定されているマシン(または、SHM モードのデフォルト)に存在することを示す値。
|
LMID (必須)
|
サーバー・グループの場所 |
このグループに関連付けられているトランザクション・マネージャ・サーバーの名前。 | TMSNAME (オプション)
|
グループのトランザクション・マネージャ・サーバー |
3.39.1 ATMIのGROUPSセクションの例
次に、ATMI環境の構成ファイルのGROUPS
セクションの例を示します。
##EVBGRP1 LMID=SITE1 GRPNO=104
DEFAULT:TMSNAME=TMS_SQL TMSCOUNT=2 LMID=SITE1
BANKB1GRPNO=1 OPENINFO="TUXEDO/SQL:APPDIR1/bankdl1:bankdb:readwrite"
BANKB2GRPNO=2 OPENINFO="TUXEDO/SQL:APPDIR1/bankdl2:bankdb:readwrite"
BANKB3GRPNO=3 OPENINFO="TUXEDO/SQL:APPDIR1/bankdl3:bankdb:readwrite"
親トピック: 構成ファイルのGROUPSセクションの作成方法
3.39.2 CORBA環境のGROUPSセクションの例
次に、Tuxedo CORBA UniversityのProductionサンプル・アプリケーションのUBBCONFIG
ファイルにある、GROUPS
セクションの例を示します。この例では、UBBCONFIG
ファイルのROUTING
セクションにあるRANGES
識別子で指定されたグループを識別し、構成する必要があります。
Productionサンプルでは、ORA_GRP1、ORA_GRP2、APP_GRP1、
およびAPP_GRP2
の4つのグループが指定されています。これらのグループを構成し、グループが実行されるマシンを識別する必要があります。
*GROUPS
APP_GRP1
LMID = SITE1
GRPNO = 2
TMSNAME = TMS
APP_GRP2
LMID = SITE1
GRPNO = 3
TMSNAME = TMS
ORA_GRP1
LMID = SITE1
GRPNO = 4
OPENINFO = "ORACLE_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=100+LogDir=.+MaxCur=5"
CLOSEINFO = ""
TMSNAME = "TMS_ORA"
ORA_GRP2
LMID = SITE1
GRPNO = 5
OPENINFO = "ORACLE_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=100+LogDir=.+MaxCur=5"
CLOSEINFO = ""
TMSNAME = "TMS_ORA"
上の例は、ORA_GRP1、ORA_GRP2、APP_GRP1
およびAPP_GRP2
グループの構成方法を示しています。GROUPS
セクションの名前がROUTING
セクションで指定されるグループ名とどのように一致するかについては、「University Productionサンプル・アプリケーションのCORBAファクトリ・ベース・ルーティング」を参照してください。ルーティング機能を正しく動作させるには、この一致が重要です。また、アプリケーションでグループを構成する際にグループ名を変更した場合は、ROUTING
セクションにも反映させる必要があります。
ノート:
Oracle Tuxedoソフトウェアに収録されているProductionサンプルは、1台のマシンでのみ実行するように構成されています。ただし、LMID
パラメータで他のマシンを指定することで、複数のマシンで実行するように当該アプリケーションを簡単に構成できます。この方法は、RESOURCES
セクションでMODEL MP
パラメータが指定されていることを前提としています。
関連項目:
親トピック: 構成ファイルのGROUPSセクションの作成方法
3.40 グループ名、グループ番号、およびLMIDを指定する
GROUPS
セクション・エントリの基本であるグループ名は、グループを識別する名前であり、英数字で指定します。グループ名により、グループの論理名(string_value)が決まります。各グループには、必須の一意のグループ番号(GRPNO
)が指定されます。各グループは、すべて1つの論理マシン(LMID
)上に常駐する必要があります。
LMID
は、このサーバー・グループがMACHINES
セクションのstring_value1でシンボリックに指定されているマシンに存在することを示します。
親トピック: 構成ファイルの作成
3.40.1 グループ名、グループ番号、およびLMIDの特性
パラメータ | 特性 |
---|---|
Group_name required_ parameters [optional_ parameters]
|
これは必須です。
グループを識別する英数字名です。 一意であり、グループの論理名を指定します。 |
GRPNO (グループ番号)
|
必須パラメータであり、一意。 |
LMID=string_value1 [,string_value2]
|
これは必須です。
論理マシン名は2つまで指定できます。2つ目の論理名が指定され、サーバー・グループが移行できる場合、サーバー・グループが関連付けられているマシンは移行できます。 |
関連項目:
- 『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のUBBCONFIG(5)に関する項
- 構成ファイルのNETWORKセクションの作成方法
親トピック: グループ名、グループ番号、およびLMIDを指定する
3.41 トランザクション・マネージャ・サーバーの名前とグループごとの数を指定する
分散トランザクション、つまり、複数のリソース・マネージャまたはマシンにわたるトランザクションに参加するサーバーを含むサーバー・グループのエントリには、トランザクション・マネージャ・サーバー(TMS —Transaction Manager Server)を指定する必要があります。TMSを指定するには、TMSNAME
パラメータを設定します。このパラメータは、サーバー・グループの起動時にtmboot(1)
が実行するファイル(string_value)を指定します。
値TMSは、非XAインタフェースを使用することを示すために予約されています。このインタフェースは、リソース・マネージャのないサーバー・グループ用に使用できます。ただし、リソース・マネージャがない場合は、TMSも必要ありません。このサーバー・グループは、トランザクションに関与するメッセージの影響を受けます。「TMS」以外で、さらに空ではない値が指定された場合は、このエントリのLMID
値に関連するマシンに対して、TLOGDEVICE
を指定する必要があります。各TMサーバーには、一意のサーバー識別子が自動的に割り当てられます。サーバーは何度でも再起動できます。
TMSNAME
が指定されている場合は、TMSCOUNT=
numberも指定し、関連するグループに対して起動するトランザクション・マネージャ・サーバーの数を指定する必要があります。TMSCOUNT
のデフォルトは3です。このパラメータに0以外の値を指定する場合、指定できる最小値は2、最大値は256です。サーバーは、自動的にMSSQセットに設定されます。
親トピック: 構成ファイルの作成
3.42 グループ内のサーバーの環境ファイルの場所を識別する
ENVFILE
環境変数(ENVFILE=
string_value)の値に無効なファイル名が指定された場合、環境には何も値が追加されません。各行は、ident =
valueの形式で指定します。identはアンダースコアまたは英数字のみで構成します。
value内の$
{env}という形式の文字列は、ファイルの処理時に、環境内の既存の変数を使用して展開されます。前方参照はサポートされていません。値が設定されていない場合、変数は空の文字列に置換されます。バックスラッシュ(\)を使用すると、ドル記号($)およびバックスラッシュ自体をエスケープできます。その他のシェルのクォーテーションおよびエスケープのメカニズムは無視され、展開されたvalueがそのまま環境に組み込まれます。
環境ファイルは、構成ファイル内の少なくとも2つのセクションに用意されています。Oracle Tuxedoシステムでは、次の順序で環境ファイルが読み取られます。
-
MACHINES
セクションのENVFILE
-
GROUPS
セクションのENVFILE
-
SERVERS
セクションのENVFILE
(オプション)
SERVERS
セクションの値は、GROUPS
セクションの値をオーバーライドします。GROUPS
セクションの値は、MACHINES
セクションの値をオーバーライドします。
親トピック: 構成ファイルの作成
3.43 リソース・マネージャを開くおよび閉じるときに必要な情報を定義する
OPENINFO
およびCLOSEINFO
パラメータには、256以下の英数字で構成する文字列を二重引用符で囲んで指定します。これらの設定は、このグループ(グループ名)のリソース・マネージャを開くおよび閉じるときに必要な、リソース・マネージャに依存する情報を指定します。
このグループのTMSNAME
パラメータが設定されていないか、またはTMS
に設定されている場合、この値は無視されます。TMSNAME
パラメータがTMS
以外の値に設定されており、OPENINFO
がNULL文字列(""
)に設定されているか、または何も設定されていない場合は、グループのリソース・マネージャは存在しますが、open
操作の実行に関する情報は必要ありません。TMSNAME
パラメータがTMS
以外の値に設定されており、CLOSEINFO
文字列にNULL文字列(""
)が設定されているか、または何も設定されていない場合は、グループのリソース・マネージャは存在しますが、close操作の実行に関する情報は必要ありません。
OPENINFO
文字列の形式は、基底のリソース・マネージャのベンダーごとに異なります。ベンダー固有の情報の先頭には、トランザクション・インタフェース(XAインタフェース)の公開名とコロン(:)が付きます。
たとえば、Oracle Tuxedo /Qデータベースの場合、OPENINFO
は次のような形式になります。
- UNIXの場合
OPENINFO = "TUXEDO/QM: qmconfig : qspace "
- Windowsの場合
OPENINFO = "TUXEDO/QM: qmconfig ; qspace "
これらすべての設定では、TUXEDO/QM
がOracle Tuxedo /Q XAインタフェースの公開名で、qmconfigはキュー・スペースが存在するQMCONFIG
(『Oracle Tuxedoコマンド・リファレンス』のqmadmin(1)
に関する項を参照)の名前に置換され、qspaceはキュー・スペースの名前に置換されます。Windowsでは、qmconfigの後に指定する区切り文字として、セミコロン(;
)を使用します。
ノート:
Oracle Tuxedo /Qデータベースでは、CLOSEINFO
文字列は使用されません。
他のベンダーのデータベースの場合、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
tmloadcf()
は、暗号化形式でパスワードをTUXCONFIG
ファイルに格納します。tmunloadcf(1)
を使用してTUXCONFIG
からUBBCONFIG
ファイルを再生成すると、パスワードは@@
で区切られた暗号化形式でそのUBBCONFIG
ファイルに出力されます。例:
OPENINFO="Oracle_XA: Oracle_XA+Acc=P/Scott/@@A0986F7733D4@@+SesTm=30+LogDit=/tmp"
tmloadcf()
の実行時に、tmunloadcf()
によって生成されたUBBCONFIG
ファイル内で暗号化されたパスワードが検出されても、ユーザーに対してパスワードの作成は要求されません。
- dbuserとパスワードが
OPENINFO
文字列に埋め込まれている場合、OPENINFO
は変わりません。 - ウォレットをATPデータベース・インスタンスからダウンロードし、目的の場所を選択して、ディレクトリに解凍します。
- ウォレットの場所は、
$ORACLE_HOME/network/admin/sqlnet.ora
で指定する必要がありますWALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA =(DIRECTORY=" <wallet_directory>"))) SSL_SERVER_DN_MATCH=yes
ノート:
wallet_directoryは、ユーザーがATPデータベース・ウォレットを解凍する場所です。 TNSNAMES.ORA
ファイルの内容をウォレット・ディレクトリからコピーし、$ORACLE_HOME/network/admin/TNSNAMES.ORA
の下にあるTNSNAMES.ORA
ファイルに追加します。- dbuserには、
DBA_PENDING_TRANSACTIONS
への選択アクセス権が必要ですGRANT SELECT ON DBA_PENDING_TRANSACTIONS TO <dbuser>
ユーザーがdbuserとパスワードをOPENINFO
に埋め込まない場合は、次のステップに従う必要があります。
$ORACLE_HOME/network/admin/sqlnet.ora
に、次の行を追加しますSQLNET.WALLET_OVERRIDE = TRUE
- ユーザー名とパスワードをウォレットに追加します
mkstore -wrl <WALLET_DIR> -createCredential <TNS_ALIAS> <USERNAME> <USERPW>
ノート:
mkstoreツールにはOracle DB Clientが付属しており、各プラットフォーム用のOracle Database Clientをダウンロードする必要があります。たとえば、Linux Oracle DB Clientの場合、LINUX.X64_193000_client_home.zipを参照してください。TNS_ALIAS
は、$ ORACLE_HOME/network/admin/tnsnames.ora
のエントリの1つを参照します。- ウォレット・ファイル内の資格証明を検証するには
mkstore -wrl <WALLET_DIR> -listCredential
- ウォレット・ファイルの資格証明を変更または削除するには(次のコマンドで、ウォレット・ディレクトリ、ユーザー名、ユーザー・パスワード、TNS_ALIAS変数を適切に更新します):
mkstore -wrl <WALLET_DIR> -modifyCredential <TNS_ALIAS> <USERNAME> <USERPW> mkstore -wrl <WALLET_DIR> -deleteCredential <TNS_ALIAS>
- ウォレット・ファイル内の資格証明を検証するには
- UBBファイルの
OPENINFO
文字列の<TNS_ALIAS>
を次のように更新します:OPENINFO="ORACLE_XA:Oracle_XA+SqlNet=<TNS_ALIAS>+Acc=P//+SesTm=100+LogDir=.+MaxCur=5"
- これで、Tuxedoは、
OPENINFO
でユーザー名とパスワードを指定せずにATPデータベースに接続できます。
親トピック: 構成ファイルの作成
3.44 構成ファイルのNETWORKセクションの作成方法
分散アプリケーションが複数のマシンで構成されている場合は、構成ファイルにNETWORK
セクションを作成する必要があります。このセクションは、マシン間の通信を設定します。ネットワーク・グループを作成するには、アプリケーションのUBBCONFIG
ファイルで、NETGROUPS
セクションおよびNETWORK
セクションを構成します。
次の表に、NETWORK
セクションの各パラメータの説明を示し、リファレンス・ページへのリンクや追加情報を示します。
表3-12 構成ファイルのNETWORKセクションの作成方法
NETWORKセクションで指定する情報 | パラメータ(必須/省略可能) | 参照先(クリックするとリンク先にジャンプ) |
---|---|---|
LMID 上に置かれたBRIDGE プロセスがネットワークにアクセスするのに使用するデバイス名。
|
BRIDGE (オプション)
|
BRIDGEデバイス名 |
BRIDGE プロセスで使用する完全なネットワーク・アドレス。これはLMID のリスニング用アドレスです。
|
NADDR (必須)
|
BRIDGEネットワーク・アドレス |
このマシンに対してネットワーク・リンクを確立するときに必要な最低限の暗号化レベル。 | MINENCRYPTBITS (オプション)
|
暗号化レベル |
ネットワーク・リンクを確立するときに実行できる最高の暗号化レベル。 | MAXENCRYPTBITS (オプション)
|
暗号化レベル |
このネットワーク・エントリに関連付けられたネットワーク・グループ。指定しない場合、デフォルト値はDEFAULTNET と見なされます。(DEFAULTNET が設定されない場合、NETGROUPS セクションで指定したグループ名をこのパラメータに定義する必要があります。)
|
NETGROUP (オプション)
|
ネットワーク・グループ |
LMID が指定するノード上でネットワークにサービスを提供するtlisten(1) プロセス用のネットワーク・アドレス。
|
NLSADDR (オプション)
|
tlistenネットワーク・アドレス |
親トピック: 構成ファイルの作成
3.44.1 NETWORKセクションの例
以下は、2サイトを含む構成ファイルのNETWORK
セクションの例です。
*NETWORK
SITE1 NADDR="//mach1:80952"
NLSADDR="//mach1:serve"
# SITE2 NADDR="//mach386:80952"
NLSADDR="//mach386:serve"
関連項目:
- 『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のUBBCONFIG(5)に関する項
- 構成ファイルのNETGROUPSセクションの作成方法
親トピック: 構成ファイルのNETWORKセクションの作成方法
3.45 BRIDGEプロセス用のデバイス名を指定する
LMID
上に置かれたBRIDGE
プロセスで使用するデバイス名を指定し、ネットワークにアクセスするには、BRIDGE
パラメータを次のように設定します。
BRIDGE=string_value
TCP/IPを使用する場合は、BRIDGE
にデバイス名を指定する必要はありません。
ネットワーク・トランスポートのエンドポイント・ファイルのパス名は、次の形式で指定します。
/dev/provider_name
親トピック: 構成ファイルの作成
3.46 BRIDGEのネットワーク・アドレスを割り当てる
LMID
のリスニング用アドレスとして、LMID上に置かれているBRIDGE
プロセスで使用する完全なネットワーク・アドレスを指定するには、NADDR
パラメータを次のように設定します。
NADDR = string_value
BRIDGE
のリスニング用アドレスは、アプリケーションの別のBRIDGEプロセスがそのBRIDGE
プロセスにアクセスする場所です。
BRIDGE
のリスニング用アドレスは、次の3つのうち、いずれかの形式で指定できます。
-
//host.name:port_number
-
//#.#.#.#:port_number
-
0xhex-digits
または\\xhex-digits
これらの最初の形式では、host.name
は、アドレスがバインドされるときにTCP/IPホスト・アドレスのアドレスに解決されます。この形式は、オペレーティング・システムのコマンドによる、ローカル名の解決機能に基づいています。port_number
の値には、シンボリック名または10進数を指定します。
2番目の形式の文字列#.#.#.#
は、ピリオドで区切られた4つの10進数(0から255を指定)を示します。port_number
の値は、0 - 65,535の10進数です(指定された文字列の16進表現)。port_number
の値には、シンボリック名または10進数を指定します。
3番目の形式の文字列0xhex-digits
または\\
xhex-digits
には、有効な16進数の偶数を含めます。2つのうち、どちらかの形式で表現された文字列は、内部でTCP/IPアドレスを含む文字配列に変換されます。
ノート:
プラットフォームによっては、システム側で、上記より小さい数値が予約されている場合があります。親トピック: 構成ファイルの作成
3.47 暗号化レベルを割り当てる
マシンにネットワーク・リンクを確立するときの暗号化の最小レベルを設定するには、MINENCRYPTBITS
パラメータを設定します。有効な値は、0、56、および128です。0は暗号化を行わないことを示し、56および128は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルトは0です。
ネットワーク・リンクを確立するときの暗号化の最大レベルを設定するには、MAXENCRYPTBITS
パラメータを設定します。有効な値は、0、56、および128です。0は暗号化を行わないことを示し、56および128は暗号化キーの長さをビット単位で指定します。デフォルトは128です。
3.47.1 例
MAXENCRYPTBITS=128
MINENCRYPTBITS=0
関連項目:
- 『CORBAアプリケーションにおけるセキュリティの使用』のリンク・レベルの暗号化に関する項
親トピック: 暗号化レベルを割り当てる
3.48 tlistenのネットワーク・アドレスを割り当てる
LMID
が指定するマシン上でネットワークにサービスを提供するtlisten(1)
プロセス用のネットワーク・アドレスを指定するには、NLSADDR
パラメータを次のように指定します。
NLSADDR=string_value
stringの値には、NADDR
パラメータと同じ形式でネットワーク・アドレスを指定します。
NLSADDR
のtlisten
アドレスは、次の3つのうち、いずれかの形式で指定できます。
-
//host.name:port_number
-
//#.#.#.#:port_number
-
0xhex-digits
または\\xhex-digits
これらの最初の形式では、host.nameは、アドレスがバインドされるときにTCP/IPホスト・アドレスのアドレスに解決されます。この形式は、オペレーティング・システムのコマンドによる、ローカル名の解決機能に基づいています。port_numberには、シンボリック名または10進数を指定します。
2番目の形式の文字列#.#.#.#は、ピリオドで区切られた4つの10進数(0から255を指定)を示します。port_numberは、0 - 65,535の10進数です(指定された文字列の16進表現)。port_numberには、シンボリック名または10進数を指定します。
3番目の形式の文字列0xhex-digitsまたは\\
xhex-digitsには、有効な16進数の偶数を含めます。2つのうち、どちらかの形式で表現された文字列は、内部でTCP/IPアドレスを含む文字配列に変換されます。
tmloadcf(1)
は、NLSADDR
がMASTER
LMID
のエントリから欠落している場合は警告を出力し、これ以外の任意のマシンのエントリから欠落している場合はエラーを出力します。NLSADDR
がMASTER
LMID
から欠落している場合には、tmadmin(1)
をリモート・マシンから管理者モードで実行することはできません。読取り専用操作のみに限定されます。また、MASTER
サイトで障害が発生しても、バックアップ・サイトから再起動できません。
親トピック: 構成ファイルの作成
3.49 構成ファイルのNETGROUPSセクションの作成方法
UBBCONFIG
ファイルのNETGROUPS
セクションでは、LAN環境で使用可能なネットワーク・グループの情報を設定します。1組のマシンに割り当てるネットワーク・グループの数に制限はありません。ネットワーク・グループを構成する各ネットワークの通信方式は、優先度のメカニズム(NETPRIO
)によって決まります。
すべてのLMID
は、デフォルトのネットワーク・グループ(DEFAULTNET
)のメンバーでなければなりません。デフォルトのネットワーク・グループのグループ番号(NETGRPNO
)は、0です。ただし、DEFAULTNET
に設定されているデフォルトの優先度は変更できます。リリース6.4より前のOracle Tuxedoシステムで定義されているネットワークは、DEFAULTNET
ネットワーク・グループに割り当てられています。
次の表に、NETGROUPS
セクションの各パラメータの説明を示し、リファレンス・ページへのリンクや追加情報を示します。
表3-13 構成ファイルのNETGROUPSセクションの作成方法
NETGROUPSセクションで指定する情報(オプション) | パラメータ(必須/省略可能) | 参照先(クリックするとリンク先にジャンプ) |
---|---|---|
デフォルトのネットグループ数(8)以上のグループを定義します。この値は、RESOURCES セクションで指定されています。
|
MAXNETGROUPS (オプション)
|
最大ネットグループ |
ネットワークが使用可能になるのを待つデータの最大サイズ。この値は、MACHINES セクションで指定されています。
|
MAXPENDINGBYTES (オプション)
|
メッセージ領域の制限 |
このネットワーク・エントリに関連付けられたネットワーク・グループ。 | NETGROUP (必須)
|
ネットワーク・グループ名 |
フェイルオーバーおよびフェイルバック用に割り当てる必要のある一意のネットワーク・グループ番号 | NETGRPNO (必須)
|
ネットワーク・グループ番号 |
このネットワーク・グループの優先度。 | NETPRIO (オプション)
|
ネットワーク・グループの優先度 |
3.49.1 ネットワーク・グループの構成の例
ネットワーク・アドレスは、ネットワーク・グループに関連付けられます。この機能の例を以下に示します。
たとえば、First State Bankには5台のマシン(A - E)で構成されるネットワークがあるとします。各マシンは、以下のように定義した4つのネットグループの中の2つまたは3つに属します。
-
DEFAULTNET
(デフォルトのネットワークである企業WAN) -
MAGENTA_GROUP
(LAN) -
BLUE_GROUP
(LAN) -
GREEN_GROUP
(メンバーのマシン間に、高速な光ファイバのポイント・ツー・ポイント・リンクを提供する専用LAN)
すべてのマシンは、DEFAULTNET
(企業WAN)に属します。さらに、各マシンはMAGENTA_GROUP
またはBLUE_GROUP
に関連付けられます。MAGENTA_GROUP
LANの一部のマシンは、GREEN_GROUP
というプライベート・グループにも属しています。次の図は、ネットワーク内のアドレスを持つマシンAからEを示しています。
図3-5 ネットワークのグループ化の例

次の表に、どのマシンがどのグループに属しているかを示します。
表3-14 マシンとグループのアドレス
マシン | マシンが属するグループのアドレス |
---|---|
AおよびB | DEFAULTNET (企業WAN) MAGENTA_GROUP (LAN) GREEN_GROUP (LAN)
|
C | DEFAULTNET (企業WAN) MAGENTA_GROUP (LAN)
|
DおよびE | DEFAULTNET (企業WAN) BLUE_GROUP (LAN)
|
ノート:
ローカル・エリア・ネットワークは場所間でルーティングされないため、マシンD (BLUE_GROUP
LAN内)は、共通の単一アドレス、つまり企業WANネットワーク・アドレスのみを使用してマシンA (GREEN_GROUP
LAN内)と通信します。
親トピック: 構成ファイルのNETGROUPSセクションの作成方法
3.49.2 UBBCONFIGファイルへのネットグループの構成
前の項で説明した構成を設定するには、First State Bankのシステム管理者は、次のリストに示すように、UBBCONFIG
ファイルのNETGROUPS
セクションで各グループを定義します。
NETGROUPSおよびNETWORKセクションの例のリスト
*NETGROUPS
DEFAULTNET NETGRPNO = 0 NETPRIO = 100 #default
BLUE_GROUP NETGRPNO = 9 NETPRIO = 200
MAGENTA_GROUP NETGRPNO = 125 NETPRIO = 200
GREEN_GROUP NETGRPNO = 13 NETPRIO = 300
*NETWORK
A NETGROUP=DEFAULTNET NADDR="//A_CORPORATE:5723”
A NETGROUP=MAGENTA_GROUP NADDR="//A_MAGENTA:5724"
A NETGROUP=GREEN_GROUP NADDR="//A_GREEN:5725"
B NETGROUP=DEFAULTNET NADDR="//B_CORPORATE:5723"
B NETGROUP=MAGENTA_GROUP NADDR="//B_MAGENTA:5724"
B NETGROUP=GREEN_GROUP NADDR="//B_GREEN:5725"
C NETGROUP=DEFAULTNET NADDR="//C_CORPORATE:5723"
C NETGROUP=MAGENTA_GROUP NADDR="//C_MAGENTA:5724"
D NETGROUP=DEFAULTNET NADDR="//D_CORPORATE:5723"
D NETGROUP=BLUE_GROUP NADDR="//D_BLUE:5726"
E NETGROUP=DEFAULTNET NADDR="//E_CORPORATE:5723"
E NETGROUP=BLUE_GROUP NADDR="//E_BLUE:5726"
関連項目:
親トピック: 構成ファイルのNETGROUPSセクションの作成方法
3.50 ネットワーク・グループに名前を割り当てる
NETGROUP
パラメータを次のように設定します。NETGROUP required_parameters [optional_parameters]
NETGROUP
にDEFAULTNET
を設定すると、エントリには、デフォルトのネットワーク・グループに関する情報が指定されます。NETGROUP
パラメータがDEFAULTNET
に設定されているネットワーク・エントリは、すべてTM_MIB
のT_MACHINE
クラスで表されますが、他のNETGROUP
に関連付けられたNETWORK
エントリは、TM_MIB
のT_NETMAP
クラスで表され、以前のリリースとの相互運用が可能です。
親トピック: 構成ファイルの作成
3.51 ネットワーク・グループ番号を割り当てる
フェイルオーバーおよびフェイルバックに対応するには、NETGRPNO
パラメータを次のように設定します。
NETGRPNO=numeric_value
このエントリがDEFAULTNET
を説明している場合、NETGRPNO
の値はゼロにする必要があります。
親トピック: 構成ファイルの作成
3.52 ネットワーク・グループに優先度を割り当てる
複数のネットワーク・グループにある、同じ優先度が指定された1組のマシンは、優先度が最も高い回線上で同時に通信できます。ネットワーク・グループの優先度を割り当てるには、NETPRIO
パラメータを使用します。特定の優先度を持つすべてのネットワーク回線が、管理者またはネットワークによって切断された場合は、1つ下の優先度の回線が使用されます。優先度の高い回線に対しては、接続の再試行が行われます。NETPRIO
パラメータには、0より大きく8,192より小さい値を指定します。デフォルトは100です。
親トピック: 構成ファイルの作成
3.53 構成ファイルのSERVERSセクションの作成方法
構成ファイルのSERVERS
セクションには、サーバー・プロセスに固有な情報が含まれています。このセクションは必須ではありません。ただし、このセクションがないということは、アプリケーション・サーバーがなく、機能もほとんどないことを意味します。このセクションの各エントリは、アプリケーションで起動するサーバー・プロセスを表し、次の情報を指定します。
- サーバー名、サーバー・グループ、および数値で指定するサーバー識別子(
SRVGRP
、SRVID
) servopts
で定義するサーバーのコマンド行オプション(CLOPT
)- サーバーの起動順序および起動するサーバー数(
SEQUENCE
、MIN
、MAX
) - サーバー固有の環境ファイル(
ENVFILE
) - サーバーのキューに関する情報(
RQADDR
、RQPERM
、REPLYQ
、RPPERM
) - 再起動に関する情報(
RESTART
、RCMD
、MAXGEN
、GRACE
) - 会話型サーバーとするかどうかの指定(
CONV
) - システム全体にわたる共有メモリー・アクセスをオーバーライドするかどうかの指定(
SYSTEM_ACCESS
) - IIOPリスナー(ISL)サーバーのセキュリティ・パラメータの設定
ノート:
Oracle Tuxedoシステムでサポートされるコマンド行オプションについては、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のservopts(5)
に関する項を参照してください。
次の表に、SERVERS
セクションの各パラメータの説明を示し、リファレンス・ページへのリンクや追加情報を示します。
表3-15 構成ファイルのSERVERSセクションの作成方法
SERVERSセクションで指定する情報(オプション) | パラメータ(必須/省略可能) | 参照先(クリックするとリンク先にジャンプ) |
---|---|---|
サーバーが会話型サーバーであるかどうか。接続は、会話型サーバーに対してのみ行うことができます。tpacall (3c)またはtpcall (3c)を使用したrpcリクエストは、非会話型サーバーに対してのみ行うことができます。
|
CONV (省略可能な実行時パラメータ)
|
会話型サーバー |
ID確認のためのプロセスのプリンシパル名、プリンシパル・ユーザーの秘密キーの場所、およびパスワードを格納する環境変数。 | SEC_PRINCIPAL_NAME、SEC_PRINCIPAL_LOCATION、SEC_PRINCIPAL_PASSVAR
|
セキュリティ属性 |
他のサーバーとの関連で、このサーバーをいつ起動または停止するか。 | SEQUENCE (省略可能な起動パラメータ)
|
サーバーの起動順序 |
tmboot によって起動されるサーバーのオカレンスの最小数。
|
MIN (省略可能な起動パラメータ)
|
サーバーの起動順序 |
起動できるサーバーの最大数。 | MAX (省略可能な起動パラメータ)
|
サーバーの起動順序 |
起動時にサーバー・プロセスに渡されるservopts(5) オプションのリスト。何も指定しない場合は、デフォルトの-Aになります。string_value の最大文字数は256文字です
|
CLOPT (省略可能な起動パラメータ)
|
サーバーのコマンド行オプション |
初期化時に、該当するファイルの値をサーバー環境に追加するリクエスト。サーバーが、別のマシンに移行可能なサーバー・グループに関連付けられている場合は、移行元マシンと移行先マシンの同じ場所にENVFILE を格納する必要があります。
|
ENVFILE (省略可能な実行時パラメータ)
|
サーバー環境ファイル |
サーバーを実行するグループの名前。string_value には、GROUPS セクションのサーバー・グループに関連付けられた論理名を指定します。
|
SRVGRP (必須)
|
サーバー・グループ |
サーバー・グループ内のサーバーを一意に識別する整数。識別子は、1以上30,000以下でなければなりません。 | SRVID (必須)
|
サーバーID |
プロセスのリクエスト・キューのシンボリック名。 | RQADDR (省略可能な実行時パラメータ)
|
サーバー・キュー情報 |
リクエスト・キューに対する権限(数値で指定)。 | RQPERM (省略可能な実行時パラメータ)
|
サーバー・キュー情報 |
再起動可能なプロセスが異常終了した場合に実行するコマンド。 | RCMD (省略可能な実行時パラメータ)
|
サーバーの再起動に関する情報 |
再起動可能なプロセスの再起動回数。GRACE で指定された時間内に再起動できる最大回数から1を引いた数を指定します。
|
MAXGEN (省略可能な実行時パラメータ)
|
サーバーの再起動に関する情報 |
再起動可能なプロセスの再起動回数。指定した秒内でMAXGEN 回まで再起動できることを指定します。
|
GRACE (省略可能な実行時パラメータ)
|
サーバーの再起動に関する情報 |
プロセスを再起動できるかどうか。デフォルトはNです。サーバーを移行できる場合は、RESTART をY に設定します。(SIGTERM シグナルで終了されたサーバーは再起動する必要があります。)
|
RESTART (省略可能な実行時パラメータ)
|
サーバーの再起動に関する情報 |
アプリケーション・プロセス内で、Oracle Tuxedoのシステム・ライブラリから内部表へのアクセスを実現するデフォルト・モード。 | SYSTEM_ACCESS (省略可能な実行時パラメータ)
|
サーバーへのシステム・アクセス |
最初にサーバーを起動するときのサーバー・ディスパッチ・スレッドの最小数。MAXDISPATCHTHREADS > 1のときに使用される個別のディスパッチ・スレッドは、MAXDISPATCHTHREADS の値の一部としてはカウントされません。MINDISPATCHTHREADS <=MAXDISPATCHTHREADS である必要があります。このパラメータのデフォルト値は0です。
|
MINDISPATCHTHREADS
|
スレッド |
各サーバー・プロセスで生成される、同時に実行できるディスパッチ・スレッドの最大数。MAXDISPATCHTHREADS > 1 のときに使用される個別のディスパッチ・スレッドは、パラメータで指定した数には含まれません。MINDISPATCHTHREADS<=MAXDISPATCHTHREADS である必要があります。このパラメータのデフォルト値は1です。
|
MAXDISPATCHTHREADS |
スレッド |
最初のスレッド以降の各サーバー・スレッドのスタック・サイズ(バイト単位)。このパラメータを指定しないか、または0の場合は、オペレーティング・システムのデフォルト値が使用されます。このオプションは、MAXDISPATCHTHREADS に1より大きい値が指定された場合のみサーバーに影響を与えます。
|
THREADSTACKSIZE
|
スレッド |
WebLogic Serverの組込みLDAPベース認証サーバー。System /Tで用意されたサーバーであり、ユーザーのセキュリティ情報がWebLogic Serverにあるときに認証サービスを提供します。このサーバーを保護されたアプリケーションで使用することにより、クライアントがアプリケーションに参加するときにユーザー単位の認証を行うことができます。
デフォルトでは 例: LAUTHSVR SRVGRP= "AUTH" |
LAUTHSVR (オプション)
|
LAUTHSVR(5) |
親トピック: 構成ファイルの作成
3.53.1 SERVERSセクションの例
次に、構成ファイルのSERVERS
セクションの例を示します。
*SERVERS
DEFAULT: RESTART=Y MAXGEN=5 GRACE=3600
REPLYQ=N CLOPT=”-A”
ENVFILE=”/usr/home/envfile”
SYSTEM_ACCESS=PROTECTED
RINGUP1 SRVGRP=GROUP1 SRVID=1 MIN=3
RQADDR=”ring1"
RINGUP2 SRVGRP=GROUP1 SRVID=4 MIN =3
RQADDR=”ring2"
ノート:
この例では、SEQUENCE
(1 - 6の順に起動)、REPLYQ
とRPPERM
(サーバーは応答を受け取らない)、RCMD
(再起動時のコマンド不要)、およびCONV
(非会話型サーバー)が省略されています。特定のサーバーに対して特に設定を行わないかぎり、すべてのサーバーにはデフォルト設定が適用されます。
3.53.1.1 SERVERSセクションの例のパラメータ
上のSERVERS
セクションの例では、次のパラメータと値が指定されています。
パラメータ | 意味 |
---|---|
RESTART-Y (デフォルト) |
サーバーを再起動します。 |
MAXGEN=5 (デフォルト) |
MAXGEN パラメータには、GRACE パラメータで指定した期間内にサーバーが起動できる回数を制御する、0より大きく256よりも小さい数値を指定します。デフォルトは1です。サーバーが再起動可能な場合、このパラメータには2以上(MAXGEN >= 2)を指定します。再起動数は、最大でnumber - 1回です。RESTART にY を指定しないと、MAXGEN の値は無視されます。
|
GRACE=3600 (デフォルト) |
RESTART がY の場合、GRACE パラメータを使用して、サーバーの再起動が可能な期間(秒単位)を指定できます。再起動はMAXGEN - 1 回できます。割り当てる数字は0以上にする必要があります。最大値は2,147,483,648秒(つまり68年より少し大きいくらい)です。GRACE を指定しない場合は、デフォルトの86,400秒(24時間)が指定されます。1つのGRACE 期間が経過したら、次の期間が始まります。GRACE期間を0に設定すると、すべての制限が解除されます。つまり、サーバーの再起動回数が制限されなくなります。
|
REPLYQ=N (デフォルト) |
応答キューはありません。 |
CLOPT="-A" (デフォルト) |
各サーバーのコマンド行に-Aを指定します。 |
ENVFILE="/usr/home/envfile"(デフォルト) |
ENVFILE に指定したファイルから環境設定を読み取ります。
|
SYSTEM_ACCESS=PROTECTED (デフォルト) |
システム・コード外から内部表へのアクセスを拒否します。 |
RINGUP1 |
最初に起動するサーバーのサンプル名。 |
SRVGRP=GROUP1 SRVID=1 MIN=3 RQADDR="ring1" |
サンプル・サーバーの3つのインスタンスが、サーバー・グループGROUP1 で起動します。サーバーIDは、1 、2 、および3 です。3つのサーバーは、MSSQセットを構成し、キューring1 からのリクエストを読み取ります。
ノート: RQADDR は、このサーバーのリクエスト・キューにシンボリック名を割り当てます。MSSQセットを作成するには、複数のサーバーに対して同じシンボリック・キュー名を指定し、これらのサーバーの実行可能ファイルに同じ名前を割り当てます。MIN には、1より大きい値を指定します。
|
RINGUP2 |
2番目に起動するサンプル・サーバーの名前。 |
関連項目:
- 『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のUBBCONFIG(5)に関する項
- 構成ファイルのSERVICESセクションの作成方法
親トピック: SERVERSセクションの例
3.54 サーバーを会話型として指定する
サーバーが会話型サーバーである(つまり、クライアントと専用サーバーの間に双方向接続を確立する)場合、CONV
は必須パラメータでありY
を設定する必要があります。デフォルトはN
で、この場合はそのサーバーが会話に含まれないことを示します。
親トピック: 構成ファイルの作成
3.54.1 CONVパラメータの特性
CONV
パラメータには、次の特性があります:
Y
は、サーバーが会話型であることを示します。N
は、サーバーが会話型ではないことを示します。- サーバーで会話リクエストを受信する場合は値
Y
が必要です。 - デフォルトは
N
です。
親トピック: サーバーを会話型として指定する
3.55 サーバーを起動する順序を設定する
サーバーを起動する順序を指定するには、各サーバーのSEQUENCE
パラメータを設定します。SEQUENCE
には、1から10,000までの任意の数字を指定します。SEQUENCE
パラメータの値が小さいサーバーは、値が大きいサーバーより先に起動します。SEQUENCE
パラメータをまったく指定しない場合、サーバーはSERVERS
セクションに示されている順序で起動します。順序が指定されたサーバーと指定されていないサーバーが混在する場合は、順序が指定されたサーバーが先に起動します。サーバーは、起動する順序とは逆の順序で停止されます。
SEQUENCE
は、省略可能なパラメータです。このパラメータは、大規模なアプリケーションで、サーバーを起動する順序を指定する必要がある場合に役立ちます。
ノート:
警告: CORBA環境では、システムのイベント・ブローカ、FactoryFinderオブジェクトおよびアプリケーション・ファクトリを起動する順序が厳密に規定されています。この順序が変更されると、CORBAアプリケーション・プログラムは起動しません。詳細は、「CORBA C++サーバーの起動順序」を参照してください。複数のサーバーを起動するには、MIN
パラメータを設定して、起動作業を簡略化できます。この場合、すべてのサーバーに同じオプションが適用されます。RQADDR
を指定すると、サーバーはMSSQセットを生成します。MIN
のデフォルト値は1です。
起動するサーバーの最大数を指定するには、MAX
パラメータを設定します。tmboot(1)
コマンドを実行すると、実行時にMIN
で指定した数のサーバーが起動します。続いて、MAX
で指定した数までのサーバーが起動します。デフォルトは、MIN
で指定した数のサーバーです。
MIN
およびMAX
パラメータは、大規模なアプリケーションの構成ファイルを管理しやすいサイズに保つ上で役立ちます。MAX
の最大値は、IPCリソースを割り当てて設定します。MIN
およびMAX
パラメータは、会話型サービスやサーバーの自動生成でも使用されます。
親トピック: 構成ファイルの作成
3.55.1 CORBA C++サーバーの起動順序
Oracle Tuxedo CORBA環境でのサーバーの正しい起動順序は以下のとおりです。この順序が変更されると、CORBAアプリケーション・プログラムは起動しません。
- システムのイベント・ブローカである
TMSYSEVT
。 -N
および-M
オプションが設定されたTMFFNAME
サーバー。NameManagerサービスを(マスターとして)起動します。このサービスは、アプリケーション側で提供される名前とオブジェクト参照のマッピングを維持します。-N
オプションのみが設定されたTMFFNAME
サーバー。スレーブNameManagerサービスを起動します。-F
オプションが設定されたTMFFNAME
サーバー。FactoryFinderオブジェクトを起動します。- ファクトリを通知するアプリケーションC++サーバー。
次のリストに、Oracle Tuxedoソフトウェアに収録されているサンプル・アプリケーションの1つである、Oracle Tuxedo CORBA University Basicアプリケーションのサーバーの起動順序を示します。このSERVERS
セクションは、ubb_b.nt
構成ファイルを編集したものから抜粋しています。
University用のUBBCONFIGサンプル・ファイルのSERVERSセクションを編集した例のリスト
*SERVERS
# By default, restart a server if it crashes, up to 5 times
# in 24 hours.
#
DEFAULT:
RESTART = Y
MAXGEN = 5
# Start the Oracle Tuxedo System EventBroker. This event broker
# must be started before any servers providing the
# NameManager Service
#
TMSYSEVT
SRVGRP = SYS_GRP
SRVID = 1
# TMFFNAME is a Oracle Tuxedo CORBA provided server that
# runs the NameManager and FactoryFinder services.
# The NameManager service is a Oracle Tuxedo CORBA-specific
# service that maintains a mapping of application-supplied names
# to object references.
# Start the NameManager Service (-N option). This name
# manager is being started as a Master (-M option).
#
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 2
CLOPT = "-A -- -N -M"
# Start a slave NameManager Service
#
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 3
CLOPT = "-A -- -N"
# Start the FactoryFinder (-F) service
#
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 4
CLOPT = "-A -- -F"
# Start the interface repository server
#
TMIFRSVR
SRVGRP = SYS_GRP
SRVID = 5
# Start the university server
#
univb_server
SRVGRP = ORA_GRP
SRVID = 6
RESTART = N
# Start the listener for IIOP clients
#
# Specify the host name of your server machine as
# well as the port. A typical port number is 2500
# ISL
SRVGRP = SYS_GRP
SRVID = 7
CLOPT = "-A -- -n //TRIXIE:2500"
この例では、TMSYSEVT
サーバーとTMFFNAME
サーバーを起動した後、以下のコンポーネントが起動します。
- インタフェース・リポジトリ。この機能とコマンド行オプション(
CLOPT
パラメータ)については、「CORBAインタフェース・リポジトリの管理」を参照してください - University Basicサンプル・アプリケーションの
univb_server
。サンプル・アプリケーションの詳細は、『CORBA Universityサンプル・アプリケーション・ガイド』を参照してください。 - インターネットORB間プロトコル(IIOP)サーバー・リスナー(ISL)。この機能と
CLOPT
パラメータについては、「Oracle Tuxedo CORBAリモート・クライアント・アプリケーションの管理」を参照してください
ノート:
何らかの理由でグループやマシンを移行または停止するとき、アクティブなスレーブNameManagerが別のグループにある場合は、マスターNameManagerがアクティブになる前にFactoryFinderやスレーブNameManagerが再起動されないように、UBBCONFIG
ファイルを設定してください。たとえば、FactoryFinderがマスターNameManagerと同じグループにある場合、マスターNameManagerが先に起動されるように、UBBCONFIG
ファイルでサーバーの起動順序を変更します。
親トピック: サーバーを起動する順序を設定する
3.56 SEQUENCE、MIN、およびMAXパラメータの特性
パラメータ | 特性 |
---|---|
SEQUENCE
|
省略可能なパラメータです。値には1 - 10,000の範囲の数値を設定します。
小さい値が指定されたサーバーは、大きい値が指定されたサーバーより先に起動します。 このパラメータが設定されていないサーバーは、 順序が指定されているサーバーは、指定されていないサーバーより先に起動します。 |
MIN
|
実行時に起動するサーバーの最小数を指定します。
すべてのインスタンスには、同じサーバー・オプションが適用されます。 値には、0 - 1000を指定します デフォルトは1です。 |
MAX
|
起動するサーバーの最大数を指定します。
|
親トピック: 構成ファイルの作成
3.57 サーバーのコマンド行オプションを指定する
Oracle Tuxedoシステムでは、サーバーがリクエストを処理するときに使用するオプションを指定できます。これらのオプションは、servopts
で定義します。これを実行すると、サーバー・プロセス用の実行時オプションが示されます。サーバー側では、コマンド行からの情報の取得が必要な場合があります。CLOPT
パラメータを使用すると、コマンド行オプションを指定して、サーバーに設定されたデフォルト値を変更したり、ユーザー定義のオプションをtpsvrinit()
関数に渡すことができます。
サーバーの標準のmain()
を使用すると、引数--までのオプションのセットが解析され、以降のオプションはtpsvrinit()に渡されます。CLOPT
のデフォルトの-A
は、buildserver(1)
またはbuildobjserver(1)
によって組み込まれたすべてのサービスを通知するようサーバーに指示します。次の表に、使用可能なオプションの一部を示します。
表3-16 サーバーのコマンド行オプションの指定
オプション | 目的 |
---|---|
-o filename
|
標準出力をfilename ファイルにリダイレクトします。
|
-e filename
|
標準エラーをfilename ファイルにリダイレクトします。
|
-s services
|
サービスを通知します。たとえば、-s x,y,z は、サービスx 、y およびz を通知します。
|
-s x,y,z:funcname
|
サービスx 、y およびz を通知しますが、関数funcnameを使用してこれらのサービスのリクエストを処理します。これは、関数名の別名と呼ばれます。
|
-r
|
実行したサービスがログに記録されるようにサーバーを指定します。 |
-v
|
標準出力にサービス名と関数名のリストを出力します。このオプションは、UBBCONFIG のCLOPT では使用できません。これは、サーバーを手動で起動するときに使用します。
|
親トピック: 構成ファイルの作成
3.57.1 CLOPTパラメータの特性
- 構文は、
CLOPT="
servopts -- application_opts"
です。 - 省略可能なパラメータであり、デフォルトで-Aが設定されます。
main()
およびtpsvrinit()
では、サーバーのコマンド行オプションが使用されます。-
servopts(5)
オプションはmain()
に渡されます。 - アプリケーションのオプションは
tpsvrinit()
に渡されます。
BANKAPP
サンプル・アプリケーションでは、コマンド行オプションは次のように指定されます。
CLOPT=”-A -- -T 10"
このサーバーは、すべてのサービスを通知するオプション(-A
)および窓口IDの10
を提供されるため、操作ごとに特定の窓口レコードを更新できます。このオプション、特にtpsvrinit()
に渡されるオプションを使用する場合、システム管理者とアプリケーション・プログラマは、よく相談する必要があります。
関連項目:
- 『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』の
servopts(5)
に関する項
親トピック: サーバーのコマンド行オプションを指定する
3.58 サーバー環境ファイルの場所を識別する
環境設定を指定するには、MACHINES
セクションにあるENVFILE
パラメータを使用します。また、特定のサーバー・プロセスに同じパラメータを指定できますが、セマンティクスは同じです。MACHINES
セクションのENVFILE
と、SERVERS
セクションのENVFILE
が指定されると、両方とも有効になります。MACHINES
およびSERVERS
セクションの両方に同じ変数が定義された場合は、SERVERS
セクションの設定が優先されます。
親トピック: 構成ファイルの作成
3.58.1 サーバー環境ファイルの特性
ENVFILE
は、サーバー環境ファイルを定義するパラメータであり、次の特性があります:
- 省略可能なパラメータであり、
MACHINES
セクションのENVFILE
パラメータと同じセマンティクスを含みます。ただし、定義するのは1つのサーバーだけです。 - 変数が重複する場合、
ENVFILE
のSERVERS
セクションの設定が、ENVFILE
のMACHINES
セクションとGROUPS
セクションの設定をオーバーライドします。
環境変数の設定の詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のtuxenv(5)
に関する項を参照してください。
親トピック: サーバー環境ファイルの場所を識別する
3.59 サーバー名、サーバー・グループ、およびサーバーIDを定義する
まず、SERVERS
セクションでサーバーに名前を割り当てます。指定する名前は、以下のいずれかのコマンドを使用して作成した実行可能ファイルです。
-
buildserver(1)
(ATMIアプリケーションの場合) -
buildobjserver(1)
(CORBA C++サーバー・アプリケーションの場合)
また、各サーバーにグループ識別子(SRVGRP
)を指定する必要があります。SRVGRP
には、GROUPS
セクションのエントリの最初に指定した名前を設定します。最後に、指定されたグループ内の各サーバー・プロセスに一意の数値識別子(SRVID
)を指定します。サーバー・エントリには、必ずSRVGRP
パラメータとSRVID
パラメータが必要です。エントリでは、アプリケーションのほか、起動するマシンも記述されるため、複数のエントリに同じサーバー名が表示される場合もあります。
3.59.1 サーバー名、SRVGRP、およびSRVIDパラメータの特性
パラメータ | 特性 |
---|---|
Server_name
|
起動する実行可能ファイルを識別します。
ATMIでは CORBAでは 必須ですが、サーバー・グループ内で一意である必要はありません。 |
SRVGRP (サーバー・グループ)
|
グループとの関係を識別します。
グループ名は、 これは必須です。 |
SRVID (サーバーID)
|
数値で指定します。
必須パラメータであり、サーバー・グループ内で一意の値を設定します。 |
3.60 サーバー・キュー情報を識別する
サーバー・キュー情報を指定すると、サーバー・メッセージ・キューを作成し、このキューへのアクセスを制御できます。Oracle Tuxedoシステムでは、RQADDR
パラメータを使用して複数サーバー、単一キュー(MSSQ)セットを作成できます。どのサーバーに対しても、このパラメータの値に英数字を設定できます。同じサービスを提供するすべてのサーバーに対して同じRQADDR
値を設定すると、サービスを1つのメッセージ・キューにまとめてMSSQセットを作成することができ、ロード・バランシングを実現できます。
3.60.1 MSSQの例
MSSQセットは、銀行の窓口担当者の業務に似ています。たとえば、窓口が4つあり、顧客は1列に並んで順番にサービスを受けるとします。顧客は、空いた窓口へ順番に進みます。当然ながら、融資担当の窓口は別です。融資担当の窓口では、預金の預け入れや引出しを処理できません。また、融資を希望する顧客は限られています。同様に、MSSQセットの場合も、提供するサービスが異なるサーバーは、同じMSSQセットに参加できません。
RQPERM
パラメータでは、UNIXシステム規則の行(0666など)とともに、サーバー・リクエスト・キューの権限を指定できます。この設定では、サービスがリクエスト・キューへのアクセスを制御できます。
MSSQサーバー内のサービス・ルーチンでサービス・リクエストが発行されると、それらのリクエストに対する応答を応答キューで受け取る必要があります。このような応答キューは、REPLYQ=Y
で指定することができます。デフォルトでは、REPLYQ
にN
が設定されています。REPLYQ
がY
に設定されている場合、RPPERM
パラメータを使ってその応答キューに権限を割り当てることもできます。
親トピック: サーバー・キュー情報を識別する
3.60.2 RQADDR、RQPERM、REPLYQ、およびRPPERMパラメータの特性
パラメータ | 特性 |
---|---|
RQADDR
|
MSSQセットを作成できるようにする英数値です。値は、MSSQセットのすべてのメンバーに対して同じです。MSSQのすべてのメンバーは、同じサービスのセットを提供する必要があり、MSSQセットのサーバーは同じ実行可能ファイル名を持っていなければなりません。複数のサーバーを起動するには、Min パラメータに1より大きい値を設定します。
|
RQPERM
|
リクエスト・キューの権限を表します。パラメータを指定しない場合、RESOURCES セクションのPERM で指定された掲示板の権限が使用されます。値が指定されない場合は、デフォルト値の0666が使用されます。デフォルトを使用すると、システム上にログインしたユーザーがすべてアプリケーションにアクセスできるようになります。
|
REPLYQ
|
このサーバーに対して、応答キュー(リクエスト・キューとは別)を設定するかどうかを指定します。リクエスト・キューを使用しているサーバーが1つだけの場合、応答は問題なくリクエスト・キューから受け取られます。Oracle Tuxedoシステムでは、サーバーがMSSQセットのメンバーであり、応答メッセージを受信するようにプログラミングされているサービスを含んでいる場合、REPLYQ をYに設定して、このサーバーに対して応答キューが個別に作成されるようにする必要があります。そうでない場合、応答は、MSSQセット内の全サーバーが共有するリクエスト・キューに送信されてしまい、応答がリクエスト元のサーバーに返されるかどうかは保証されません。マルチスレッド化されたサーバーの場合は、このパラメータが設定されていなくても、自動的にREPLYQ が作成されます。
|
RPERM
|
応答キューの権限を割り当てます。このパラメータは、REPLYQ=Y の場合のみ有効です。リクエストと応答が同じキューから読み出される場合、必要なのはRQPERM のみで、RPPERM は無視されます。
|
親トピック: サーバー・キュー情報を識別する
3.61 サーバーの再起動に関する情報を定義する
適切にデバッグされたサーバーは、自動的に終了しません。デフォルトでは、アプリケーションの実行中に終了したサーバーは、自動的に再起動しません。サーバーを再起動する場合は、RESTART
パラメータにY
を設定します。
の場合、RESTART=Y
RCMD
、MAXGEN
およびGRACE
パラメータがサーバーに適用されます。
RCMD
パラメータを使用すると、サーバーの再起動時に並行して実行されるコマンドを指定できます。たとえば、サーバー開発者や、サーバーのアクティビティを監査する担当者に電子メールを送信する、という操作を実行できます。
MAXGEN
パラメータは、サーバーがGRACE
で指定された期間にアクティブになれる合計回数を表します。サーバーは、GRACE
で指定された秒数内にMAXGEN-1
回再起動できます。GRACE
がゼロに設定されている場合、サーバーの再起動に制限はありません。MAXGEN
はデフォルトで1になり、256を超えることはできません。GRACE
はゼロ以上である必要があり、2,147,483,647 (231 - 1)を超えることはできません。
ノート:
完全にデバッグされたサーバーを再起動する必要はありません。RESTART
パラメータおよび関連するパラメータには、テスト用と本番用の2つの値を設定する必要があります。
3.61.1 RESTART、RCMD、MAXGEN、およびGRACEパラメータの特性
パラメータ | 特性 |
---|---|
RESTART
|
Y を設定すると、サーバーを再起動できるようになります。
デフォルトは |
RCMD
|
再起動時に実行される実行可能ファイルを指定します。
サーバーの再起動時にアクションを行えるようにします。 |
MAXGEN
|
指定された時間の間隔内でのサーバー再起動の最大数を表します。
デフォルトは1で、最大値は256です。 |
GRACE
|
MAXGEN に使用される時間間隔を表します。
ゼロの場合は、再起動回数に制限がないことを表します。 0から2,147,483,647 (231 - 1)の範囲の値である必要があります。 デフォルトは24時間です。 |
親トピック: サーバーの再起動に関する情報を定義する
3.62 共有メモリーに対するサーバー・アクセスを定義する
SYSTEM_ACCESS
パラメータは、サーバー・プロセスを共有メモリーにアタッチし、システム・コードの外から内部表へのアクセスを許可するかどうかを決定します。アプリケーション開発時には、このようなアクセスを許可しないように設定しておく(PROTECTED
)ことをお薦めします。アプリケーションをテストした後で、SYSTEM_ACCESS
の値をFASTPATH
に変更すると、パフォーマンスを向上させることができます。
このパラメータの設定は、RESOURCES
セクションでNO_OVERRIDE
が指定されないかぎり、RESOURCESセクションの値をオーバーライドします。この場合、このパラメータは無視されます。NO_OVERRIDE
値は、このセクションでは使用されません。
親トピック: 構成ファイルの作成
3.62.1 SYSTEM_ACCESSパラメータの特性
SYSTEM_ACCESS
パラメータには、以下の特性があります。
PROTECTED
は、サーバーがシステム・コードの外から共有メモリーにアタッチしないことを示します。- 値
FASTPATH
は、サーバーが常に共有メモリーにアタッチされることを示します。 RESOURCES
セクションでNO_OVERRIDE
が指定されている場合、このパラメータは無視されます。- デフォルトは、
RESOURCES
セクションのSYSTEM_ACCESS
パラメータに指定した値です。 - 値
PROTECTED
が設定されていると、Oracle Tuxedoシステムの処理速度は遅くなります。
親トピック: 共有メモリーに対するサーバー・アクセスを定義する
3.63 サーバー・ディスパッチ・スレッドを定義する
MAXDISPATCHTHREADS
は、各サーバー・プロセスで生成可能な、同時にディスパッチされるスレッドの最大数です。MAXDISPATCHTHREADS > 1
のときに使用される個別のディスパッチ・スレッドは、パラメータで指定した数には含まれません。MAXDISPATCHTHREADSは、MINDISPATCHTHREADSと同じか、またはそれ以上でなければなりません(MINDISPATCHTHREADS<=MAXDISPATCHTHREADS
)。指定しない場合、このパラメータのデフォルト値は1です。
MINDISPATCHTHREADS
は、最初にサーバーを起動するときに開始されるサーバー・ディスパッチ・スレッドの最小数です。MAXDISPATCHTHREADS
> 1のときに使用される個別のディスパッチャ・スレッドは、MAXDISPATCHTHREADS
の値の一部としてはカウントされません。MAXDISPATCHTHREADSは、MINDISPATCHTHREADSと同じか、またはそれ以上でなければなりません(MINDISPATCHTHREADS<=MAXDISPATCHTHREADS
)。このパラメータのデフォルト値は0です。
最初のスレッド以降の各サーバー・スレッドのスタック・サイズをバイト数で指定する必要があります。このパラメータを指定しないか、または0の場合は、オペレーティング・システムのデフォルト値が使用されます。このオプションは、MAXDISPATCHTHREADS
に1より大きい値が指定された場合のみサーバーに影響を与えます。
親トピック: 構成ファイルの作成
3.64 ISLサーバーのセキュリティ・パラメータを設定する
CORBA環境では、IIOPリスナー(ISL)プロセスが、リモート・クライアントの接続リクエストをリスニングします。ISLプロセスは、Oracle Tuxedoシステム側で提供されるサーバーとして、1つのエントリで指定されます。
IIOPを使用する場合、Secure Socket Layer (SSL)プロトコルによってプロセス間の安全な通信方法を定義します。ISLコマンドの-s
オプションを使用して、必須パラメータを設定します。これらのパラメータは、SSLプロトコルを使用する場合のみ設定する必要があります。SSLプロトコルは、Oracle Tuxedo Security Packにインストールされています。
次の表に、SSLパラメータの特性をリストします。
パラメータ | 特性 |
---|---|
SEC_PRINCIPAL_NAME
|
IIOPリスナー/ハンドラのIDを指定します。 |
SEC_PRINCIPAL_LOCATION
|
IIOPリスナー/ハンドラの秘密キーの場所を指定します。 |
SEC_PRINCIPAL_PASSWORD
|
IIOPリスナー/ハンドラの秘密キーのフレーズを指定します。 |
これらのパラメータ設定の詳細は、『CORBAアプリケーションにおけるセキュリティの使用』を参照してください。
親トピック: 構成ファイルの作成
3.65 構成ファイルのSERVICESセクションの作成方法
構成ファイルのSERVICES
セクションでは、アプリケーションで提供されるサービスに関する詳しい情報を指定できます。非トランザクション型、非分散型のアプリケーションの場合、これらの情報の指定は簡単です。SERVICES
セクションには、以下の種類の情報が含まれます。
- ロード・バランシング情報(
SRVGRP
) - サービスへの優先度の割当て
- 個々のサーバー・グループに対する異なるサービス・パラメータ
- バッファ・タイプの情報(
BUFTYPE
) - 非トランザクション型サービス・レベルのブロック時間値
サービスには必須パラメータはありません。サービスを示す必要があるのは、省略可能なパラメータを設定する場合のみです。
次の表に、SERVICES
セクションの各パラメータの説明を示し、リファレンス・ページへのリンクや追加情報を示します。
表3-17 構成ファイルのSERVICESセクションの作成方法
SERVICESセクションで指定する情報 | パラメータ(必須/省略可能) | 参照先(クリックするとリンク先にジャンプ) |
---|---|---|
まだトランザクション・モードでない状態でリクエストのメッセージを受け取った場合に、トランザクションが自動的に開始されるかどうか。 | AUTOTRAN (DTPアプリケーションのみ)
|
トランザクションの自動開始とタイムアウト間隔を指定する |
このサービスで受け付けるデータ・バッファのタイプおよびサブタイプのリスト。このパラメータには、最大32のタイプとサブタイプの組合せを最大256文字で指定できます。 | BUFTYPE (オプション)
|
サービスで受け付けるバッファ・タイプのリストを指定する |
SVCNAM によってシステムに指定されるロード・ファクタ。
|
LOAD (オプション)
|
ロード・バランシングを有効にする |
データ依存型ルーティングを行うときに、このサービスに使用されるルーティング基準名。 | ROUTING (オプション)
|
ルーティング基準名を定義する |
SVCNM をキューから取り出すときの優先度。
|
SRVGRP (オプション)
|
異なるサーバー・グループに対してサービス・パラメータを指定する |
特定のサービスの非トランザクション型ブロック時間値(秒単位)。 | PRIO (オプション)
|
サービスの優先度を指定してデータ・フローを制御する |
特定のサービスの非トランザクション型ブロック時間値(秒単位)。 | BLOCKTIME (オプション)
|
非トランザクション型サービス・レベルのブロック時間を指定する |
特定のサービスの処理にかかる時間(秒単位)。 | SVCTIMEOUT (オプション)
|
サービスの処理時間を指定する |
関連するサービスに対するトランザクションを自動的に開始するまでのデフォルトのタイムアウト値(秒単位)。 | TRANTIME (DTPアプリケーションのみ)
|
トランザクションの自動開始とタイムアウト間隔を指定する |
親トピック: 構成ファイルの作成
3.65.1 SERVICESセクションの例
次に、構成ファイルのSERVICES
セクションの例を示します。
*SERVICES
#
DEFAULT: LOAD=50 PRIO=50
RINGUP BUFTYPE=”VIEW:ringup”
この例では、サービスのデフォルトのロードおよび優先度の値は50
です。宣言されている1つのサービスは、RINGUP
サービスであり、バッファ・タイプringup
VIEW
が指定されています。
関連項目:
- 『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のUBBCONFIG(5)に関する項
- 構成ファイルのROUTINGセクションの作成方法
親トピック: 構成ファイルのSERVICESセクションの作成方法
3.66 トランザクションの自動開始とタイムアウト間隔を指定する
AUTOTRAN ={Y|N}
パラメータをコーディングすることで、リクエスト・メッセージがすでにトランザクション・モードになっている場合にトランザクションを自動的に起動するかどうかを設定できます。デフォルトはN
です。
あるサービスに対するトランザクションが開始した後でそのトランザクションが失敗した場合、ロールバックされるまでのタイムアウト間隔を指定することができます。タイムアウト間隔が自動的に実行されるように指定するには、TRANTIME
パラメータを次のように設定します。
TRANTIME=number
デフォルトは30秒です。0(タイムアウトの最大値)をコンピュータに指定すると、トランザクションでタイムアウトは発生しません。
UBBCONFIG
ファイルのRESOURCES
セクションでは、MAXTRANTIME
という追加のトランザクション・タイムアウト・プロパティを使用できます。MAXTRANTIME
タイムアウト値がTRANTIME
タイムアウト値またはトランザクションを開始するtpbegin(3c)
の呼出しで渡されたタイムアウト値より小さい場合、トランザクションのタイムアウトはMAXTRANTIME
の値に削減されます。
ノート:
MAXTRANTIME
はOracle Tuxedo 8.0以前を実行するマシン上で開始されるトランザクションには影響を与えません。ただし、Oracle Tuxedo 8.1以降を実行するマシンがトランザクションの影響を受ける場合は、そのノードに対して構成されているMAXTRANTIME
値までトランザクション・タイムアウト値が制限(必要に応じて減少)されます。
関連項目:
- Oracle Tuxedo Domainsコンポーネントの使用
MAXTRANTIME
の詳細は、UBBCONFIG(5)
のRESOURCES
セクションにあるMAXTRANTIME
、またはTM_MIB(5)
のT_DOMAIN
クラスにあるTA_MAXTRANTIME
を参照してください。
親トピック: 構成ファイルの作成
3.67 サービスで受け付けるバッファ・タイプのリストを指定する
BUFTYPE
パラメータを使用すると、サービス・コードとは関係なく、バッファ・タイプをチェックするサービスを調整できます。このパラメータを設定する場合は、サービスで受け付けるバッファ・タイプのリストを次の形式で指定します。
type[:subtype[,subtype]]
すべてのサブタイプを受け入れるには、subtype
の値を*
に設定します。
サービスのBUFTYPE
パラメータの値がALL
の場合、このサービスはすべてのバッファ・タイプを受け入れます。デフォルトはALL
です。
親トピック: 構成ファイルの作成
3.67.1 BUFTYPEパラメータの例
BUFTYPEの例 | 意味 |
---|---|
BUFTYPE="FML;VIEW:aud,aud2"
|
サブタイプがaud およびaud2 のFML およびVIEW バッファ・タイプを受け入れます。
|
BUFTYPE="FML;VIEW:*"
|
すべてのFML およびVIEW バッファ・タイプを受け付けます。
|
BUFTYPE=ALL
|
すべてのバッファ・タイプを受け付けます(デフォルト)。 |
親トピック: サービスで受け付けるバッファ・タイプのリストを指定する
3.68 リクエストを処理する時間を指定する
リクエストの処理中に、予期しないシステム・エラーが発生し、サービスが停止(フリーズ)したり、制御不可能になる場合があります。このようなプロセスは削除することが望ましいですが、実際にこれらのエラーを検出したり、エラー原因を追跡することは困難です。Oracle Tuxedoシステムには、エラーを識別できなくても、このようなプロセスを終了できるメカニズムが組み込まれています。このメカニズムを使用するには、SVCTIMEOUT
パラメータを設定します。
SVCTIMEOUT
パラメータは、サービスがリクエストを処理できる時間(秒)を指定します。このパラメータで定義された間隔が経過してもサービスがリクエストを処理できなかった場合、そのリクエストの処理は強制終了されます。本質的に、サービス・タイムアウトは、停止または制御不能状態にあるアプリケーション・サーバーのスカベンジ機能として働きます。デフォルトでは、Oracle Tuxedoシステムはサービス・プロセスを終了しません。この機能を有効にするには、SVCTIMEOUT
を設定する必要があります。
UBBCONFIG
ファイルのSVCTIMEOUT
パラメータに値を割り当てるか、またはTM_MIB
のTA_SVCTIMEOUT
属性を動的に変更することによって設定できます。SVCTIMEOUT
またはTA_SVCTIMEOUT
の値には、サービスが1つのリクエストの処理に費やす時間の2 - 3倍の時間を指定しておくことをお薦めします。このような値を設定しておくと、Oracle Tuxedoシステムは、停止状態のプロセスだけを削除します。
この項では、サービス・タイムアウト・エラーの原因と結果、およびOracle Tuxedoシステムによるエラーのレポート方法を説明します。また、エラーの処理方法に関するアドバイスも掲載しています。
3.68.1 タイムアウト発生時の処理
タイムアウトが発生すると、Oracle Tuxedoシステムは、停止されたサービスの実行元であるサーバー・プロセスを終了します。ただし、子プロセスは終了しません。次に、TPESVCERR
エラーを返し、サービスの処理中に未知のエラーが発生したことを示します。会話型サービスでは、会話型イベントであるTPEV_SVCERR
が返されます。
親トピック: リクエストを処理する時間を指定する
3.68.2 サービスのタイムアウトの通知方法
Oracle Tuxedoシステムでは、以下の3つの機能を使用してサービス・タイムアウトを通知します。
-
TPED_SVCTIMEOUT
-tpstrerror(3c)
より詳細な情報を提供するタイムアウト・エラーの詳細 -
.SysServiceTimeout
- システム・イベント -
.SysServiceTimeout
に関するULOG
情報
SVCTIMEOUT
値が構成可能になったため、クライアント・アプリケーション側では、SVCTIMEOUT
の値を超過して発生したTPESVCERR
とそれ以外の原因で発生したTPESVCERR
を簡単に識別できるようにしておくことが必要です。この情報は、ULOG
にも記録されていますが、クライアント・プログラムによって抽出するのは困難です。サービス・タイムアウトのTPESVCERR
をその他のエラーと区別するため、プログラムでTPESVCERR
を検出した後にtperrordetail (3c)
ルーチンを呼び出し、サービス・タイムアウトが発生したときにTPED_SVCTIMEOUT
を生成することができます。
また、サービス・タイムアウトが発生すると、システム・イベントである.SysServiceTimeout
が生成されます。.SysServiceTimeout
イベントが発生すると、ULOG
に次のように記録されます。
ERROR: .SysServiceTimeout: %TA_SERVERNAME, group %TA_SRVGRP, id %TA_SRVID server killed due to a service timeout
3.68.2.1 サービス・タイムアウトの制御方法
- アプリケーション管理者は、
UBBCONFIG
ファイルのSERVICES
セクションにあるSVCTIMEOUT
パラメータを変更するか、またはTM_MIB
のT_SERVER
クラスまたはT_SERVICE
クラスのTA_SVCTIMEOUT
属性を変更してサービス・タイムアウトを制御することができます。また、ULOG
ファイルをモニターして、サービス・タイムアウトの動作を確認することもできます。 ULOG
ファイルをモニタリングする方法に加え、アプリケーション・オペレータは、サービス・タイムアウトの発生をアラートする.SysServiceTimeout
イベントをサブスクライブできます。- アプリケーション・プログラマは、
tperrordetail(3c)
およびtpstrerrordetail(3c)
関数と、TPED_SVCTIMEOUT
エラー詳細コードを使用できます。これらは、サービス・タイムアウトの発生時に生成される.SysServiceTimeout
システム・イベントに1つ以上のサブスクリプションを追加できます。
親トピック: サービスのタイムアウトの通知方法
3.69 非トランザクション型サービス・レベルのブロック時間を指定する
処理にかかる時間はサービスごとに異なるため、それぞれ個別にBLOCKTIME
値を設定する必要があります。アプリケーションによっては、クライアントごとまたはサービス呼出しごとに、個別にデフォルトのブロック時間値をオーバーライドする必要がある場合もあります。
UBBCONFIG
ファイルのSERVICES
セクションのBLOCKTIME
パラメータを使用すると、個々の非トランザクション型サービスに対して秒単位のブロック時間値を指定できます。これにより、指定したサービスに対するRESOURCES
セクションのBLOCKTIME
パラメータのデフォルト値がオーバーライドされます。サービスごとのBLOCKTIME
パラメータ値は、DMCONFIG
ファイルを使用してリモート・サービスに設定することもできます。詳細は、UBBCONFIG(5)のSERVICES
セクションおよびDMCONFIG(5)のDM_IMPORT
セクションを参照してください。
SVCTIMEOUT
パラメータとは異なり、BLOCKTIME
パラメータはサービス・アプリケーションを終了しません。かわりに、指定した時間が経過した後に、サービス・リクエストの処理中にサーバーが応答を受信しなかったことをクライアントに通知します。
ノート:
アプリケーション・プログラマは、tpsblktime(3c)
およびtpgblktime(3c)
関数を使用すると、非トランザクション型ブロック時間リクエストを設定して、ブロック時間値を取得することもできます。
親トピック: 構成ファイルの作成
3.70 ロード・バランシングを有効にする
ロード・バランシングを有効にするには、RESOURCES
セクションのLDBAL
パラメータをY
に設定します。実行するサービスには、LOAD
パラメータの値に基づいてロード・ファクタが割り当てられます。Oracle Tuxedoシステムは、各サーバーの負荷の合計をモニターします。各サービス・リクエストは、負荷の合計が最も低いサーバーにルーティングされます。ルーティング先のサーバーの負荷合計は、要求されたサービスのLOAD
ファクタ分だけ増加します。
負荷の情報は、サービス・リクエストのルーティング元サイトにのみ保存されます。Oracle Tuxedoシステムでは、分散アプリケーションのすべてのサイトに負荷の情報を常に伝播するのは非効率的です。このような環境でロード・バランシングを行う場合、各サイトは、そのサイトで発生した負荷だけを認識し、必要に応じてロード・バランシングを行います。つまり、各サイトは、指定されたサーバー(またはキュー)に関し、それぞれ異なる負荷の統計情報を持ちます。したがって、負荷が最も低いと見なされるサーバーは、サイトごとに異なります。
ロード・バランシングが無効であり、複数のサーバーが同じサービスを提供する場合は、使用可能な最初のキューがリクエストを受け取ります。
親トピック: 構成ファイルの作成
3.70.1 LDBALパラメータの特性
LDBAL
パラメータには、次の特性があります:
RESOURCESセクションのLDBAL
パラメータがY
に設定されている場合、ロード・バランシングが行われます。- ロード・ファクタは、サーバーの負荷の合計に追加されます。
- ロード値は、サービスどうしの関連で決められます。
親トピック: ロード・バランシングを有効にする
3.71 ルーティング基準名を定義する
データ依存型ルーティングを使用するときは、サービス用のルーティング基準を指定する必要があります。このような基準を指定するには、ROUTING
パラメータを次のように設定します。
ROUTING=string_value
このパラメータが指定されないと、サービスはデータ依存型ルーティングを実行しません。
文字列の最大値は15文字です。サービスには、1つ以上のROUTING
パラメータの値は割り当てられません。1つのサービスに複数のエントリがあり、それらのエントリに異なるSRVGRP
パラメータが含まれている場合でも、ROUTING
の値はすべてのエントリで同じでなければなりません。
親トピック: 構成ファイルの作成
3.72 異なるサーバー・グループに対してサービス・パラメータを指定する
複数のグループに同じサービスを割り当てたり、異なるグループのサービス・エントリに対して設定した様々なサービス固有のパラメータに異なる値を割り当てることができます。そのためには、SRVGRP
パラメータにグループ固有の値を指定して、各グループのサービスに対して個別のエントリを作成してください。
親トピック: 構成ファイルの作成
3.73 サービスの優先度を指定してデータ・フローを制御する
PRIO
パラメータを使用して、サービスの優先度を割り当てることにより、アプリケーション内のデータ・フローを有効に制御できます。PRIOには、0 - 100の数値を指定する必要があります。数値が大きいほど割り当てられるサービスの優先度も高くなります。優先度の高いサービスは優先度の低いサービスより先にキューから取り出されますが、システムは、10回に1回ごとにFIFO順序でリクエストをキューから取り出し、メッセージがキューで無制限に待機することがないようにしています。
サーバー1は、サービスA、B、およびCを提供します。サービスAおよびBの優先度は50
で、サービスCの優先度は70
です。Cに対してリクエストされるサービスは、常にAまたはBに対するリクエストより先にデキューされます。AおよびBに対するリクエストは、互いに等しくキューから取り出されます。
ノート:
優先度は、tpsprio()
呼出しを使用して動的に変更することもできます。
3.73.1 PRIOパラメータの特性
PRIO
パラメータには、次の特性があります:
- サーバーのキューにおけるサービスの優先度を指定します。
- 最も高い優先度が最優先されます。
- 10回に1回ごとにリクエストはFIFOでキューから取り出されます。
親トピック: サービスの優先度を指定してデータ・フローを制御する
3.73.2 優先度の異なるSERVICESセクションの例
構成ファイルのSERVICES
セクションの次の例で、サービスへの優先度の割当て方法を示します:
*SERVICES
A SRVGRP=GRP1 PRIO=50 LOAD=60
A SRVGRP=GRP2 PRIO=70 LOAD=30
この例では、2つのサーバー・グループに対して異なるサービス固有のパラメータが割り当てられます。サーバー・グループGRP1
のサービスAには、優先度50、およびロード60が割り当てられ、サーバー・グループGRP2
のサービスAに優先度70、およびロード30が割り当てられます。
親トピック: サービスの優先度を指定してデータ・フローを制御する
3.74 サービスの処理時間を指定する
サービスの処理にかかる最大時間を秒単位で指定するには、SVCTIMEOUT
パラメータを次のように設定します。
SVCTIMEOUT=number
値は0
以上でなければなりません。この値が0
以外の場合は、サービスに対してタイムアウトが適用されることを示します。サービス・リクエストを処理しているサーバーはSIGKILL
シグナルによって終了します。このパラメータのデフォルト値は0です。
親トピック: 構成ファイルの作成
3.75 構成ファイルのINTERFACESセクションの作成方法
ノート:
このセクションは、Oracle TuxedoのCORBA環境にのみ適用されます。構成ファイルのINTERFACES
セクションは、Oracle TuxedoシステムのCORBA環境用のパラメータを定義するためのセクションです。このセクションでは、アプリケーションで使用されるCORBAインタフェースに対する、アプリケーション全体のデフォルト・パラメータを指定します。ファクトリ・ベース・ルーティングに参加するCORBAインタフェースに対しては、インタフェース名を定義し、Tuxedo CORBA環境で各インタフェースに適用するルーティング基準の名前を指定します。ファクトリ・ベース・ルーティングは、プロセスを特定のサーバー・グループに分散するための機能です。
ファクトリ・ベース・ルーティングを実装する場合、INTERFACES
セクションだけでなく、ROUTING
セクションでルーティング基準を定義し、GROUPS
セクションでグループ名を定義する必要があります。関連パラメータとファクトリ・ベース・ルーティングの詳細は、この章の「構成ファイルのROUTINGセクションの作成方法」を参照してください。
- INTERFACESセクションでCORBAインタフェースを指定する
- ファクトリ・ルーティング基準を指定する
- ロード・バランシングを有効にする
- インタフェースの優先度を指定してデータ・フローを制御する
- サーバー・グループごとに異なるインタフェース・パラメータを指定する
親トピック: 構成ファイルの作成
3.75.1 INTERFACESセクションでCORBAインタフェースを指定する
アプリケーションで使用するCORBAインタフェース固有の情報は、構成ファイルのINTERFACES
セクションで指定します。必須パラメータはありません。省略可能なパラメータが不要の場合、CORBAインタフェースを示す必要はありません。INTERFACES
セクションには、以下の種類の情報が含まれます。
- トランザクションを自動的に開始するかどうか(
AUTOTRAN
) (CORBAのみ) - このCORBAインタフェースでファクトリ・ベース・ルーティングに使用されるルーティング基準(
FACTORYROUTING
) (CORBAのみ) - ロード・バランシング情報(
LOAD
) - インタフェースに対する優先度の割当て(
PRIO
) - 個々のサーバー・グループに対する異なるサービス・パラメータ(
SRVGRP
) - CORBAインタフェースに関連付けられたトランザクションのタイムアウト値(
TRANTIME
) - CORBAインタフェースに関連付けられたトランザクションのタイムアウト値(
TRANTIME
) - このCORBAインタフェースのメソッド処理のタイムアウト値(
TIMEOUT
)
次の表に、AUTOTRAN
、FACTORYROUTING
、LOAD
、PRIO
、SRVGRP
、TRANTIME
およびTIMEOUT
の各パラメータの特性を示します。
パラメータ | 特性 |
---|---|
AUTOTRAN = {Y | N }
|
オペレーション呼出しを受信したときにトランザクションを自動的に開始する場合、各CORBAインタフェースに対して、AUTOTRANをYに設定します。AUTOTRAN=Yは、インタフェースがすでにトランザクション・モードにある場合は無効です。デフォルトはNです。
AUTOTRANの値の指定が有効かどうかは、システム設計者が実装構成ファイル(ICF)またはサーバー記述ファイル(XML)でそのインタフェースに対して指定したトランザクション・ポリシーによって異なります。このトランザクション・ポリシーは実行時に、関連するT_IFQUEUE MIBオブジェクトのトランザクション・ポリシーの属性になります。この値が実際にアプリケーションの動作に影響するのは、システム設計者がトランザクション・ポリシーを「optional」に指定した場合だけです。 ノート: このパラメータを正しく機能させるには、システム設計者とシステム管理者の間のコミュニケーションが重要です。プログラマが設定したICFまたはXMLパラメータを知らずにシステム管理者がこの値をYに設定すると、実行時にパラメータが適切に動作しない可能性があります。 |
FACTORYROUTING = criterion-name
|
このCORBAインタフェースのファクトリ・ベース・ルーティングで使用するルーティング基準の名前を指定します。ファクトリ・ベース・ルーティングをリクエストしているインタフェースに対してFACTORYROUTING パラメータを指定する必要があります。
|
LOAD = number
|
CORBAインタフェースがシステムに与える相対的な負荷を示す、1 - 100の任意の数です。この値は、このアプリケーションで使用される他のCORBAインタフェースに割り当てられたLOAD 値との関係で相対的に決まります。デフォルトは50です。この値は、Oracle Tuxedoシステムがリクエストのルーティング先サーバーを選択する際に使用されます。
|
PRIO = number
|
CORBAインタフェースのすべてのメソッドに対して、キューから取り出す 優先度を指定します。この値は、0より大きい100以下の数にする必要があります。100は、優先度が最も高いことを示します。デフォルトは50です。
|
SRVGRP = server-group-name
|
SRVGRP を使用して、INTERFACES セクションのこの部分で定義されたパラメータを、指定したサーバー・グループに適用します。この機能を使用すると、指定されたCORBAインタフェースで、サーバー・グループごとに異なるパラメータを定義することができます。
|
TRANTIME = number
|
AUTOTRAN がYに設定されている場合は、TRANTIME パラメータを設定する必要があります(これは、計算するトランザクションに対するトランザクション・タイムアウト(秒)です)。値はゼロ以上、2,147,483,647 (231-1)(約70年)以下にする必要があります。値0 (ゼロ)は、トランザクションにタイムアウトが設定されていないことを示します。デフォルト値は30秒です。
|
TIMEOUT=number
|
このCORBAインタフェースでメソッドの処理に使用できる時間を秒単位で指定します。値は0以上でなければなりません。0を指定した場合は、インタフェースではタイムアウトが発生しません。タイムアウト・メソッドにより、インタフェースに対してメソッドを処理するサーバーがSIGKILL イベントと共に終了します。このため、インタフェースに対する処理に時間のかかるメソッドの場合は、タイムアウト値を指定することをお薦めします。
|
親トピック: 構成ファイルのINTERFACESセクションの作成方法
3.75.2 ファクトリ・ルーティング基準を指定する
各CORBAインタフェースに対し、INTERFACES
セクションでインタフェースのルーティング基準を指定します。INTERFACES
セクションでは、FACTORYROUTING
識別子を使用してルーティング基準を指定します。
3.75.2.1 Universityのサンプル
University Productionサンプル・アプリケーションでは、ファクトリ・ベース・ルーティングのコード作成方法を示しています(次のリストを参照)。このサンプルのUBBCONFIG
ファイル(ubb_p.nt
またはubb_p.mk
)は、Oracle Tuxedoソフトウェアのインストール・ディレクトリに収められています。\samples\corba\university\production
サブディレクトリを検索してください。
ProductionサンプルのINTERFACESセクションのリスト
*INTERFACES
"IDL:beasys.com/UniversityP/Registrar:1.0"
FACTORYROUTING = STU_ID
"IDL:beasys.com/BillingP/Teller:1.0"
FACTORYROUTING = ACT_NUM
上の例では、University Productionサンプルの2つのインタフェースに、完全修飾されたインタフェース名が使用されています。また、FACTORYROUTING
識別子によって、ルーティング値の名前がそれぞれSTU_ID
とACT_NUM
に指定されています。
INTERFACES
FACTORYROUTING
パラメータとROUTING
セクションの関連性については、「University Productionサンプル・アプリケーションのCORBAファクトリ・ベース・ルーティング」を参照してください。
親トピック: ファクトリ・ルーティング基準を指定する
3.75.2.2 Bankappのサンプル
次のリストに、Bankappサンプル・アプリケーションでのファクトリ・ベース・ルーティングの指定方法を示します。
Bankappサンプルのファクトリ・ベース・ルーティングのリスト
*INTERFACES
"IDL:BankApp/Teller:1.0"
FACTORYROUTING=atmID
*ROUTING
atmID
TYPE = FACTORY
FIELD = "atmID"
FIELDTYPE = LONG
RANGES = "1-5:BANK_GROUP1,
6-10: BANK_GROUP2,
*:BANK_GROUP1
この例では、IDL:Bankapp/Teller
インタフェースが、ROUTING
セクションで定義されたatmID
という名前のファクトリ・ベース・ルーティング・スキームを使用しています。この例のROUTING
セクションでは、2つのグループに処理を分散するように指定しています。BANK_GROUP1
は、atmID
フィールドが1から5の間か、または10を越える場合に、アプリケーションで使用されるインタフェースを処理します。BANK_GROUP2
は、atmID
フィールドが6から10 (10を含む)の間にある場合に、アプリケーションで使用されるインタフェースを処理します。
親トピック: ファクトリ・ルーティング基準を指定する
3.75.3 ロード・バランシングを有効にする
Oracle TuxedoのCORBA環境では、ロード・バランシングは常に有効です。
各CORBAインタフェースには、起動するたびにLOAD
ファクタが割り当てられます。これで、各サーバー・プロセスの実行結果としてCORBAインタフェース全体にかかる負荷が追跡されます。各インタフェース・リクエストは、負荷の合計が最も低いサーバーにルーティングされます。ルーティング先のサーバーの負荷は、ルーティングされたCORBAインタフェースのロード・ファクタ分(LOAD
)だけ増加します。ロード・バランシングが無効であり、複数のサーバーが同じCORBAインタフェースを提供する場合は、使用可能な最初のキューがリクエストを受け取ります。
Oracle Tuxedo CORBA環境でのロード・バランシングの詳細は、『CORBAアプリケーションのスケーリング、配布およびチューニング』マニュアルのシステム制御ロード・バランシングの有効化に関する項を参照してください。
Oracle Tuxedoのリリース8.0では、CORBA環境におけるパラレル・オブジェクトがサポートされるようになり、ローカル・ドメイン内の複数サーバー間でロード・バランシングが可能になります。Oracle Tuxedo CORBA環境のパラレル・オブジェクトについては、『CORBAアプリケーションのスケーリング、分散およびチューニング』のパラレル・オブジェクトの使用に関する項を参照してください。
親トピック: 構成ファイルのINTERFACESセクションの作成方法
3.75.4 インタフェースの優先度を指定してデータ・フローを制御する
PRIO
パラメータを使用してインタフェースの優先度を割り当てることにより、Oracle Tuxedoのクライアントまたはサーバー・アプリケーションのデータ・フローを制御することができます。たとえば、サーバー1が、インタフェースA、B、およびCを提供するとします。インタフェースAおよびBの優先度は50
で、インタフェースCの優先度は70
です。Cに対してリクエストされるインタフェースは、常にAまたはBに対するリクエストより先にデキューされます。AおよびBに対するリクエストは、互いに等しくキューから取り出されます。システムは、10回に1回の割合でFIFO
順序でリクエストをキューから取り出し、メッセージがキューで無制限に待機しないようにします。
PRIO
パラメータには、次の特性があります:
- サーバーのキューにおけるCORBAインタフェースの優先度を指定します。
- 最も高い優先度が最優先されます。
- 10回に1回ごとにリクエストは
FIFO
でキューから取り出されます。
親トピック: 構成ファイルのINTERFACESセクションの作成方法
3.75.5 サーバー・グループごとに異なるインタフェース・パラメータを指定する
ロード・バランシングや優先度など、インタフェース固有のパラメータは、サーバー・グループごとに変えて設定することができます。この場合、SRVGRP
パラメータに指定したグループごとに、インタフェースの設定を繰り返す必要があります。
親トピック: 構成ファイルのINTERFACESセクションの作成方法
3.76 構成ファイルのROUTINGセクションの作成方法
UBBCONFIG
のROUTING
セクションでは、SERVICES
セクション(ATMIのデータ依存型ルーティングの場合)やINTERFACES
セクション(CORBAのファクトリ・ベース・ルーティングの場合)で指定されたルーティング基準を詳細に定義することができます。
ノート:
CORBA環境でのファクトリ・ベース・ルーティングの構成については、『CORBAアプリケーションのスケーリング、分散およびチューニング』を参照してください。次の表に、ROUTING
セクションの各パラメータの説明を示し、リファレンス・ページへのリンクや追加情報を示します。
ROUTINGセクションで指定する情報(オプション) | パラメータ(必須/省略可能) | 参照先(クリックするとリンク先にジャンプ) |
---|---|---|
ルーティング・フィールドの範囲および関連するサーバー・グループを指定します。 | RANGES (必須)
|
範囲の基準を指定する |
この値は、最大15文字の文字列。
ATMIの場合は、データ依存型ルーティング用に CORBAの場合は、ファクトリ・ベース・ルーティング用に、 |
criterion_name (必須)
|
- |
ルーティングのタイプ。
ATMIの場合、デフォルトは CORBAでは、CORBAインタフェースに対してファクトリ・ベース・ルーティングを実装する場合は |
TYPE
|
- |
ルーティング・フィールドの名前であり、値はそれぞれFML バッファ、XML の要素または要素の属性、FML フィールド表で指定されたVIEWフィールド名(FLDTBLDIR およびFIELDTBLS 環境変数を使用)、FML のVIEW表(VIEWDIR およびVIEWFILES 環境変数を使用)になります。この情報は、メッセージの送信時に、データ依存型ルーティングに関連するフィールド値を取得するために使用されます。
CORBAのファクトリ・ベース・ルーティングでは、この値によってルーティング・フィールドの名前が指定されます。最大長は30文字です。ファクトリの呼出しでファクトリ・ベース・ルーティングに対して指定されたフィールド名(インタフェースの |
FIELD (必須)
|
ルーティング・バッファ・フィールドとフィールド・タイプを定義する |
このルーティング・エントリで有効なデータ・バッファのタイプとサブタイプのリスト。このパラメータには、最大32のタイプとサブタイプの組合せを最大256文字で指定できます | BUFTYPE (必須)
|
バッファ・タイプを定義する |
親トピック: 構成ファイルの作成
3.76.1 ROUTINGセクションの例
以下は、構成ファイルのROUTING
セクションの例です。
BRNCH FIELD=B_FLD
RANGES="0-2:DBG1,3-5:DBG2,6-9:DBG3"
BUFTYPE="FML"
親トピック: 構成ファイルのROUTINGセクションの作成方法
3.77 ルーティング・バッファ・フィールドとフィールド・タイプを定義する
次の表は、ルーティング・バッファ・フィールドとフィールド・タイプの説明です。
パラメータ | 特性 |
---|---|
FIELD
|
ルーティングが行われるバッファ・フィールドの名前。30文字まで使用できます。
Oracle Tuxedoのデータ依存型ルーティングでは、このパラメータの値は、 XML ドキュメントのルーティングでは、FIELD 構文には、ルーティング要素のタイプ(または名前)またはルーティング要素の属性名が含まれます。FIELD パラメータは、次の構文で定義します。 要素は、XMLドキュメントまたはデータグラムの要素のタイプ(または名前)または要素の属性名とみなされます。この情報は、ドキュメントまたはデータ・グラムの送信時に、データ依存型ルーティングに関連する要素の内容または属性値を取得するために使用されます。索引はサポートされないので、Oracle Tuxedoシステムは、データ依存型ルーティングでXMLバッファを処理する際に、与えられた要素タイプの最初のオカレンスだけを認識します。
CORBAのファクトリ・ベース・ルーティングでは、この値によってルーティング・フィールドの名前が指定されます。最大長は30文字です。ファクトリの呼出しでファクトリ・ベース・ルーティングに対して指定されたフィールド名(インタフェースの |
FIELDTYPE
|
このパラメータは、XMLバッファをルーティングする場合にのみ使用されます。このパラメータは、FIELD で指定されたルーティング・フィールドのデータ型を示します。構文は以下のとおりです。 type は、string 、char 、short 、long 、float またはdouble のいずれかです。
ルーティング・フィールドのデフォルトのデータ型は |
親トピック: 構成ファイルの作成
3.78 範囲の基準を指定する
RANGES
パラメータでは、フィールド値を次のようにグループ名にマップできます。
RANGES=”[val1[-val2]:group1] [,val3[-val4]:group2]...[,*:groupn]”
val1
、val2
などはフィールドの値であり、groupn
はグループ名または任意のグループが選択されることを示すワイルドカード文字(*)です。最後にval
のかわりに指定されている*文字はcatch-all
、つまり、データが指定された範囲内にない場合はデフォルトのグループに割り当てられることを示します。また、データが範囲内にあっても、その範囲のエントリに関連する有効なサーバーがグループ内にない場合、サービス・リクエストは、ワイルドカード「*
」で指定したデフォルトのグループに転送されます。val1
には、次の値を使用できます:
- 数値(数値フィールドで使用)
STRING
バッファまたはCARRAY
バッファ(一重引用符で囲む)-
MIN
またはMAX
(マシンのデータの最小値または最大値)
範囲はいくつでも指定できますが、ルーティング情報は共有メモリーに保存されるため、システム・リソースを消費します。
ノート:
範囲は重複してもかまいません。ただし、値が2つの範囲に当てはまる場合、その値は最初のグループにマップされます。たとえば、RANGES
がRANGES="0-5:Group1,3-5:Group2"
に指定されている場合、4
はGroup1
にルーティングされます。
親トピック: 構成ファイルの作成
3.79 バッファ・タイプを定義する
Oracle Tuxedoのデータ依存型ルーティングでは、BUFTYPE
パラメータを使用して、バッファ・タイプを指定できます。このパラメータは、特定のバッファ・タイプとサブタイプに対してルーティング基準を適用するため、SERVICES
セクションの対応するパラメータと似ています。ルーティングに使用できるのは、FML
、XML
、およびVIEW
タイプだけです。構文は、SERVICES
セクションと同じく、type:subtype[,subtype]をセミコロンで区切って示します。ルーティング基準には1つのタイプしか指定できません。この制限により、サービスのルーティング時に受け付けられるバッファ・タイプの数が限定されます。
親トピック: 構成ファイルの作成
3.80 University Productionサンプル・アプリケーションのCORBAファクトリ・ベース・ルーティング
CORBA University Productionサンプル・アプリケーションでは、Oracle Tuxedoでファクトリ・ベース・ルーティングを実装する方法を示します。このサンプルのUBBCONFIG
ファイル(ubb_p.nt
またはubb_p.mk
)は、Oracle Tuxedoソフトウェアのインストール・ディレクトリに収められています。\samples\corba\university\production
サブディレクトリを検索してください。
次のubb_b.nt
構成ファイルのINTERFACES
、ROUTING
およびGROUPS
セクションは、Oracle TuxedoのCORBAアプリケーションでファクトリ・ベース・ルーティングを実装する方法を示しています。
INTERFACES
セクションには、ファクトリ・ベース・ルーティングを有効にするインタフェースの名前がリストされています。各インタフェースについて、このセクションでインタフェースのルーティングの基準の種類を指定します。このセクションでは、次のリストの例で示すように、FACTORYROUTING
識別子を使用してルーティング基準を指定します
ProductionサンプルのINTERFACESセクションのリスト
*INTERFACES
"IDL:beasys.com/UniversityP/Registrar:1.0"
FACTORYROUTING = STU_ID
"IDL:beasys.com/BillingP/Teller:1.0"
FACTORYROUTING = ACT_NUM
上の例では、Productionサンプルでファクトリ・ベース・ルーティングが使用される2つのインタフェースの完全修飾されたインタフェース名を示します。また、FACTORYROUTING
識別子によって、ルーティング値の名前がそれぞれSTU_ID
とACT_NUM
に指定されています。
ROUTING
セクションでは、ルーティング値ごとに次のデータを指定します。
TYPE
パラメータでは、ルーティングのタイプを指定します。Productionサンプルでは、ルーティングのタイプはファクトリ・ベース・ルーティングです。したがって、このパラメータは、FACTORY
と定義します。FIELD
パラメータでは、ファクトリがルーティング値として挿入する変数名を指定します。Productionサンプルでは、このフィールド・パラメータがそれぞれstudent_idとaccount_number
に設定されています。FIELDTYPE
パラメータは、ルーティング値のデータ型を指定します。Productionサンプルでは、student_id
およびaccount_number
のフィールドはlong型です。RANGES
パラメータでは、サーバー・グループと、各ルーティング値の有効範囲のサブセットを関連付けます。
次のリストに、Productionサンプル・アプリケーションで使用するUBBCONFIG
ファイルのROUTING
セクションを示します。
ProductionサンプルのROUTINGセクションのリスト
*ROUTING
STU_ID
FIELD = "student_id"
TYPE = FACTORY
FIELDTYPE = LONG
RANGES = "100001-100005:ORA_GRP1,100006-100010:ORA_GRP2"
ACT_NUM
FIELD = "account_number"
TYPE = FACTORY
FIELDTYPE = LONG
RANGES = "200010-200014:APP_GRP1,200015-200019:APP_GRP2"
上の例では、IDが特定の範囲に含まれる学生のRegistrarオブジェクトが1つのサーバー・グループに、別の範囲に含まれる学生のRegistrarオブジェクトが別のグループにインスタンス化されています。同様に、特定の範囲に含まれる口座のTellerオブジェクトが1つのサーバー・グループに、別の範囲に含まれる口座のTellerオブジェクトが別のグループにインスタンス化されています。
UBBCONFIG
ファイルのROUTING
セクションでRANGES
識別子によって指定されたグループを、識別して構成する必要があります。たとえば、Productionサンプルでは、ORA_GRP1
、ORA_GRP2
、APP_GRP1
およびAPP_GRP2
の4つのグループが指定されています。これらのグループを構成し、グループが実行されるマシンを識別する必要があります。
次のリストに、ProductionサンプルのUBBCONFIG
ファイルのGROUPS
セクションを示します。GROUPS
セクションに列挙されている名前が、ROUTING
セクションに指定されているグループ名とどのように一致するかに注目してください。さらに、アプリケーションでグループを構成する方法に関する何らかの変更も、ROUTING
セクションに反映させる必要があります。(Oracle TuxedoソフトウェアとともにパッケージされているProductionサンプルは1台のマシンでのみ実行できるように構成されている点に注意してください。ただし、このアプリケーションを複数のマシンで実行できるように構成することは簡単です。)
ProductionサンプルのGROUPSセクションのリスト
*GROUPS
APP_GRP1
LMID = SITE1
GRPNO = 2
TMSNAME = TMS
APP_GRP2
LMID = SITE1
GRPNO = 3
TMSNAME = TMS
ORA_GRP1
LMID = SITE1
GRPNO = 4
OPENINFO = "ORACLE_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=100+LogDir=.+MaxCur=5"
CLOSEINFO = ""
TMSNAME = "TMS_ORA"
ORA_GRP2
LMID = SITE1
GRPNO = 5
OPENINFO = "ORACLE_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=100+LogDir=.+MaxCur=5"
CLOSEINFO = ""
TMSNAME = "TMS_ORA"
親トピック: 構成ファイルの作成
3.81 Bankappサンプル・アプリケーションのCORBAファクトリ・ベース・ルーティング
次のリストに、INTERFACES
セクションでBankappサンプル・アプリケーションを拡張し、ファクトリ・ベース・ルーティングを使用する方法を示します。Oracle Tuxedoソフトウェアに収録されているサンプル・アプリケーションでは、以下のパラメータは設定されていません。
BankappサンプルのINTERFACESセクションのリスト
*INTERFACES
"IDL:BankApp/Teller:1.0"
FACTORYROUTING=atmID
*ROUTING
atmID
TYPE = FACTORY
FIELD = "atmID"
FIELDTYPE = LONG
RANGES = "1-5:BANK_GROUP1,
6-10: BANK_GROUP2,
*:BANK_GROUP1
*GROUPS
SYS_GRP
LMID = SITE1
GRPNO = 1
BANK_GROUP1
LMID = SITE1
GRPNO = 2
BANK_GROUP2
LMID = SITE1
GRPNO = 3
この例では、IDL:Bankapp/Teller
インタフェースが、ROUTING
セクションで定義されたatmID
という名前のファクトリ・ベース・ルーティング基準を使用しています。この例では、以下の2つのサーバー・グループに処理が分散されます。
-
BANK_GROUP1
は、atmID
フィールドが1から5 (5を含む)の間または10より大きい場合に、アプリケーションで使用されるインタフェースを処理します。 -
BANK_GROUP2
は、atmID
フィールドが6から10 (10を含む)の間にある場合に、アプリケーションで使用されるインタフェースを処理します。
親トピック: 構成ファイルの作成
3.82 スレッドを利用するOracle Tuxedoシステムの構成方法
マルチコンテキスト化されたアプリケーションを構成するには、UBBCONFIG
ファイルを通常どおりに編集し、アプリケーションに必要な次の表に示されたパラメータを追加します。編集には、テキスト・エディタまたはOracle Tuxedo管理コンソールを使用します。
表3-18 スレッドを使用する構成ファイルのパラメータの設定
セクション | パラメータ | 考慮事項 |
---|---|---|
RESOURCES |
MAXACCESSERS |
省略可能なパラメータ。ただし、50アクセサ(デフォルト値)より大きい値を割り当てる必要があります。
ライセンスの制限のため、マルチコンテキスト化されたクライアントの各コンテキストは個別にカウントされます。 |
MACHINES |
NOTIFY |
非請求通知に使用するデフォルトの方法を定義する省略可能なパラメータ。マルチコンテキスト・アプリケーションで有効な値は次のとおりです。
|
MAXACCESSERS |
省略可能なパラメータ。ただし、50アクセサ(デフォルト値)より大きい値を割り当てる必要があります。
ライセンスの制限のため、マルチコンテキスト化されたクライアントの各コンテキストは個別にカウントされます。 |
|
SERVERS |
MAXWSCLIENTS |
省略可能なパラメータ。
マルチコンテキスト化されたワークステーション・クライアントの各コンテキストは、ライセンス制限のため、個別にカウントされます。 デフォルトは0であるため、ワークステーション・クライアントが定義されているマシンを介してシステムにアクセスする場合は、このパラメータを設定する必要があります。 |
MINDISPATCHTHREADS |
省略可能なパラメータ。 | |
MAXDISPATCHTHREADS |
マルチスレッド化されたサーバーの必須パラメータ。
既存のサーバーをマルチスレッド化する場合、経験のあるプログラマは、サーバーのソース・コードがスレッド・セーフな方法で作成されているかどうかを検証しなければなりません。つまり、構成ファイルの |
|
THREADSTACKSIZE |
省略可能なパラメータ。
サーバー・ディスパッチ・スレッドが特別に大きなスタックを必要とする場合に設定することが必要な場合があります。 デフォルトの0は、ほとんどのアプリケーションに対して十分です。(オペレーティング・システムに0が渡された場合、オペレーティング・システムは固有のデフォルトを呼び出します。) |
親トピック: 構成ファイルの作成
3.83 構成ファイルのコンパイル方法
構成ファイルのコンパイルとは、テキスト形式のUBBCONFIG
ファイルを、バイナリ形式のTUXCONFIG
ファイルに変換することです。構成ファイルをコンパイルするには、tmloadcf
コマンドを実行します。tmloadcf
によりUBBCONFIG
ファイルが解析され、バイナリ形式のファイルがロードされます。
tmloadcf
は、ファイル(UBBCONFIG
の構文に記述された標準入力)を読み取って構文をチェックし、オプションでバイナリ形式の構成ファイルであるTUXCONFIG
をロードします。TUXCONFIG
環境変数およびTUXOFFSET
環境変数(オプション)により、TUXCONFIG
ファイルとオフセットが指定され、情報はこの場所に格納されます。tmloadcf
は、-c
または -n
オプションが指定されていないかぎり、UBBCONFIG
ファイルのRESOURCES
セクションで指定されているMASTER
マシンでのみ実行できます。
ノート:
UBBCONFIG
ファイルのRESOURCES
セクションにUID
が指定されている場合、この値は、tmloadcf
を実行する担当者のユーザー識別子(UID
)と同じでなければなりません。TUXCONFIG
環境変数に指定されたパス名は、UBBCONFIG
ファイルのMACHINES
セクション内のTUXCONFIG
パラメータに指定されているパス名と完全に一致する必要があります(大文字/小文字の区別も含む)。そうでないと、tmloadcf(1)
は正常に実行されません。
親トピック: 構成ファイルの作成