Oracle Tuxedoアプリケーション実行時の管理

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

アプリケーションの起動と停止

ここでは、以下の内容について説明します。

 


アプリケーションの起動と停止に必要なタスク

図1-1に、Oracle Tuxedoアプリケーションの起動と停止に必要なタスクを示します。

タスク名をクリックすると、そのタスクの実行方法が表示されます。

図1-1 起動と停止のタスク

 


環境変数の設定

Oracle Tuxedoアプリケーションを管理するには、Oracle Tuxedoの実行可能ファイルおよびデータ・ライブラリにアクセスできなければなりません。アプリケーションの起動と停止に必要なコマンドは%TUXDIR%\bin (Windowsホスト・マシンの場合)および$TUXDIR/bin (UNIXホスト・マシンの場合)に格納されています。

Windowsの場合

Windowsホスト・マシンの環境を設定するには、コマンド・プロンプトで次のコマンドを入力します。

set TUXCONFIG=path_name_of_TUXCONFIG_file
set TUXDIR=path_name_of_BEA_Tuxedo_system_root_directory
set APPDIR=path_name_of_BEA_Tuxedo_application_root_directory
set PATH=%APPDIR%;%TUXDIR%\bin;%PATH%

斜体の文字列は、インストール先の適切な絶対パス名に置き換えてください。

Windowsは、PATH変数に設定されたパスを使って、動的に読込み可能な必須ライブラリ・ファイルにアクセスします。具体的には、次の順序で動的に読込み可能なライブラリ・ファイルが検索されます。

  1. Oracle Tuxedoアプリケーションのインストール元ディレクトリ
  2. カレント・ディレクトリ
  3. Windowsシステム・ディレクトリ(C:\Win2003\System32など)
  4. Windowsディレクトリ(C:\Win2003など)
  5. PATH環境変数に設定されているディレクトリ

UNIXの場合

UNIXホスト・マシンの環境を設定するには、次のように環境変数を設定し、エクスポートします。

TUXCONFIG=path_name_of_TUXCONFIG_file
TUXDIR=path_name_of_BEA_Tuxedo_system_root_directory
APPDIR=path_name_of_BEA_Tuxedo_application_root_directory
PATH=$APPDIR:$TUXDIR/bin:/bin:$PATH
LD_LIBRARY_PATH=$APPDIR:$TUXDIR/lib:/lib:/usr/lib:$LD_LIBRARY_PATH
export TUXCONFIG TUXDIR APPDIR PATH LD_LIBRARY_PATH

プラットフォームの種類
設定
HP-UX (HP 9000)
LD_LIBRARY_PATHのかわりにSHLIB_PATHを使用します。
RS/6000 (AIX)
LD_LIBRARY_PATHのかわりにLIBPATHを使用します。

斜体の文字列は、インストール先の適切な絶対パス名に置き換えてください。

注意: アプリケーション管理者は、UBBCONFIGファイルのMACHINESセクションで、TUXCONFIGTUXDIR、およびAPPDIRの3つの環境変数を定義するか、またはアプリケーション内の各マシンに対してTM_MIBT_MACHINEクラスを定義してください。これらの環境変数については、UBBCONFIG(5)またはTM_MIB(5)のリファレンス・ページを参照してください。

 


TUXCONFIGファイルの作成

各Oracle Tuxedoドメインは、構成ファイルによって制御され、インストール時の設定に基づくパラメータが定義されています。テキスト形式の構成ファイルをUBBCONFIGと呼びます。バイナリ形式のUBBCONFIGファイルは、TUXCONFIGと呼ばれます。UBBCONFIGファイルと同じように、TUXCONFIGファイルにも任意の名前を付けることができます。実際の名前は、TUXCONFIG環境変数で指定されたデバイスまたはシステム・ファイル名です。

注意: 構成ファイルについては、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』の「UBBCONFIG(5)」を参照してください。

tmloadcf(1)コマンドは、テキスト形式の構成ファイルをTUXCONFIGと呼ばれるバイナリ形式のファイルに変換し、TUXCONFIG変数で指定されている位置に書き込みます。次のようにコマンドを実行します。

$ tmloadcf [-n] [-y] [-c] [-b blocks] {UBBCONFIG_file | - }
注意: このコマンドを実行するには、MASTERマシンにログインして、構成ファイルのオーナーとしての有効なユーザーIDを取得する必要があります。

各オプションの機能は、次のとおりです。

-cおよび-nオプションを使用すると、TUXCONFIGファイルはロードされません。IPC資源はプラットフォームに固有です。-cオプションを使用する場合は、『Oracle Tuxedoインストレーション・ガイド』に記載されているご使用のプラットフォーム用データシートを確認して変更を加える必要があるか判断します。IPC資源を変更する必要がある場合は、ご使用のプラットフォームの管理者ガイドを確認してください。-nオプションにより、構成ファイルの構文エラーが見つかった場合は、エラーを修正してから作業を進めてくださいなお、UBBCONFIG_fileには、構成ファイルの完全修飾名を指定します。

