4 Oracle Tuxedoの管理ツール

次の各項では、Oracle Tuxedoアプリケーションを管理するためにユーザーが使用できるOracle Tuxedo管理プロセスについて説明します。

4.1 Oracle Tuxedoツールのアーキテクチャ

次の図に示すように、Oracle Tuxedoアプリケーションの管理に使用されるOracle Tuxedo管理プロセスでは、Oracle Tuxedo管理情報ベース(MIB)に基づいて作成された様々なツールが包括的に使用されています。

図4-1 Oracle Tuxedoアプリケーションを管理するためのツール


Oracle Tuxedoアプリケーションを管理するためのツール

Oracle Tuxedo MIBには、Oracle Tuxedoアプリケーションの操作に必要なすべての情報が含まれています。これには、すべてのアプリケーションに共通のTM_MIBと、それぞれがOracle Tuxedoシステムのサブシステムを記述している次のコンポーネントMIBが含まれています。
  • WS_MIB—ワークステーション・グループおよびそれに関連付けられたプロセスを管理するために使用されます。
  • ACL_MIB—アクセス制御リスト(ACL)を管理するために使用されます。
  • APPQ_MIB—アプリケーションの安定したストレージのキューを管理するために使用されます。
  • EVENT_MIB—イベント通知およびサブスクリプション・リクエスト・データベースを制御するために使用されます。
  • DM_MIB—Oracle Tuxedo Domains(マルチドメイン)構成を管理するために使用されます。

MIBのリファレンス・ページ(TM_MIB(5)、汎用リファレンス・ページMIB(5))は、BEA Tuxedoのファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンスで定義されています。

4.1.1 ツールのMIBとのインタフェース

Oracle Tuxedoの管理ツール(次のリストを参照)には、MIBとの各種インタフェースが用意されています。

  • コマンド行ユーティリティ—Oracle Tuxedoアプリケーションのアクティブ化、非アクティブ化、構成および管理に使用するコマンド・セット。
  • Oracle Tuxedo MIBアプリケーション・プログラミング・インタフェース—MIB内の情報にアクセスしたり変更を行うための機能セット。
  • イベント・ブローカ—Oracle Tuxedoコンポーネントの1つで、Oracle Tuxedoアプリケーションで実行されているクライアント・プロセスとサーバー・プロセスの間でアプリケーション・イベントを非同期的にルーティングし、システム・イベント(通常はフォルトや例外の発生)を必要なアプリケーション・プロセスに配信します。

4.1.2 他のシステム・コンポーネントとのMIBのインタフェース

MIBは、次のOracle Tuxedoシステム・コンポーネントにアクセスします。

  • TUXCONFIGファイル—Oracle Tuxedoアプリケーションの構成(UBBCONFIG)ファイルのバイナリ・バージョン。Oracle Tuxedoアプリケーション内のすべてのサーバーに、TUXCONFIGファイルのコピーが格納されています。MIBはTUXCONFIGファイルを更新し、TUXCONFIGファイルから情報を読み取ります。
  • 掲示板—実行時にOracle Tuxedoアプリケーションのすべての構成情報および動的処理情報が保持されるメモリー・セグメント。Oracle Tuxedoアプリケーション内のすべてのサーバー・マシンは掲示板を持ちます。MIBは掲示板を更新し、掲示板から情報を読み取ります。
  • ULOG (元のドキュメントには相互参照なし)—Oracle Tuxedoのシステム・メッセージとアプリケーション・メッセージ(エラー・メッセージ、警告メッセージ、情報メッセージおよびデバッグ・メッセージ)が格納されるユーザー・ログ・ファイル。Oracle Tuxedoアプリケーション内のすべてのサーバーにULOGが必要です。MIBはULOGから情報を収集します。
  • TLOG—コミットされたグローバル・トランザクションのレコードが格納されるトランザクション・ログ・ファイル。Oracle Tuxedoアプリケーション内のすべてのサーバー・マシンにTLOGが必要です。MIBはTLOGから情報を収集します。

4.2 MIBを使用した操作の管理

