|
|
TM_MIB(5)
名前
TM_MIB-コア BEA Tuxedo システムの管理情報ベース
形式
#include <fml32.h>
#include <tpadm.h>
機能説明
BEA Tuxedo システムの MIB は、アプリケーションの基本的な性質を設定および管理するためのクラスの集合を定義します。これには、マシン、サーバ、ネットワークの管理、ロード・バランシングなどが含まれます。
TM_MIB(5)は、管理要求のフォーマットや管理応答の解釈を行うためには、共通MIBのマニュアル・ページの MIB(5) とともに使用します。このマニュアルに記載されたクラスや属性を利用して MIB(5) の手順に従ってフォーマットした要求は、アクティブなアプリケーション中に存在するさまざまなATMIインターフェイスを利用して管理サービスを要求するために使用できます。アクティブでないアプリケーションも、tpadmcall() 関数のインターフェイスを利用して管理することができます。TM_MIB(5) のすべてのクラス定義に関連する追加情報については、「TM_MIB(5) に関する追加情報」を参照してください。
TM_MIB(5) には次のクラスがあります。
属性表の形式
このMIBの一部をなす個々のクラスは、下記のセクションの4つの部分で定義します。4つの部分の 1 つが属性表です。属性表はクラス内の属性をリストし、さらに管理者、オペレータ、一般ユーザが属性を使用してアプリケーションとインターフェイスをとる方法を示しています。
属性表には、個々の属性ごとに名前、タイプ、パーミッション、値、デフォルト値という5つの項目があります。各項目については MIB(5)で説明します。
TA_FLAG値
MIB(5) は共通の TA_FLAGS 属性を定義します。long 型で、共通およびコンポーネントのMIB固有フラグ値の両方が含まれます。下に示した値は、サポートされる TM_MIB(5) のフラグ値です。これらのフラグ値は共通MIBフラグと組み合わせて使用します。
FML32 フィールド・テーブル
このマニュアル・ページに記述する属性のフィールド・テーブルは、システムにインストールした BEA Tuxedo システム・ソフトウェアのルート・ディレクトリからの相対パス udataobj/tpadm で指定されるファイルにあります。${TUXDIR}/udataobj ディレクトリは FLDTBLDIR 環境変数で指定されるコロンで区切ったリストに、またフィールド・テーブル名 tpadm は FIELDTBLS 環境変数で指定されるカンマで区切ったリストに、アプリケーションで含めなければなりません。
制限事項
このMIBのヘッダ・ファイルやフィールド・テーブルには、BEA Tuxedo リリース 6.1 以降のサイト (ネイティブ版および /WS 版の両方) でのみアクセスできます。
/WSによるこのMIBへのアクセスは、実行時のみのアクセスに制限されており、関数 tpadmcall(3c) はワークステーションではサポートされません。
プレイメージの処理(MIB_PREIMAGE フラグ・ビットをセット)のために、グローバル属性を持つクラスのローカル属性は考慮されません。また、インデックス付きのフィールド、およびそれらのフィールドとともに送出されるインデックスも考慮されません(例: T_TLOG クラスの TA_TLOGCOUNT、TA_TLOGINDEX、TA_GRPNO、TA_TLOGDATA 属性)。
T_BRIDGE クラスの定義
概要
T_BRIDGE クラスは、アプリケーションを構成する論理マシン間の接続性に関する実行時の属性を表します。これらの属性の値は、接続の状態および統計値を表します。
属性表
注1 T_BRIDGE クラスのすべての属性はローカル属性です。 注2 TA_LMID 属性は、SET 操作に対してはすべて (LMID1、LMID2) を指定する必要があります。 注3 このリリースでは、SET 操作は TA_NETGROUP DEFAULTNET だけを用います。GET オペレーションが両方の LMID 値のために定義された TA_NETGROUP を使うことがあります。 注4 TA_SUSPTIME をセットできるのは、TA_STATE が現在 SUSPENDED にセットされている場合、またはこれから SUSPENDED に セットしようとする場合に限られます。 注5 リンク・レベルでの暗号化の値 40 ビットは、下位互換性を維持するために提供されています。 属性の意味
注記 リンク・レベルでの暗号化の値 40 ビットは、後方互換性を維持するために提供されています。
制限事項
なし
T_CLIENT クラスの定義
概要
T_CLIENT クラスは、アプリケーション中のアクティブなクライアントの実行時属性を表します。これらの属性の値は、実行中のアプリケーションのクライアントの動作を識別し、記録します。
属性表
注1 T_CLIENT クラスの属性は、すべてローカル属性です。 属性の意味
注2 リンク・レベルでの暗号化の値 40 ビットは、下位互換性を維持するために提供されています。
注記 リンク・レベルでの暗号化の値 40 ビットは、下位互換性を維持するために提供されています。
注記 一部のポート番号は、システムで使用される基本トランスポート・プロトコル (TCP/IP など) のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート・プロトコルのマニュアルを調べてください。
制限事項
なし
T_CONN クラスの定義
概要
T_CONN クラスは、アプリケーション中のアクティブな会話の実行時属性を表します。
属性表
注1 T_CONN クラスの属性は、すべてローカル属性です。 属性の意味
ACTive |
返されるオブジェクトは、アプリケーション中のアクティブな会話の一方または両側の状態を反映します |
制限事項
なし
T_DEVICE クラスの定義
概要
T_DEVICE クラスは、BEA Tuxedo システムのデバイス・リストの記憶に使用される raw ディスク・スライスあるいは UNIX システムのファイルのコンフィギュレーションと実行時属性を表します。このクラスは、raw ディスク・スライスあるいは UNIX システムのファイルに記憶されるデバイス・リストのエントリの作成および削除を可能にします。
属性表
注1 T_DEVICE クラスの属性は、すべてローカル属性です。 属性の意味
注2 SET 操作では、デバイス・リストの新たなエントリを作成するために状態を NEW にセットする場合を除いて、デバイス・リストの特定のエントリを指定するために TA_DEVINDEX が必要となります。デバイス・リストの新たなエントリを作成するために状態をNEWにセットする場合は、値はエントリの作成が正しく実行された時点でシステムによって割り当てられ、返されるため、TA_DEVINDEX はセットしないでください。
注3 TA_DEVSIZE を セットできるのは、オブジェクトを作成する場合に限られます。
VALid |
TA_CFGDEVICE が示す BEA Tuxedo のファイル・システムが存在し、有効なデバイス・リストが含まれていることを示します。TA_DEVICE は、デバイス・インデックス telnetlchome3 を持つファイル・システム内の有効なデバイスです。 |
制限事項
なし
T_DOMAIN クラスの定義
概要
T_DOMAIN クラスは、グローバルなアプリケーションの属性を表します。これらの属性の値は、BEA Tuxedo システム のアプリケーションの識別、カスタマイズ、サイズの指定、セキュリティ調節に使用されます。ここに記載した属性値の多くは、このMIBで示す他のクラスに対してアプリケーションのデフォルト値として使用されます。
個々のアプリケーションに対しては、かならず T_DOMAIN クラスのオブジェクトが 1 つだけ存在します。したがって、このクラスではキー・フィールドは定義されていません。このクラスに対する GET 操作は、かならずこの唯一のオブジェクトを表す情報を返します。同様に、SET 操作はその唯一のオブジェクトを更新します。GETNEXT は、このクラスでは使用できません。
属性表
注1 UNIX システムが認識できる UID と GID 属性の意味
注2 num は5の倍数であること
注3 num は、num と TA_SCANUNIT の積がほぼデフォルト値と同じになるようにセットします。
ACTive |
T_DOMAIN オブジェクトが定義されていて、マスタ・マシンがアクティブな状態にあることを示します。 |
INActive |
T_DOMAIN オブジェクトが定義されていて、アプリケーションがアクティブでない状態にあることを示します。 |
注記 SIGNAL 通知方式は、MS-DOS クライアントでは使用できません。
(2) TA_SYSTEM_ACCESS を PROTECTED に設定しても、マルチスレッド・サーバには効果がない場合があります。あるスレッドが BEA Tuxedo コードを実行中、つまりスレッドが掲示板にアタッチされている間に、別のスレッドがユーザ・コードを実行している可能性があるからです。BEA Tuxedo システムでは、このような状況を防止することはできません。
注記 TA_OPTIONS パラメータの NO_AA 値が有効の場合、セキュリティ・パラメータ NONE、APP_PW、および USER_AUTH は正しく動作しますが、認証や監査は実行されません。残りのセキュリティ・モード ACL と MANDATORY_ACL は正しく動作しますが、デフォルトの BEA セキュリティ・メカニズムのみを使用します。
制限事項
このクラスの属性の多くは、アプリケーションがアクティブでない状態のときにしか調節できません。これは、ATMI インターフェイス・ルーチンを利用してアプリケーションを管理することは不可能なことを意味します。そのため、起動されていないアプリケーションの環境を設定または再設定するための手段として、tpadmcall() という関数が用意されています。このインターフェイスは、そのアプリケーションに対してマスタ・サイトとして設定されたサイトのみで、アクティブでないアプリケーションのコンフィギュレーション (SET 操作) のためだけに使用することができます。いったんコンフィギュレーションを作成し、アクティブな状態にすると、MIB(5) に記載した標準の ATMI インターフェイスを利用してアプリケーションを管理することが可能になります。
T_FACTORY MIB
概要
T_FACTORY MIB クラスは、FactoryFinder で登録されているファクトリのオカレンスを表します。アプリケーションで使用可能なファクトリがこの MIB に反映され、管理者は Administration Console またはコマンド行ツールを使用してそれを確認することができます。スコープはグローバルです。
属性表
属性 |
使用 |
タイプ |
パーミッション |
値 |
デフォルト値 |
TA_STATE |
k |
string |
R--R--R-- |
GET:"{ACT}" |
NA |
TA_FACTORYID |
k |
string |
R--R--R-- |
string |
NA |
TA_INTERFACENAME |
k |
string |
R--R--R-- |
string |
NA |
( k ) - GET キー・フィールド |
下に示した状態は、GET 要求に対する応答で返される TA_STATE の意味を示します。
ACTive |
T_FACTORY オブジェクトが FactoryFinder によって登録されています。 |
T_GROUP クラスの定義
概要
T_GROUP クラスは、特定のサーバ・グループに関連のあるアプリケーション属性を表します。これらの属性の値は、グループの識別、サイト、DTP に関する情報を表します。
属性表
OPENINFO = "TUXEDO/QM:qmconfig:qspace"
OPENINFO = "TUXEDO/QM:qmconfig;qspace"
OPENINFO = "TUXEDO/QM:qmconfig;qspace"
OPENINFO = "TUXEDO/QM,[a.b.c]qmconfig,qspace"
制限事項
なし
T_IFQUEUE クラス
概要
T_IFQUEUE MIB クラスは、CORBA 環境における特定のサーバ・キュー (T_QUEUE) に関係し、インターフェイスの実行時属性を表します。このクラスは本質的に読み取り専用であり、インターフェイスが継承する環境設定属性へのアクセス、およびキュー内のインターフェイスに関連する統計情報を提供します。さらに、このクラスを利用して、管理者はインターフェイスをきめ細かく中断したりアクティブ化することができます。このクラスは、インターフェイス名と、インターフェイス上のメソッドの呼び出しを処理できるサーバ・プロセスとのリンクを提供します。つまり、TA_RQADDR を T_SERVER クラス上のキー検索フィールドとして使用することができます。
属性表
ACTive T_IFQUEUE オブジェクトは、実行中のシステムで使用できるインターフェイスを表します。 SUSpended T_IFQUEUE オブジェクトは、実行中のシステムで現在中断されているインターフェイスを表します。 PARtitioned T_IFQUEUE オブジェクトは、実行中のシステムで現在分断されているインターフェイスを表します。
ACTive T_IFQUEUE オブジェクトをアクティブ化します。状態の変更は、SUSpended 状態でのみ可能です。正常終了すると、オブジェクトの状態はACTive になります。 SUSpended T_IFQUEUE オブジェクトを中断します。状態の変更は、ACTive 状態でのみ可能です。正常終了すると、オブジェクトの状態は SUSpended になります。
T_INTERFACE クラス
概要
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 ファイル経由で識別され、サーバの起動時にシステムによって自動的に宣言されます。
属性表
a. グループ・レベルの T_INTERFACEオブジェクト (TA_SRVGRP != "") は、TA_INTERFACENAME 設定が一致するドメイン・レベルの T_INTERFACE オブジェクトが存在する場合には、そのオブジェクトからデフォルト値を決定します。ドメイン・レベルのオブジェクトが存在しない場合、またはドメイン・レベルのオブジェクトが作成中の場合は、一覧表示されているデフォルト値が適用されます。 b. 同じ TA_INTERFACENAME を持つ T_INTERFACE オブジェクトはすべて、TA_FBROUTINGNAME 値が一致していなければなりません。したがって、現在 TA_INTERFACENAME が同じで一致するオブジェクトがない場合、新しく設定されるオブジェクトのデフォルト値は長さが 0 の文字列 ("") になります。一致するオブジェクトがある場合は、デフォルト値 (および唯一の有効値) は、既存の一致するオブジェクトに対して現在設定されている TA_FBROUTINGNAME 値になります。 c. TA_NCOMPLETED および TA_IMPLID (ローカル) では、T_DOMAIN MIB クラスで TA_LDBAL="Y" となっている必要があります。 属性の意味
always 値 N は、実行時には無効です。Y に設定された場合と同様に動作します。 never 値 Y は、実行時には無効です。インターフェイスがトランザクションに含まれることはありません。 ignore 値 Y は実行時には無効です。インターフェイスがトランザクションに含まれることはありません。
インプリメンテーションのヒント
T_INTERFACE MIB は、インターフェイスから BEA Tuxedo サービスへのマッピングです。MIB サーバは、対応する T_SERVICE オブジェクトの既存のロジックを呼び出すことにより、インターフェイスの get/set 操作の一部をインプリメントすることができます。
T_MACHINE クラスの定義
概要
T_MACHINE クラスは、特定のマシンに関するアプリケーション属性を表します。これらの属性の値は、マシンの特性、マシンごとのサイズ、統計値、カスタマイズ・オプション、UNIX システムのファイル名などを表します。
属性表
注1 TA_LMID と TA_PMID は、それぞれこのクラス内で一意の値でなければなりません。SET 操作では、これらのいずれか一方のフィールドだけが使用されます。両方を指定する場合は、どちらも同じオブジェクトを指している必要があります。 属性の意味
注2 デフォルト設定は、T_DOMAIN クラスでこの属性に指定された値と同じ値になります。
注3 デフォルト値は、TA_APPDIR の後に /ULOG が続く文字列です。
注4 リンク・レベルでの暗号化の値 40 ビットは、下位互換性を維持するために提供されています。
注記 リンク・レベルでの暗号化の値 40 ビットは、下位互換性を維持するために提供されています。
注記 リンク・レベルでの暗号化の値 40 ビットは、下位互換性を維持するために提供されています。
制限事項
SHM モード (T_DOMAIN:TA_MODEL 参照) のアプリケーションは、T_MACHINE オブジェクトを 1 つしか持つことができません。LAN オプション (T_DOMAIN:TA_OPTIONS 参照) をセットした MP モード (T_DOMAIN:TA_MODEL 参照) のアプリケーションは、T_DOMAIN:TA_MAXMACHINES 属性で指定された最大数の設定可能な T_MACHINE オブジェクトを持つことができます。このクラスの属性の多くは、サイトでアプリケーションがアクティブでない状態のときにしか調整できません。最低限にアクティブなアプリケーションにおいても、少なくともマスタ・マシンはアクティブでなければならないので、アプリケーションを管理するための ATMI インターフェイス・ルーチンはマスタ・マシン・オブジェクトに対して使用することはできません。そのため、起動されていないアプリケーションの環境設定を行うための手段として tpadmcall() という関数が用意されており、この関数を利用すると、マスタ・マシンのこれらの属性を設定することができます。
T_MSG クラスの定義
概要
T_MSG クラスは、BEA Tuxedo システム が管理する UNIX システムのメッセージ・キューの実行時属性を示します。
属性表
注1 T_MSGクラスの属性は、すべてローカル属性です。 属性の意味
ACTive |
T_MSG オブジェクトがアクティブな状態にあることを示します。これは、関連のある T_MACHINE オブジェクトがアクティブであることを意味します。 |
制限事項
このクラスは UNIX システムに固有のクラスであり、UNIX バージョン以外の BEA Tuxedo システムではサポートされない場合があります。
T_NETGROUP クラスの定義
概要
T_NETGROUP のクラスは、ネットワーク・グループの属性を表します。ネットワーク・グループは、LMID のグループで、T_NETMAP クラスに定義された TA_NADDR ネットワーク・アドレスによって通信できます。
属性表
VALid |
T_NETGROUP オブジェクトが定義され、アクティブではありません。このクラスでは、有効な状態は VALid だけです。ネットグループ にアクティブなものはありません。 |
注記 BEA Tuxedo リリース 6.4 では、並列データ回線は、優先グループ番号のネットワーク・グループ番号 (NETGRPNO) で優先付けされます。今後のリリースでは、別のアルゴリズムを使用して、並列のデータ回線の優先順位を決める可能性があります。
制限事項
なし
T_NETMAP クラスの定義
概要
T_NETMAP クラスは、TM_MIB の T_MACHINE のクラスからの TA_LMID を T_NETGROUP クラスからの TA_NETGROUP オブジェクトに関連付けます。つまり、このクラスには、論理マシンのネットワーク・グループへの割り当てが含まれます。TA_LMID は、多くの TA_NETGROUP グループに含めることができます。1 つの LMID が別の LMID に接続している場合、BRIDGE プロセスは 2 つの LMID が所属するネットワーク・グループのサブセットを決定します。1 対の LMID がいくつかの共通したグループにある時、その LMID は TA_NETPRIO の降順にソートされます(TA_NETGRPNO は二次キー)。TA_NETPRIO が同じネットワーク・グループは、ネットワークのデータを同時に送信します。ネットワークのエラーにより最も優先順位が高いグループを使ってデータが送信されない場合は、次に優先順位の高いネットワーク・グループを使用します。これを "failover" と呼びます。failover の状況では、より優先順位の高いグループへの接続が定期的に試行されます。TA_NETPRIO 値の高い接続が確立すると、優先順位の低い回線にはデータ送信が予定されることはありません。優先順位の低い接続がなくなると、その回線は順番に切断されます。これを "failback" と呼びます。
属性表
注1 リンク・レベルでの暗号化の値 40 ビットは、下位互換性を維持するために提供されています。 属性の意味
VALid |
T_NETMAP オブジェクトが定義されます。このクラスでは、有効な状態はVALidだけです。ネットワーク・グループには ACTive 状態のものはありません。 |
注記 リンク・レベルでの暗号化の値 40 ビットは、下位互換性を維持するために提供されています。
注記 リンク・レベルでの暗号化の値 40 ビットは、下位互換性を維持するために提供されています。
制限事項
なし
T_QUEUE クラスの定義
概要
T_QUEUE クラスは、アプリケーションのキューの実行時属性を示します。これらの属性の値は、実行中のアプリケーションでサーバに関連のある割り当てられた BEA Tuxedo システムの要求キューを識別し、特性づけます。また、それぞれのキュー・オブジェクトに関連のあるアプリケーションの作業負荷に関する統計値を記録します。
複数のマシンが存在するアプリケーションで MIB_LOCAL フラグを利用した GET 操作を実行する際には、アクティブなそれぞれのキューに対して複数のオブジェクトが返されます (ローカル属性が収集されるそれぞれの論理マシンごとに 1 つ)。
属性表
制限事項
なし
T_ROUTING クラスの定義
概要
T_ROUTING クラスは、アプリケーションに対するルーティング指定のコンフィギュレーション属性を示します。これらの属性値は、フィールド名、バッファ・タイプ、ルーティングの定義に関してアプリケーション・データに依存するルーティング基準を示します。
属性表
注 1TA_BUFTYPE は、ATMI のデータ依存型ルーティング基準にのみ適用されます。TA_FIELDTYPE は、CORBA のファクトリ・ベース・ルーティング基準にのみ適用されます。指定された u (一意性) パーミッションは、該当する場合にのみ適用されます。つまり、TA_ROUTINGNAME、TA_TYPE、および TA_BUFTYPE の組み合わせは、TA_TYPE=SERVICE で一意である必要があります。 TA_TYPE 属性は、TA_ROUTING オブジェクトに許可する属性を決定します。TYPE=SERVICE は、ATMI のデータ依存型ルーティング基準に対応します。TYPE=FACTORY は、CORBA のファクトリ・ベース・ルーティングに対応します。デフォルトは "SERVICE" です。TA_TYPE が指定されていない場合、SET 操作はデータ依存型ルーティングに対する操作として解釈されます。 属性の意味
"root_element[/child_element][/child_element][/.. .][/@attribute_name]"
VALid |
T_ROUTING オブジェクトが定義されていることを示します。このクラスでは、有効な状態は VALid だけです。ルーティング条件は ACTive になることはなく、コンフィギュレーションを通じてサービス名と関連付けられ、実行時にデータ依存ルーティングを提供するために使用されます。この状態は、パーミッションの決定に際しては INActive と同等です。 |
制限事項
なし
T_SERVER クラスの定義
概要
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 でこの属性に対して指定した値になります。 属性の意味
SUSpended | PARtitioned | DEAd}
注記 Windows 2000 システムでリダイレクトまたはパイプする場合は、以下のいずれかの方法を使用する必要があります。
注記 Windows 2000 システム上でリダイレクトまたはパイプする場合は、TA_RCMD 属性の項に記載されている方法のいずれかを使用する必要があります。
注記 Windows 2000 システム上でリダイレクトまたはパイプする場合は、TA_RCMD 属性の項に記載されている方法のいずれかを使用する必要があります。
制限事項
なし
T_SERVERCTXT クラスの定義
概要
T_SERVERCTXT クラスは、アプリケーション内の個々のサーバ・ディスパッチ・コンテキストのコンフィギュレーションおよび実行時属性を表します。このクラスは、シングルコンテキスト・サーバおよびマルチコンテキスト・サーバの両方に対して定義されます。シングルコンテキスト・サーバでは、このクラスの値は T_SERVER クラスの一部として繰り返し使用されます。T_SERVERCTXT クラスの属性は読み取り専用です。
これらの属性の値は、各サーバ・ディスパッチ・コンテキストに関する統計値およびリソースの実行時の情報を提供します。
属性表
注 1 T_SERVERCTXT クラスの属性は、すべてローカル属性です。 属性の意味
制限事項
なし
T_SERVICE クラスの定義
概要
T_SERVICE クラスは、アプリケーション内のサービスのコンフィギュレーション属性を表します。属性値は環境設定済みのサービスを識別し、特性付けます。T_SERVICE オブジェクトは T_SVCGRP クラスの一部として特にコンフィギュレーションされていないサービスに対する起動時コンフィギュレーション属性を指定します。アプリケーション中でアクティブなサービスについての実行時情報は、T_SVCGRP クラスでのみ取得可能です。T_SERVICE クラスへの実行時更新は通常アクティブ T_SVCGRP オブジェクトには反映されません (TA_ROUTINGNAME は例外)。
T_SERVICE クラス、T_SVCGRP クラス共にアプリケーション内のサービス名に対する起動時属性設定を定義します。新規にサービスがアクティブ化(宣言)されると、サーバの初期起動または tpadvertise() 呼び出しをするため、以下の順序でサービス開始時に使用する属性値を決定します。
アプリケーション・サービス対するコンフィギュレーション属性の指定はすべて省略可能です。つまり、サービス起動時にサーバが宣言したサービスは、コンフィギュレーション値が未指定の場合、確立されたデフォルト・サービス値を使用します(サービス起動時に属性値を識別する方法については、上記を参照)。サーバが提示するサービス名は実行時に作成され (buildserver(1) 参照)、サーバ・オブジェクトにコマンド行オプションが指定されると、こちらが優先されます (T_SERVER:TA_CLOPT および servopts(5) 参照)。
属性表
ACTive |
T_SERVICE オブジェクトが定義され、TA_SERVICENAME 値に一致する T_SVCGRP オブジェクトのうち、少なくとも 1 つはアクティブです。 |
INActive |
T_SERVICE が定義され、TA_SERVICENAME 値が一致する T_SVCGRP オブジェクトのうち、どれもアクティブではありません。 |
制限事項
なし
T_SVCGRP クラスの定義
概要
T_SVCGRP クラスは、アプリケーション内のサービス/グループのコンフィギュレーションおよび実行時属性を表します。コンフィギュレーションおよび実行時属性値は環境設定済みのサービス/グループを識別し、特性付けます。また、各オブジェクトに対応する統計およびリソースを実行時に追跡します。
T_SERVICE クラス、T_SVCGRP クラス共にアプリケーション内のサービス名に対する起動時属性設定を定義します。新規にサービスがアクティブ化(宣言)されると、サーバの初期起動または tpadvertise() 呼び出しをするため、以下の順序でサービス開始時に使用する属性値を決定します。
アプリケーション・サービス対するコンフィギュレーション属性の指定はすべて省略可能です。つまり、サービス起動時にサーバが宣言したサービスは、コンフィギュレーション値が未指定の場合、確立されたデフォルト・サービス値を使用します(サービス起動時に属性値を識別する方法については、上記を参照)。サーバが提示するサービス名は実行時に作成され (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 と見なされます。
制限事項
なし
T_TLISTEN クラスの定義
概要
T_TLISTEN クラスは、分散アプリケーションに対する、BEA Tuxedo システムのリスナ・プロセスの実行時属性を表します。
属性表
属性 |
タイプ |
パーミッション |
値 |
デフォルト値 |
---|---|---|---|---|
TA_LMID(k) |
string |
R--R--R-- |
LMID |
N/A |
TA_STATE(k) |
string |
R--R--R-- |
GET:"{ACT|INA}" SET:N/A |
N/A N/A |
(k) - GET キー・フィールド |
INActive |
T_TLISTEN オブジェクトは非アクティブ。 |
ACTive |
T_TLISTEN オブジェクトはアクティブ。 |
制限事項
このクラスは、tpadmcall() インターフェイスからは利用不可能です。
T_TLOG クラスの定義
概要
T_TLOG クラスは、トランザクション・ログのコンフィギュレーションおよび実行時属性を表します。このクラスでは、ユーザはアプリケーション内のログを操作可能、すなわち、作成、削除、移行などを行うことができます。
属性表
注 1 T_TLOG クラスの属性は、すべてローカル属性です。 属性の意味
注 2 T_TLOG クラスの各オブジェクトで、1つ以上の TA_GRPNO 属性または TA_TLOGDATA 属性が返されます。特定のオブジェクトに属する各属性の値は、TA_TLOGINDEX で始まる TA_TLOGCOUNT 発生数です。
制限事項
なし
T_TRANSACTION クラスの定義
概要
T_TRANSACTION クラスは、アプリケーション内のアクティブなトランザクションの実行時属性を表します。
属性表
注 1 T_TRANSACTION クラスの属性は、すべてローカル属性です。 注 2 T_TRANSACTION クラスの各オブジェクトでは、1 つ以上の TA_GRPNO 属性が返されます。特定のオブジェクトに属する各属性の値は、TA_GRPINDEX で始まる TA_GRPCOUNT 発生数です。 属性の意味
制限事項
なし
T_ULOG クラスの定義
概要
T_ULOG クラスは、アプリケーション内の userlog() ファイルの実行時属性を表します。
属性表
注 1 T_ULOG クラスの属性は、すべてローカル属性です。 属性の意味
注 2 TA_LMID は、システムがどのアプリケーション・ログ・ファイルにアクセスするかを決定する際に必要なフィールドです。戻りレコードを指定マシン上で動作するプロセスが作成した戻りレコードに制限するために使用するのではありません。複数のマシンがネットワーク接続によるファイル・システム経由でログ・ファイルを共有するような場合、「キー」フィールドとして特定の値を指定しても、複数の TA_LMID 値が返されます。同様の理由で、TA_PMID は要求を特定のマシンに指定する際に考慮されるではなく、どのレコードを返すか決定するために使用されます。この機能条件では、TA_PMID を正規表現のキー・フィールドとして使用した方が便利です。
ACTive |
返されたオブジェクトが既存のユーザ・ログ・ファイルを指定論理マシンに反映させます。 |
制限事項
検索は、対応する T_MACHINE オブジェクトも ACTive の場合にのみ行われます。
このクラスの検索には指示が必要です。すなわち TA_LMID を指定しなければなりません。ワークステーション・クライアントが書き込んだログ・レコードの検索は、クライアントが使用したログ・ファイルが当該アプリケーションの T_MACHINE クラスで定義されたマシンの 1 つで共有されている場合のみ利用可能です。それ以外の場合、このクラスではログ・レコードを利用できません。
このクラスに対する検索が完全に行われなかった場合、常に1の値の TA_MORE が返されます。この値は発行要求に対する詳細情報が利用可能であることを示します。
TM_MIB(5) に関する追加情報
診断
一般に、TM_MIB(5) とのインターフェイス時、2種類のエラーがユーザに返されます。1 つは、管理要求に対する応答を検索する 3 つの ATMI 関数 (tpcall()、tpgetrply()、tpdequeue()) で、いずれかが各関数で定義されたエラーを返します。エラーは該当するマニュアル・ページの記述に従って解釈します。
しかし、要求を満足させることができるシステムサービスに要求が正常に送られ、システムサービスが要求処理に障害があると判断した場合、アプリケーション・レベルのサービス障害の形で異常終了が返されます。このような場合、tpcall() および tpcall() は、tpgetrply() を TPESVCFAIL に設定してエラーを返し、以下のようにエラーの詳細に示す TA_ERROR、TA_STATUS、および TA_BADFLD フィールドと一緒に、元の要求を含む応答メッセージを返します。TMQFORWARD(5) 経由でシステムに転送された要求に対するサービス障害が発生すると、元の要求で識別される異常終了キューに障害応答メッセージが追加されます (TMQFORWARD に対して -d オプションが指定されたと仮定します)。
サービス障害が管理要求処理時に発生した場合、FML32 フィールドの TA_STATUS に障害のテキストによる説明が設定され、FML32 フィールドの TA_ERROR に、以下に示すように障害原因が設定されます。エラー・コードはすべてマイナス値です。
以下の診断コードは TA_ERROR に戻され、管理要求が正常に完了したことを示します。これらのコードはプラスの値です。
相互運用性
このマニュアル・ページに定義されたヘッダ・ファイルとフィールド・テーブルは BEA Tuxedo リリース 6.1以上で使用できます。これらのヘッダやテーブルで定義するフィールドはリリースが変わっても変更されません。ただし、以前のリリースで定義されていない新しいフィールドが追加される場合があります。AdminAPI には、要求を作成するために必要なヘッダ・ファイルとフィールド・テーブルがあれば、どのサイトからでもアクセスできます。
リリースの異なるサイト (いずれも BEA Tuxedo リリース 6.1 以降) が相互運用を行う場合、旧サイトに関する情報は、そのリリースの MIB リファレンス・ページで定義するとおりにアクセスおよび更新できます。この情報は、新しいリリースで利用可能な情報のサブセットになります。
移植性
BEA Tuxedo システムの MIB を使用した管理作業をサポートするために必要な既存のFML32 および ATMI 関数、さらにこのマニュアル・ページに定義するヘッダ・ファイルとフィールド・テーブルは、すべてのサポート対象ネイティブ・プラットフォームおよびワークステーション・プラットフォームで利用可能です。
使用例
次のセクションでは、tpadmcall() と tpcall() を使用して、2 つのノードを持つアプリケーションのコンフィギュレーション、アクティブ化、問い合わせ、および非アクティブ化を行うコードについて説明します。ローカル環境に対して妥当な値が必要な場合は変数名を使用します。たとえば、TUXCONFIG は2つの要素を持つ文字ポインタの配列で、各要素でマシン上の TUXCONFIG ファイルの絶対パス名を識別します。
フィールド・テーブル
属性フィールド識別子にアクセスするためには、フィールド・テーブル tpadm が必要です。そのために、以下のようにシェルで入力します。
$ FIELDTBLS=tpadm
$ FLDTBLDIR=${TUXDIR}/udataobj
$ export FIELDTBLS FLDTBLDIR
ヘッダ・ファイル
以下のヘッダ・ファイルがあります。
#include <atmi.h>
#include <fml32.h>
#include <tpadm.h>
ライブラリ
${TUXDIR}/lib/libtmib.a、${TUXDIR}/lib/libqm.a、
${TUXDIR}/lib/libtmib.so.<rel>、${TUXDIR}/lib/libqm.so.<rel>、
${TUXDIR}/lib/libtmib.lib
buildclient を使用するときは、次のようにライブラリを手動でリンクする必要があります。-L$ {TUXDIR} /lib -ltmib -lqm
初期コンフィギュレーション
以下のコードは FML32 バッファを作成し、入力します。この FML32 バッファは、処理のために tpadmcall() に渡されます。この例ではさらに tpadmcall() のリターン・コードを解釈しています。ここで示す要求はアプリケーションの初期コンフィギュレーションを作成します。
/* バッファの割り当ておよび初期化 */
ibuf = (FBFR32 *)tpal loc("FML32", NULL, 4000);
obuf = (FBFR32 *)tpalloc("FML32", NULL, 4000);
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* T_DOMAIN クラス・オブジェクトに設定する TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPTIONS, 0, "LAN,MIGRATE", 0);
Fchg32(ibuf, TA_IPCKEY, 0, (char *)&ipckey, 0);
Fchg32(ibuf, TA_MASTER, 0, "LMID1", 0);
Fchg32(ibuf, TA_MODEL, 0, "MP", 0);
/* TA_MASTER T_MACHINE クラス・オブジェクトの TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
Fchg32(ibuf, TA_PMID, 0, pmid[0], 0);
Fchg32(ibuf, TA_TUXCONFIG, 0, tuxconfig[0], 0);
Fchg32(ibuf, TA_TUXDIR, 0, tuxdir[0], 0);
Fchg32(ibuf, TA_APPDIR, 0, appdir[0], 0);
Fchg32(ibuf, TA_ENVFILE, 0, envfile[0], 0);
Fchg32(ibuf, TA_ULOGPFX, 0, ulogpfx[0], 0);
Fchg32(ibuf, TA_BRIDGE, 0, "/dev/tcp", 0);
Fchg32(ibuf, TA_NADDR, 0, naddr[0], 0);
Fchg32(ibuf, TA_NLSADDR, 0, nlsaddr[0], 0);
/* tpadmcall() を使用して処理を実行 */
if (tpadmcall(ibuf, obuf, 0) 0) {
fprintf(stderr, "tpadmcall failed:%s¥n", tpstrerror(tperrno));
/* 追加のエラー処理 */
}
2 つ目のマシンの追加
以下のコードは、上記セクションで割り当てたバッファを再利用して要求バッファを作成します。以下に示す要求は先に確立したコンフィギュレーションに別のマシンを追加します。
/* 要求バッファをクリア */
Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* T_MACHINE クラス・オブジェクトに設定する TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_LMID, 0, "LMID2", 0);
Fchg32(ibuf, TA_PMID, 0, pmid[1], 0);
Fchg32(ibuf, TA_TUXCONFIG, 0, tuxconfig[1], 0);
Fchg32(ibuf, TA_TUXDIR, 0, tuxdir[1], 0);
Fchg32(ibuf, TA_APPDIR, 0, appdir[1], 0);
Fchg32(ibuf, TA_ENVFILE, 0, envfile[1], 0);
Fchg32(ibuf, TA_ULOGPFX, 0, ulogpfx[1], 0);
Fchg32(ibuf, TA_BRIDGE, 0, "/dev/tcp", 0);
Fchg32(ibuf, TA_NADDR, 0, naddr[1], 0);
Fchg32(ibuf, TA_NLSADDR, 0, nlsaddr[1], 0);
tpadmcall(...) /* 詳細なエラー処理については、上記の例を参照する */
2 つ目のマシンのバックアップ・マスタの作成
既存バッファを再利用して新規にコンフィギュレーション済みの 2 つ目のマシンをこのアプリケーションのバックアップ・マスタ・サイトとして識別します。
/* 要求バッファをクリア */
Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
/* TM_MIB(5) T_DOMAIN 属性の変更を設定 */
Fchg32(ibuf, TA_MASTER, 0, "LMID1,LMID2", 0);
tpadmcall(...); /* 詳細なエラー処理については、上記の例を参照する */
2 つのサーバ・グループの追加
バッファを再利用して 2 つの要求を作成します。1 つは 1 つのサーバ・グループをコンフィギュレーション済みのアプリケーションに追加する要求です。もう一方の要求は単に既存の入力バッファの必要なフィールドを変更するだけなので注意して下さい。
/* 要求バッファをクリア */
Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_GROUP", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* 最初のグループを定義する TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_GRPNO, 0, (char *)&grpno[0], 0);
Fchg32(ibuf, TA_LMID, 0, "LMID1,LMID2", 0);
tpadmcall(...); /* 詳細なエラー処理については、上記の例を参照する */
/* 2 つ目のグループを定義する TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP2", 0);
Fchg32(ibuf, TA_GRPNO, 0, (char *)&grpno[1], 0);
Fchg32(ibuf, TA_LMID, 0, "LMID2,LMID1", 0);
tpadmcall(...); /* 詳細なエラー処理については、上記の例を参照する */
各グループに対して 1 つのサーバを追加
割り当て済みのバッファを再利用し、グループごとに 1 つのサーバをコンフィギュレーション済みのアプリケーションに追加します。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVER", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* 最初のサーバを定義する TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&srvid[0], 0);
Fchg32(ibuf, TA_SERVERNAME, 0, "ECHO", 0)
tpadmcall(...); /* 詳細なエラー処理については、上記の例を参照する */
/* 2 つ目のサーバを定義する TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP2", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&srvid[1], 0);
tpadmcall(...); /* 詳細なエラー処理については、上記の例を参照する */
ルーティング基準の追加
ルーティング基準定義を追加します。ルーティング基準は、tpcall() インターフェイスを使用して同様の操作により、動作中のアプリケーションに動的に追加することもできます。
/* 要求バッファをクリア */
Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_ROUTING", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* ルーティング基準を定義する TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_ROUTINGNAME, 0, "ECHOROUTE", 0);
Fchg32(ibuf, TA_BUFTYPE, 0, "FML", 0);
Fchg32(ibuf, TA_FIELD, 0, "LONG_DATA", 0);
Fchg32(ibuf, TA_RANGES, 0, "MIN-100:GRP1,100-MAX:GRP2", 26);
tpadmcall(...); /* 詳細なエラー処理については、上記の例を参照する */
サービス定義の追加
上記で定義したルーティング基準に、宣言されたサービス名をマップするサービス・オブジェクトを定義します。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVICE", 0);
Fchg32(ibuf, TA_STATE, 0, "NEW", 0);
/* サービス・エントリを定義する TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SERVICENAME, 0, "ECHO", 0);
Fchg32(ibuf, TA_ROUTINGNAME, 0, "ECHOROUTE", 0);
tpadmcall(...); /* 詳細なエラー処理については、上記の例を参照する */
マスタ・サイト Admin の起動
T_DOMAIN クラス・オブジェクトの状態を ACTIVE に設定してマスタ・サイト管理プロセス (DBBL、BBL、BRIDGE) を起動します。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "ACT", 0);
tpadmcall(...); /* 詳細なエラー処理については、上記の例を参照する */
アクティブなアプリケーション管理への切り替え
これでアプリケーションがアクティブになりました。次は、アプリケーションに参加し、tpcall() インターフェイスを使用して AdminAPI 要求を作成します。
/* システムがアクティブなので、システムに管理者として参加 */
tpinfo = (TPINIT *)tpalloc("TPINIT", NULL, TPINITNEED(0));
sprintf(tpinfo->usrname, "appadmin");
sprintf(tpinfo->cltname, "tpsysadm");
if (tpinit(tpinfo) < 0) {
fprintf(stderr, "tpinit() failed:%s¥n", tpstrerror(tperrno));
/* 追加のエラー処理 */
}
/* 型付きバッファとしてバッファを再初期化 */
Finit32(ibuf, Fsizeof32(ibuf));
Finit32(obuf, Fsizeof32(obuf));
残りのアプリケーションの起動
アプリケーションの残り部分を起動します。管理者ユーザは要求の TA_FLAGS 属性にある TMIB_NOTIFY フラグを設定して、各サーバをブートしようとする直前または直後に、任意通知型メッセージを送信するよう要求します。この例は tpcall() からのエラー・リターンの処理を示します。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_STATE, 0, "RAC", 0);
/* マシンを識別する TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
/* /AdminAPI を呼び出し、結果を解釈 */
if (tpcall(".TMIB", (char *)ibuf, 0, (char **)&obuf, &olen, 0) <
0) { fprintf(stderr, "tpcall failed:%s¥n", tpstrerror(tperrno));
if (tperrno == TPESVCFAIL) {
Fget32(obuf,TA_ERROR,0,(char *)&ta_error,NULL);
ta_status = Ffind32(obuf, TA_STATUS, 0, NULL);
fprintf(stderr, "Failure:%ld, %s¥n",
ta_error, ta_status);
/* 追加のエラー処理 */
}
サーバ状態の問い合わせ
アクティブなサーバ状態の問い合わせを作成します。
/* 要求バッファをクリア */ Finit32(ibuf, Fsizeof32(ibuf));
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "GET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_SERVER", 0);
flags = MIB_LOCAL;
Fchg32(ibuf, TA_FLAGS, 0, (char *)&flags, 0);
/* マシンを識別する TM_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_SRVGRP, 0, "GRP1", 0);
Fchg32(ibuf, TA_SRVID, 0, (char *)&srvid[0], 0);
tpcall(...); /* 詳細なエラー処理については、上記の例を参照する */
アプリケーションの非アクティブ化
各マシンの状態を INACTIVE に設定してアプリケーションを非アクティブ化します。この操作でも TMIB_NOTIFY フラグが使用可能です。
/* 要求バッファをクリア */
Finit32(ibuf, Fsizeof32(ibuf));
/* 最初にリモート・マシンをシャットダウン */
/* 要求タイプを定義する MIB(5) 属性を設定 */
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_MACHINE", 0);
Fchg32(ibuf, TA_LMID, 0, "LMID2", 0);
Fchg32(ibuf, TA_STATE, 0, "INA", 0);
tpcall(....); /* 詳細なエラー処理については、上記の例を参照する */
/* 次は、マスタ・マシンのアプリケーション・サーバ */
flags = TMIB_APPONLY;
Fchg32(ibuf, TA_FLAGS, 0, (char *)&flags, 0);
Fchg32(ibuf, TA_LMID, 0, "LMID1", 0);
tpcall(...); /* 詳細なエラー処理については、上記の例を参照する */
/* アクティブ・アプリケーション・アクセスを終了 */
tpterm();
/* 最後にマスタ管理プロセスを終了 */
Finit32(ibuf, Fsizeof32(ibuf));
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_DOMAIN", 0);
Fchg32(ibuf, TA_STATE, 0, "INA", 0);
tpadmcall(...); /* 詳細なエラー処理については、上記の例を参照する */
ファイル
${TUXDIR}/include/tpadm.h、${TUXDIR}/udataobj/tpadm
関連項目
tpacall(3c)、tpalloc(3c)、tpcall(3c)、tpdequeue(3c)、tpenqueue(3c)、tpgetrply(3c)、tprealloc(3c)、FML 関数の紹介、Fadd、Fadd32(3fml)、Fchg、Fchg32(3fml)、Ffind、Ffind32(3fml)、MIB(5)、WS_MIB(5)
『BEA Tuxedo アプリケーションの設定』
『BEA Tuxedo アプリケーション実行時の管理』
『C 言語を使用した BEA Tuxedo アプリケーションのプログラミング』
『FML を使用した BEA Tuxedo アプリケーションのプログラミング』
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|