-bオプションには、引数として、TUXCONFIGファイルを格納するためのブロック数の制限値を指定できます。初期化されていないrawディスク・デバイスにTUXCONFIGをインストールする場合は、このオプションを使用してください。TUXCONFIGが通常のUNIXシステム・ファイルに格納されている場合、このオプションはお薦めできません。

 


全サイトでのtlistenの起動

ネットワーク・アプリケーションを実行するには、リスナー・プロセスを各マシン上で実行している必要があります。ネットワーク・アプリケーションとは、複数のマシン上で稼働するアプリケーションであり、UBBCONFIGファイルのRESOURCESセクションにあるMODEL MPパラメータで設定します。

注意: TUXDIRTUXCONFIGAPPDIR、およびその他の関連する環境変数を定義してから、tlistenを起動してください。

プロセスが接続をリスニングするポートは、構成ファイルのNETWORKセクションにあるNLSADDRで指定されているポートと同じでなければなりません。各マシン上で、tlisten(1)コマンドを次のように使用します。

tlisten [ -d device ] -l nlsaddr [-u {uid-# | uid-name}] [ -z bits ] [ -Z bits ]

例: tlisten -l //machine1:6500

tlistenのコマンド・オプション

 


アプリケーション固有のディレクトリとファイルを手動で伝播する

tmboot(1)を実行すると、構成内のすべてのマシンにTUXCONFIGが自動的に伝播されます。ただし、手動で伝播しなければならないファイルもあります。次の表は、ネットワーク・アプリケーションに必要なファイルとディレクトリの一覧です。まず、Oracle Tuxedoシステムをマシンにインストールしてください。

注意: tlistenプロセスは、アプリケーションを起動する前に、ネットワーク接続されたOracle Tuxedoアプリケーションの各マシンで起動する必要があります。tlisten(1)のリファレンス・ページを参照してください。
注意: TUXDIRTUXCONFIGAPPDIR、およびその他の関連する環境変数を定義してから、tlistenを起動してください。

表1-1に、伝播するディレクトリとファイルを示します。

表1-1 伝播するディレクトリとファイル
ディレクトリ/ファイル
説明
APPDIR
各ノードに対して、APPDIR変数に指定した名前のディレクトリを作成する必要があります。すべてのノードで同じディレクトリ・パス名を使用すると便利です。
実行可能ファイル
プラットフォームごとにアプリケーション・サーバーのセットを1つ作成し、プラットフォームで実行中のほかのすべてのマシンには、適切なアプリケーション・サーバーのセットを手動で伝播する必要があります(これは自動的には行われません)。実行可能ファイルはAPPDIR変数で指定したディレクトリに格納するか、または構成ファイルのMACHINESセクションのENVFILESにあるPATH変数で指定されたディレクトリに格納します。
フィールド表
VIEW
バッファ型としてFMLまたはVIEWSを使用する場合は、これらのバッファ型を使用するマシンにフィールド表とVIEW記述ファイルを手動で伝播し、再コンパイルする必要があります。フィールド表ファイルからヘッダー・ファイルを作成するにはmkfldhdr, mkfldhdr32(1)を使用します。VIEWファイルをコンパイルするにはviewc, viewc32(1)を使用します。FMLフィールド表およびVIEW記述ファイルは、FLDTBLDIRFIELDTBLSVIEWDIRVIEWFILES、またはこれらの環境変数の32ビット版を通じて使用できます。

 


TLOGデバイスの作成

分散トランザクション処理を作成するには、トランザクションに参加するマシンにグローバル・トランザクション・ログ(TLOG)を作成する必要があります。TLOGを定義するには、次の手順に従います。

  1. 最初に、構成ファイルのMACHINESセクションで、TLOGDEVICETLOGOFFSETTLOGNAME、およびTLOGSIZEパラメータを設定する必要があります。
  2. トランザクションに参加する各マシンに対して、TLOGDEVICEの汎用デバイス・リスト・エントリ(UDL)を作成する必要もあります。このタスクは、TUXCONFIGをロードする前でも後でもかまいませんが、システムを起動する前に行う必要があります。TLOGデバイス用のエントリをUDLに作成するには、アプリケーションを起動していない状態のMASTERマシンでtmadmin -cを実行します(-cオプションを指定すると、構成モードでtmadminが呼び出されます)。
  3. 次のコマンドを入力します。
  4. crdl -z config -b blocks

    -z configには、UDLが作成されるデバイス(TLOGの常駐先デバイス)のフル・パス名を指定します。-b blocksには、デバイスに割り当てるブロック数を指定します。configの値は、MACHINESセクションのTLOGDEVICEパラメータの値と一致する必要があります。ブロック数は、TLOGSIZEより大きくなければなりません。-zを指定しない場合は、デフォルトとしてconfigの値にFSCONFIG変数の値(アプリケーションのデータベースを指す)が使用されます。

  5. グローバル・トランザクションに参加する各マシンで、ステップ1と2を繰り返します。

TLOGDEVICEが2つのマシン間でミラーリングされる場合は、片方のマシンに対してステップ4を実行する必要はありません。TLOGを障害から回復できるようにするには、TLOGをミラーリング可能なデバイス上に配置する必要があります。TLOGは、ディスク・パーティション全体を割り当てるほど大きくないため(通常は100ページ程度)、一般にはOracle Tuxedo /Qデータベースと同じrawディスク・スライスに格納されます。

 


アプリケーションの起動

すべての準備が整ったら、tmbootを使ってアプリケーションを起動できます。tmboot(1)を実行できるのは、TUXCONFIGファイルを作成した管理者だけです。

アプリケーションは通常、構成ファイルのRESOURCESセクションでMASTERとして指定されたマシン、またはMASTERマシンとして動作するBACKUPマシンから起動します。これ以外のマシンから起動する場合は、-bオプションを使用します。tmbootの実行時に実行可能ファイルが検索されるようにするには、BBLなどのOracle Tuxedoシステムのプロセスが$TUXDIR/binになければなりません。アプリケーション・サーバーは、構成ファイルのAPPDIR変数で定義されたディレクトリになければなりません。

tmbootは、アプリケーション・サーバーの起動時に、構成ファイルのCLOPTSEQUENCESRVGRPSRVID、およびMINパラメータを使用します。SEQUENCEオプションを指定した場合、アプリケーション・サーバーはSEQUENCEパラメータに指定された順序で起動します。SEQUENCEを指定しない場合、サーバーは構成ファイルに記述されている順序で起動します。コマンドラインの形式は、以下のとおりです。

$ tmboot  [-g grpname] [-o sequence] [-S] [-A] [-y]

表1-2に、tmbootオプションをリストします。

表1-2 tmbootオプション
オプション
処理内容
-g grpname
このgrpnameパラメータを使用して、グループ内のすべてのTMSとアプリケーション・サーバーを起動します。
-o sequence
SEQUENCEパラメータで指定された順序ですべてのサーバーを起動します。
-s server-name
サーバーを個別に起動します。
-S
SERVERSセクションに記述されているすべてのサーバーを起動します。
-A
MACHINESセクションに記述されているマシンのすべての管理サーバーを起動します。このオプションにより、DBBLBBL、およびBRIDGEプロセスは、正しい順序で開始されるようになります。
-y
管理サーバーとアプリケーション・サーバーをすべて起動するかどうかを確認するプロンプトに対し、自動的に「yes (はい)」でレスポンスします。このプロンプトは、コマンドのスコープを制限するオプション(-g grpnameなど)を指定しない場合にのみ表示されます。

注意: tmbootオプションの総合一覧については、tmboot(1)のリファレンス・ページを参照してください。

小規模アプリケーション(マシン2台による構成)でtmbootを実行する

構成全体を起動するには、次のコマンドを入力します。

prompt> tmboot -y

tmbootを実行すると、次の処理が実行されます。

図1-2に、小規模アプリケーションのデフォルトの起動手順をリストします。

図1-2 小規模アプリケーションの起動手順(デフォルト)

小規模アプリケーションの起動手順(デフォルト)

大規模アプリケーション(50台を超えるマシン構成)でtmbootを実行する

大規模アプリケーション(50台を超えるマシン構成)の場合は、1つのステップですべてのマシンを起動します。前に述べたデフォルト手順(マシン2台の構成の場合)のすべてのステップは実行しません。図1-3は、最適化された起動手順を示しています。

図1-3 大規模アプリケーションの起動手順

大規模アプリケーションの起動手順

注意: この起動手順では、システム・メッセージの数が大幅に少ないため、大規模アプリケーションをより高速に処理できます。この方法では、起動にかかる時間を50%短縮できます。ネットワークの速度が遅い構成では、MASTERマシンに高速で接続できるマシンを最初に起動することにより、起動時間を短縮できます。

 


アプリケーションの停止

tmshutdown(1)コマンドを使用して、Oracle Tuxedoアプリケーションの一部または全体を停止します。このコマンドの使用上の規則は、tmboot(1)と似ています。tmshutdowntmbootとは逆の処理を行います。

アプリケーション全体が停止すると、tmshutdownはOracle Tuxedoシステムに関連付けられたIPCリソースを削除します。起動する範囲を指定するためのtmbootのオプション(-A、-g、-I、-S、-s、-l、-M、-B)は、tmshutdownでも使用できます。MASTERマシン以外からtmbootを使用するための -bオプションは、tmshutdownではサポートされていません。つまり、tmshutdownコマンドは、必ずMASTER (またはBACKUP MASTER)マシンで実行する必要があります。

サーバーを移行するには、-Rオプションを使用します。このオプションは、掲示板のエントリを削除せずにサーバーを停止します。マシンが分断されている場合、tmshutdownに -P LMIDオプションを指定して、分断されたマシン上で実行することにより、そのマシン上のサーバーを停止することができます。

tmshutdownを実行しても、クライアントの接続先であるマシンの管理サーバーのBBLは停止しません。ただし、-cオプションを使用すると、この特性をオーバーライドできます。直ちにマシンを停止する必要がある場合や、クライアントと通信できない場合に、このオプションを使用してください。

-w delayオプションを使用すると、delayで指定した秒数が経過した後で強制的に停止を実行できます。このオプションにより、すべてのサーバーが直ちに中断されます。以降の作業がキューに登録されることはありません。delayには、キューに登録済みのリクエストを処理するための時間を指定します。delayで指定した秒数が経過するとSIGKILL信号がサーバーに送られます。管理者はこのオプションを使用して、アプリケーション・コードでループ状態にあるかまたはブロックされているサーバーを停止することができます。

tmshutdownの実行

tmshutdown(1)を実行できるのは、TUXCONFIGファイルを作成した管理者だけです。アプリケーションの停止は、構成ファイルでMASTERとして指定されているマシンからのみ実行できます。BACKUPマシンがMASTERマシンとして動作している場合、停止プロセスでは、このマシンがMASTERマシンと見なされます。ただし、分断されたマシンは例外です。-pオプションを使用すると、管理者は分断されたマシンからtmshutdownコマンドを実行して、そのサイトのアプリケーションを停止できます。

アプリケーション・サーバーは、SEQUENCEパラメータまたは構成ファイルで指定された順序とは逆の順序で停止します。SEQUENCEで順序が指定されたサーバーと、順序が指定されていないサーバーが混在する場合、まず番号が指定されていないサーバーが停止し、次にSEQUENCE番号が指定されたアプリケーション・サーバーが(逆の順序で)停止します。最後に、管理サーバーが停止します。

アプリケーションが停止する場合と、Oracle Tuxedoシステムが割り当てたIPCリソースはすべて削除されます。tmshutdownにより、DBMSが割り当てたIPCリソースが削除されることはありません。

アプリケーションが正常に停止できない場合にIPCツールを使用する

IPC資源とは、メッセージ・キュー、共有メモリー、セマフォなどのオペレーティング・システムの資源のことです。tmshutdownコマンドを使ってOracle Tuxedoアプリケーションが正常に停止すると、Oracle Tuxedoアプリケーションで使用されるIPCリソースは、すべてシステムから削除されます。ただし、アプリケーションが正常に停止せず、システムにIPC資源が残る場合もあります。これが起こると、アプリケーションを再起動できなくなることがあります。

この問題の解決策として、IPCSコマンドを実行するスクリプトを使用してIPCリソースを削除し、特定のユーザーが保有するすべてのIPCリソースをスキャンする方法があります。しかし、この方法ではIPC資源の識別が困難です。たとえば、特定のOracle Tuxedoアプリケーションに属する資源か、Oracle Tuxedoシステムとは無関係の資源かを識別することができません。誤ってIPC資源を削除するとアプリケーションが破損する可能性があるため、資源の種類を識別できることは重要です。

Oracle TuxedoのIPCツール(tmipcrm(1)コマンド)を使用すると、稼働中のアプリケーションでOracle Tuxedoシステムによって割り当てられているIPCリソース(コア・システムとWorkstationコンポーネントのみ)を削除できます。

IPCリソースを削除するコマンドtmipcrm(1)は、TUXDIR/binに格納されています。 このコマンドは、バイナリ形式の構成ファイル(TUXCONFIG)を読み込み、このファイルの情報を使用して掲示板に書き込みます。tmipcrmを使用できるのは、ローカル・サーバー・マシンに対してのみです。Oracle Tuxedoの構成のリモート・マシンにあるIPCリソースは削除できません。

このコマンドを実行するには、次のコマンドラインを入力します。

tmipcrm [-y] [-n] [TUXCONFIG_file]

IPCツールを使用すると、Oracle Tuxedoシステムで使用されるすべてのIPC資源を一覧表示したり、IPC資源を削除することができます。

注意: このコマンドは、TUXCONFIG環境変数を正確に設定するか、またはコマンドラインで適切なTUXCONFIGファイルを指定しないと利用できません。

/QのIPCリソースを削除するには、qmadmin(1) ipcrmコマンドを使用します。


  先頭に戻る       前  次