Oracle Tuxedo MIB、Oracle Tuxedoアプリケーションの管理に使用されます。これは、すべてのOracle Tuxedoドメインで必要なアプリケーションのパーツを定義します。このMIBは、Oracle Tuxedoアプリケーションをクラスのセット(サーバー、グループ、マシン、ドメインなど)として定義し、各クラスは様々な属性(IDや状態など)によって特徴付けられるオブジェクトによって構成されます。

Oracle Tuxedoサーバー・マシンがアクティブになると、そのサービスの名前がMIBの実行時(動的)表現である掲示板(BB)に通知されます。(掲示板には、MIBのグローバルおよびローカルな状態変化がポストされます。)Oracle Tuxedoシステムは、マスター・マシン上のバイナリのTUXCONFIGファイルを使用して掲示板を作成し、TUXCONFIGのコピーをアプリケーション内の非マスター・マシンに伝播して、それらのマシン上に掲示板を設定します。掲示板は、Oracle Tuxedoアプリケーション内の各サーバー・マシン上で実行されます。

次の図は、Oracle TuxedoのMIBの動作の全体像を示しています。

図4-2 Oracle TuxedoのMIBの動作の全体像


Oracle TuxedoのMIBの動作の全体像

4.2.1 AdminAPI

AdminAPIは、Oracle Tuxedo MIBのシステム設定に直接アクセスして操作するためのアプリケーション・プログラミング・インタフェースです。AdminAPIを使用すると、ログ・ファイルのモニタリングやアプリケーションの動的再構成などの管理タスクを自動化できるため、人が介在する必要のある作業を減らすことができます。このようなメリットは、ミッションクリティカルなリアルタイムのアプリケーションにおいては非常に重要になります。MIBプログラミング・インタフェースを使用すると、Oracle Tuxedoシステムでの操作の管理が簡単になります。具体的には、独自のプログラムを使用してアプリケーションをモニター、構成およびチューニングできます。MIBは次のように定義できます。

  • フィールド操作言語(FML)属性のセットとして定義された、実装に依存しない管理データベース
  • ATMI関数のセットを使用していつでもOracle Tuxedoシステムの問合せ(get操作によりシステムから情報を取得)やOracle Tuxedoシステムの更新(set操作によりシステム内の情報を変更)ができるプログラミング・インタフェース。これらの関数の例として、tpalloctprealloctpgetrplytpcalltpacalltpenqueuetpdequeueなどがあります。

4.2.2 MIBユーザーのタイプ

MIBでは、システム(またはアプリケーション)管理者、システム・オペレータおよびその他という3つのタイプのユーザーが定義されています。次の表で、それぞれのタイプについて説明します

ユーザーのタイプ 特性
システム(またはアプリケーション)管理者 アプリケーションの正常な実行を維持する責任者。管理者は、すべての管理ツールおよびすべてのMIB管理機能を使用する権限を与えられます。管理者は、実行中の本番アプリケーションを構成、管理および変更します。
システム・オペレータ 本番アプリケーションの毎日の操作をモニタリングし、問題に対応する担当者。オペレータは、実行中のアプリケーションに関する統計をモニターし、時にイベントやアラートに対応してサーバーの起動やマシンの停止などの処置を実行します。オペレータは、アプリケーションの再構成、サーバーやマシンの追加、またはマシンの削除は行いません。
その他 MIBを読み取る必要はあってもアプリケーションを変更する権限を持たない人またはプロセス(カスタム・プログラムなど)。

4.2.3 MIBのクラス、属性、状態

クラスとは、Oracle Tuxedoアプリケーションを構成するエンティティのタイプ(サーバーやマシンなど)です。属性とは、クラス内のオブジェクトの特性(アイデンティティ、状態、構成パラメータ、実行時統計など)です。属性には、MIBの操作や応答、および個々のクラスに共通するものが多数あります。すべてのクラスには、オブジェクトの状態を示す状態属性があります。

MIB(5)リファレンス・ページで定義されている共通の属性セットは、クラスに依存しません。これらの属性は、入力操作を制御したり、ユーザーが何をしようとしているかをMIBに伝達したり、特定のクラスに依存しない出力バッファの特性の一部をプログラマに示します。

関連項目

4.3 コマンド行ユーティリティを使用した操作の管理

Oracle Tuxedoには、Oracle Tuxedoシステムに基づいて作成されたアプリケーションの各部分を管理するためのコマンド・セットが用意されています。これらのコマンドを使用すると、一般的な管理ユーティリティにアクセスできます。これらのユーティリティは、次のタスクに使用できます。

4.3.1 コマンド行ユーティリティを使用したアプリケーションの構成

アプリケーションは、コマンド行ユーティリティを使用して構成できます。具体的には、テキスト・エディタを使用してアプリケーションの構成ファイル(UBBCONFIG)を作成および編集し、tmloadcfというコマンド行ユーティリティを使用してテキスト・ファイル(UBBCONFIG)をバイナリ・ファイル(TUXCONFIG)に変換できます。これで、アプリケーションを起動できるようになります。

次のリストに、アプリケーションの構成に使用できる一般的なコマンド行ユーティリティを示します。

  • tmloadcf(1)マスター・マシンで実行されるコマンドであり、アプリケーションのUBBCONFIGファイルをバイナリのTUXCONFIGファイルにコンパイルするために使用します。tmloadcfコマンドにより、TUXCONFIG環境変数で定義されている場所にバイナリ・ファイルがロードされます。
  • tmunloadcf(1)—マスター・マシンで実行されるコマンドであり、バイナリのTUXCONFIGファイルを元のテキスト・バージョンに変換してUBBCONFIGファイルとTUXCONFIGファイルを同期できるようにするために使用します。tmunloadcfコマンドにより、テキスト・バージョンが標準出力に出力されます。

    ノート:

    :バイナリのTUXCONFIGファイルを動的に更新しても、テキストのUBBCONFIGファイルは更新されません。
  • tpusradd(1)tpusrdel(1)tpusrmod(1)—このコマンド・セットを使用すると、認可目的でユーザー・データベースを作成および管理できます。
  • tpgrpadd(1)tpgrpdel(1)tpgrpmod(1)—このコマンド・セットを使用すると、アクセス制御リストを使用してサービス、キューおよびイベントへのアクセスを認可することにより、ユーザー・グループを作成および管理できます。
  • tpacladd(1)tpaclcvt(1)tpacldel(1)およびtpaclmod(1)—このコマンド・セットを使用すると、アプリケーションのアクセス制御リストを作成または管理できます。これらのコマンドにより、セキュリティ関連の認可機能を使用できるようになります。

4.3.2 コマンド行ユーティリティを使用したアプリケーションの操作

アプリケーションの構成を正常に完了すると、次のコマンド行ユーティリティを使用してアプリケーションを操作できるようになります。

  • tmboot(1)マスター・マシンで実行されるコマンドであり、アプリケーション・サーバーを中央から起動するために使用します。tmbootコマンドにより、TUXCONFIG環境変数が読み取られ、アプリケーションのTUXCONFIGファイルが検出されます。tmbootコマンドにより、TUXCONFIGが共有メモリーにロードされて掲示板が確立され、変更が複数マシン構成のドメイン内のリモート・サーバー・マシンに伝播されます。
  • tmadmin(1)—通常はマスター・マシンで実行されるインタラクティブなメタコマンドであり、アプリケーションの構成、モニターおよびチューニングを行うサブコマンドを実行できるようにするために使用します。tmadminコマンドは、アプリケーションの起動前(構成モード)またはアプリケーションの実行中に使用できます。
  • tmconfig(1)—これも通常はマスター・マシンで実行されるインタラクティブなメタコマンドであり、アプリケーションの構成、モニターおよびチューニングを行うサブコマンドを実行できるようにするために使用します。tmconfigコマンドは、アプリケーションの実行中にのみ使用できます。tmconfigコマンドはtmadminコマンドよりも強力ですが、使いやすさの点では劣ります。
  • tmshutdown(1)—マスター・マシンで実行されるコマンドであり、アプリケーション・サーバーを中央から停止するために使用します。tmshutdownコマンドにより、TUXCONFIG環境変数が読み取られ、アプリケーションのTUXCONFIGファイルが検出されます。

4.3.3 コマンド行ユーティリティを使用したアプリケーション・キューの管理

アプリケーション内のアプリケーション・キューのすべての管理機能は、コマンド行ユーティリティqmadmin(1)を使用して実行します。tmadminコマンドやtmconfigコマンドと同様に、qmadminは多くのサブコマンドを実行できるようにするためのインタラクティブなメタコマンドです。

1つのOracle Tuxedoアプリケーションで、複数のアプリケーション・キュー・デバイスを設定し、複数のサーバー・マシン上でアプリケーション・キューを実行できます。各マシンにはそれぞれ専用のキュー・デバイスがあるため、qmadminを実行して、各サーバー・マシン上で特定のアプリケーション・キュー・デバイスをモニターおよび管理できます。

4.3.4 コマンド行ユーティリティを使用したDomainsアプリケーションの管理

Oracle Tuxedo Domains (マルチドメイン)アプリケーションを作成するには、既存のOracle Tuxedoアプリケーションを他のドメインと統合します。このためには、システム・サーバー(DMADMGWADMおよびGWTDOMAIN)のドメイン・ゲートウェイ・グループをUBBCONFIGファイルに追加する必要があります。これらのサーバーについては、「Oracle Tuxedo Domains(マルチドメイン)サーバー」を参照してください。

Domains構成に関与するOracle TuxedoアプリケーションのすべてのDomains構成は、DMCONFIGというファイルに格納されます。UBBCONFIGファイルと同様に、DMCONFIGファイルにも、ファイルの内容が『Oracle Tuxedoファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のリファレンス・ページDMCONFIG(5)で説明されている形式に準拠しているかぎり、任意の名前を付けることができます。テキスト・エディタを使用してDMCONFIGファイルを作成および編集し、dmloadcfというコマンド行ユーティリティを使用してテキスト・ファイル(DMCONFIG)をバイナリ・ファイル(BDMCONFIG)に変換します。BDMCONFIGファイルは、DMADMサーバーを実行するマシン上に配置する必要があります。

ノート:

DMADMサーバーは、Oracle Tuxedoドメイン内の任意のマシンで(マスター・マシンでも非マスター・マシンでも)実行できます。次のリストに、Domains構成に関与するOracle Tuxedoアプリケーションのシステム・サーバーのドメイン・ゲートウェイ・グループを構成および操作するために使用できるコマンド行ユーティリティを示します:
  • dmloadcf(1)DMADMサーバーと同じマシンで実行されるコマンドであり、アプリケーションのDMCONFIGファイルをバイナリのBDMCONFIGファイルにコンパイルするために使用します。dmloadcfコマンドにより、BDMCONFIG環境変数で定義されている場所にバイナリ・ファイルがロードされます。
  • dmunloadcf(1)DMADMサーバーと同じマシンで実行されるコマンドであり、バイナリのBDMCONFIGファイルを元のテキスト・バージョンに変換してDMCONFIGファイルとBDMCONFIGファイルを同期できるようにするために使用します。dmunloadcfコマンドにより、テキスト・バージョンが標準出力に出力されます。

    ノート:

    バイナリのBDMCONFIGファイルを動的に更新しても、テキストのDMCONFIGファイルは更新されません
  • dmadmin(1)—通常はDMADMサーバーと同じマシンで実行されるインタラクティブなメタコマンドであり、ドメイン・ゲートウェイ、グループの構成、モニターおよびチューニングを行うサブコマンドを実行できるようにするために使用します。dmadminコマンドは、アプリケーションの起動前(構成モード)またはアプリケーションの実行中に使用できます。

関連項目

4.4 イベント・ブローカを使用したイベントの管理

イベントとは、アプリケーション・プログラムまたはOracle Tuxedoシステム内で、管理者、オペレータまたはソフトウェアの興味を引く状態の変化またはその他の事象です。イベントの例として、「株式が指定された価格以上で取引された」、「ネットワーク障害が発生した」などがあります。

Oracle Tuxedoのイベント・ブローカを使用すると、アプリケーション・イベントやシステム・イベントをOracle Tuxedo ATMIアプリケーションで実行されているプロセス間で非同期的にルーティングできます。アプリケーション・イベントは、アプリケーション定義イベントの発生です。システム・イベントは、システム定義のイベントの発生です。

4.4.1 アプリケーション定義のイベントとシステム定義のイベントの違い

アプリケーション定義のイベントは、アプリケーションの設計者によって定義されます。そのため、アプリケーション固有のものです。アプリケーションに対して定義されたすべてのイベントは、アプリケーションで実行されているクライアント・プロセスおよびサーバー・プロセスによって追跡されます。

システム定義のイベントは、Oracle Tuxedoシステムのコードによって定義され、通常はTM_MIB(5)で定義されているオブジェクトに関連付けられています。システム定義の全イベントのリストは、BEA Tuxedoのファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンスのリファレンス・ページEVENTS(5)に公開されています。これらのイベントはいずれも、Oracle Tuxedoシステムのユーザーによる追跡が可能です。

4.4.2 イベント・モニタリングのためのアプリケーションの準備

次の表に、Oracle Tuxedoアプリケーションをイベント・モニタリングに使用できるように準備するための基本的なタスクを示します:

タスク 説明
1. モニターするイベントの決定 (a)対象となるイベントの発生時にイベントが検出され、(b)そのイベントがtppost(3c)を介してイベント・ブローカにポストされるように、アプリケーション・プログラムを記述します。アプリケーション設計者が、モニターするイベントを決定します。システム・イベントの場合、アプリケーション設計者はEVENTS(5)リファレンス・ページからシステム定義のイベントを選択します。
2. イベント・リストの作成 Oracle TuxedoシステムからEVENTS(5)によってユーザーに使用可能なシステム・イベントのリストが提供されるのと同じように、アプリケーション・イベント・サブスクリプションのリストが、関連のあるユーザーに対して使用可能になります。システム定義イベントの名前はドット(.)で始まりますが、アプリケーション定義イベントの名前はドット(.)で始まっていないこともあります。

アプリケーション定義イベントのリストを準備するために、アプリケーション設計者はEVENTS(5)TMUSREVT(5)TMSYSEVT(5)およびfield_tables(5)リファレンス・ページを参照する必要があります。アプリケーション定義イベントのリストを準備するために、アプリケーション設計者はEVENTS(5)TMUSREVT(5)TMSYSEVT(5)およびfield_tables(5)リファレンス・ページを参照する必要があります。

4.4.3 イベントのサブスクライブ

Oracle Tuxedoアプリケーションの管理者は、クライアントまたはサーバーのプロセスにかわって、アプリケーション定義イベントまたはシステム定義イベントの公開済リストを使用して、tpsubscribe(3c)をコールすることにより、サブスクリプション・リクエストを入力できます。EVENTS(5)により、システム・イベントによって生成された通知メッセージおよびイベント名(tppost(3c)がコールされたときに引数として使用される名前)がリストされます。サブスクライバは、正規表現のワイルドカード機能を使用して、tpsubscribeを1回コールするだけでイベントのカテゴリ全体に対応できます。

システム定義イベントの各サブスクリプションは、いくつかある通知方法の1つを指定します。そのうちの1つがメッセージをULOGに書き込む方法であり、EVENT_MIBT_EVENT_USERLOGクラスを使用して、サブスクライバはシステムのUSERLOGメッセージを書き込むことができます。イベントが検出されて照合されると、それらのイベントがULOGに書き込まれます。

イベント・ブローカは、1つのMIBオブジェクトにおける100種類以上の状態変化をシステム・イベントとして認識します。システム・イベントのポスティングでは、イベントが発生したオブジェクトの現在のMIB表現が含められます。

関連項目