3 アプリケーションの動的な変更

このトピックには、次の項があります。

3.1 アプリケーションの動的な変更

システム管理者は、一度アプリケーションが起動して実行されたら、そのアプリケーションが実行中は企業の求めるパフォーマンス、可用性、セキュリティの各条件を満たすように管理する必要があります。Oracle Tuxedoシステムでは、システムを停止せずに構成を変更することができます。つまり、ユーザーの作業を中断することなく、以下の作業を行うことができます。
  • 構成ファイルの既存のエントリに変更を加えることができます。つまり、TUXCONFIGを編集できます
  • 構成ファイルにエントリを追加することによって、アプリケーションにコンポーネントを追加できます。
  • サービスの通知、通知解除、一時停止または再開、サービス・パラメータ(LOADPRIORITYなど)の変更を行うことによって、アプリケーションに一時的な変更を加えることができます

    ノート:

    実行中のアプリケーションの構成ファイルを変更する場合は、次のいずれかの作業を行います。
    • まず、アプリケーションを停止します。次に、構成ファイルを変更し、アプリケーションを再起動します。
    • tmconfig(1)コマンド(tmconfig, wtmconfig(1)リファレンス・ページを参照)を実行し、構成ファイルを動的に変更します。
    このようにアプリケーションを一時的または永続的に変更すると、現在の条件または継続的に必要とされる条件を反映するようにシステムを変更できます。一時的な変更は、掲示板でのみ反映されます。永続的な変更は、TUXCONFIGファイルを変更して行います。TUXCONFIGはバイナリ・ファイルなので、通常のテキスト・エディタで編集することができます。

3.1.1 アプリケーションを変更するためのツール

Oracle Tuxedoシステムには、アプリケーションの動的変更をサポートするため、コマンド行ユーティリティおよび管理情報ベース(MIB) APIが提供されています。これらのツールを使用すると、業務のニーズやシステムの障害に対応してアプリケーションを変更しなければならないときに、即座に効率的に対応できます。これらのツールを使用すると、アプリケーションを安定した最良の状態で高速に機能させることができます。

次の図は、動的に変更を加えるためのツールを示しています:

図3-1 動的に変更を加えるためのツール


動的に変更を加えるためのツール

  • コマンド行ユーティリティ - 動的な変更に必要な機能のほとんどは、tmadminおよびtmconfigの2つのコマンドで実行できます。tmadminはシェル・レベルのコマンドで、70以上のサブコマンドがあり、システムの動的な変更をはじめとする各種の管理タスクを行うことができます。tmconfigもシェル・レベルのコマンドで、このコマンドを使用すると、システムの実行中でも構成エントリの追加や変更を行うことができます。
  • MIB API - この管理情報ベースAPIを使用すると、システムをモニターしたり、システムに動的な変更を加えるための独自のプログラムを作成することができます。

    コマンド行で操作する場合は、単にtmadminまたは tmconfigコマンドを実行します。

    ノート:

    構成パラメータと再構成での制限については、『Oracle Tuxedoコマンド・リファレンス』のtmconfig, wtmconfig(1)に関する項、および『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のTM_MIB(5)に関する項を参照してください。

関連項目

3.2 tmconfigを使用した構成への永続的な変更

tmconfigコマンドを使用すると、構成ファイル(MASTERマシン上のTUXCONFIG)とその構成要素を確認して変更したり、アプリケーションの実行中にそのアプリケーションに新しいコンポーネント(マシンやサーバーなど)を追加することができます。構成ファイル(MASTERマシン上のTUXCONFIG)を変更するとき、tmconfigを使用すると次のタスクを実行できます:

  • その時点でアプリケーションで使用されているすべてのマシン上のTUXCONFIGファイルが更新されます。
  • マシンが起動するたびに、その新しいマシンにTUXCONFIGファイルが伝播されます。
  • マシンが起動するたびに、その新しいマシンにTUXCONFIGファイルが伝播されます。

    ノート:

    tmconfigコマンドは、Oracle Tuxedoシステムのクライアントとして実行します。

tmconfigはOracle Tuxedoクライアントとして実行するため、次の条件があります。

  • TPINIT型付きバッファを割り当てることができない場合、tmconfigは失敗します。
  • クライアントに関連付けられている username は、ユーザーのログイン名です。(ユーザーのログイン名が確認できない場合、tmconfigは失敗します。)
  • 構成ファイルでSECURITYパラメータが設定されたセキュリティ付きアプリケーションの場合、tmconfigの使用時にアプリケーション・パスワードの入力が求められます。アプリケーション・パスワードが入力されなかった場合、tmconfigは失敗します。
  • tmconfigがクライアントとして登録できなかった場合、tperrnoを含むエラー・メッセージが表示されて、tmconfigは終了します。このエラー・メッセージが表示された場合は、ユーザー・ログを確認してエラーの原因を特定します。この失敗の主な原因は、次のとおりです。
    • TUXCONFIG環境変数が正しく設定されていません。
    • tmconfigを実行しているマシンとは別のマシン上で、システムが起動しました。
  • tmconfigは、すべての非請求メッセージを無視します。
  • printclient (tmadminコマンド)からの出力に表示されるtmconfigプロセスに対するクライアント名は、tpsysadmになります。

3.2.1 tmconfigのしくみ

コマンド行でtmconfigと入力すると、一連のメニューやプロンプトが表示されます。これらのメニューやプロンプトを介して、構成ファイルのレコードを表示したり変更することができます。tmconfigはメニューで選択された内容を収集し、要求された操作を実行し、別のメニューを表示して次の操作を指定するように求めます。このコマンドは、メニューからQUITが選択されてセッションが終了するまで、新しいメニューを表示して操作を実行するように繰り返し要求します。

リスト3-1に、tmconfigコマンド・セッションを開始すると表示されるメニューとプロンプトを示します。

ノート:

この例では、わかりやすいように行番号を付けてあります。実際のtmconfigセッションでは、これらの番号は表示されません。

リスト3-1 tmconfigセッションで表示されるメニューとプロンプト

1 $ tmconfig 
2 Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS
3 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL 
4 10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]: 
5
6 Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 
7 6)CLEAR BUFFER 7) QUIT [1]: 
8 Enter editor to add/modify fields [n]? 
9 Perform operation [y]?

この例に示したように、次の4つの内容が確認されます。

  • 構成ファイルのどのセクションのレコードを表示、追加、または変更するのか
  • 指定した構成ファイルのセクションで、どの操作を実行するのか
  • テキスト・エディタをその場で開き、レコードのフィールドの追加や変更を行うかどうか
  • tmconfigを実行して、指定された操作をすぐに行うかどうか
3.2.1.1 構成ファイルのセクションの選択

tmconfigセッションを開始すると、次のメニューが表示されます。各項目は、アプリケーションの構成ファイルTUXCONFIGのセクションです。

Section: 1)RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS 
5)SERVICES 6)NETWORK 7) ROUTING q) QUIT 9) WSL 
10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]:

ノート:

各セクションの構成パラメータなど、これらのセクションの詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のTM_MIB(5)に関する項を参照してください。TM_MIBには、tmconfig コマンドのセッションで表示されるフィールド名、各フィールドに設定できる値の範囲、各セクションのキー・フィールド、および各セクションのフィールドの制限や更新が定義されています。
  • セクションを選択するには、メニュー・プロンプトでそれに対応する番号を入力します。たとえば、MACHINESセクションを選択するには、次に示すように2と入力します:

    10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]: 2

  • デフォルトのセクションであるRESOURCESでは、アプリケーション全体に適用されるパラメータが定義されています。デフォルトの選択(大カッコで囲まれて表示される)を受け入れる場合は、単に[Enter]キーを押します。
    10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]:

3.2.1.2 tmconfigタスクの選択

構成ファイルのセクションを選択すると、tmconfigで実行できるタスクのメニューが表示されます。

Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE />6) CLEAR BUFFER 7) QUIT [1]:

操作を選択するには、メニュー・プロンプトでそれに対応する番号を入力します。たとえば、CLEAR BUFFERセクションを選択するには、次に示すように6と入力します:

6) CLEAR BUFFER 7) QUIT [1]: 6

次の表で、各タスクを定義します。

表3-1 tmconfigの各タスク

メニュー項目 名前 機能
1 FIRST 指定されたセクションの最初のレコードを表示します。キー・フィールドは不要です。入力バッファに任意のキー・フィールドがある場合、それは無視します。FIRST操作を使用すると、必要なデータをすべて入力する必要がなくなります。セクションに新しいレコードを追加する場合は、FIRSTを使用してUBBCONFIGセクションの既存のレコードを取得します。次に、ADDを選択し、テキスト・エディタを使用して、新しく作成したレコードのパラメータ値を変更します。
2 NEXT 入力バッファのキー・フィールドに基づいて、指定されたセクションの次のレコードを表示します。
3 RETRIEVE リクエストされたレコード(適切なキー・フィールドで指定されたレコード)を指定されたセクションから表示します。
4 ADD 選択されたセクションに指定されたレコードを追加します。指定されていない省略可能なフィールドに対しては、TM_MIB(5)に指定されているデフォルト値が使用されます。(tmloadcf(1)で使用されるすべてのデフォルト値と妥当性検査が適用されます。)すべてのフィールドの現在の値は、出力バッファに返されます。この操作は、Oracle Tuxedoアプリケーション管理者だけが行うことができます。
5 UPDATE 指定されたセクションの入力バッファで指定されたレコードを更新します。入力バッファ内で指定されていないフィールドは変更されません。(tmloadcf(1)で使用されるすべてのデフォルト値と妥当性検査が適用されます。)すべてのフィールドの現在の値は、入力バッファに返されます。この操作は、Oracle Tuxedoアプリケーション管理者だけが行うことができます。
6 CLEAR BUFFER 入力バッファをクリアします。(すべてのフィールドは削除されます。)この操作の後で、tmconfigによって再度セクションを指定するように求められます。
7 QUIT tmconfigを終了します。つまり、クライアントが終了します。tmconfigは、qと入力しても終了させることができます。

3.2.2 tmconfigタスクの出力内容

tmconfigによってタスクが完了すると、戻り値と出力バッファの内容が結果として画面上に出力されます。

  • 操作は正常に行われた更新が何も行われなかった場合は、次のメッセージが表示されます:

    Return value TAOK

    TA_STATUSフィールドには次のメッセージが表示されます。

    Operation completed successfully.

  • 操作が正常に行われて更新が行われた場合は、次のメッセージが表示されます。

    Return value TAUPDATED

    TA_STATUSフィールドには次のメッセージが表示されます。

    Update completed successfully.

  • 操作が失敗した場合は、エラー・メッセージが表示されます。
    • 構成パラメータではなく、権限またはOracle Tuxedoシステムとの通信に問題がある場合は、TAEPERMTAEOSTAESYSTEMTAETIMEのいずれかの戻り値が表示されます。
    • 実行中のアプリケーションの構成パラメータに問題がある場合は、TA_BADFLDNAMEファイルの値としてそのパラメータの名前が表示されます。そして、出力バッファのTA_STATUSフィールドの値として問題が示されます。このような問題が発生した場合は、TAERANGETAEINCONSISTAECONFIGTAEDUPLICATETAENOTFOUNDTAEREQUIREDTAESIZETAEUPDATE、またはTAENOSPACEのいずれかの戻り値が出力されます。
3.2.2.1 tmconfigエラー・メッセージによって示されるシステムの状態

次は、エラー・メッセージで示されるシステムの状態です。

TAEPERM

UPDATEまたはADD操作が選択されているが、Oracle Tuxedoアプリケーション管理者がtmconfigを実行していません。

TAESYSTEM

Oracle Tuxedoシステムのエラーが発生しました。エラーの内容は、ユーザー・ログに書き込まれます。 『Oracle Tuxedo ATMI C関数リファレンス』 のuserlog(3c)に関する項を参照してください。

TAEOS

オペレーティング・システムのエラーが発生しました。エラーの内容は、ユーザー・ログに書き込まれます。

TAETIME

ブロッキング・タイムアウトが発生しました。出力バッファは更新されないので、取得操作に対して情報が返されません。更新操作のステータスは、更新されたレコードを取得すると確認できます。

TAERANGE

フィールド値が範囲外であるか無効です。

TAEINCONSIS

たとえば、既存のRQADDR値またはSRVGRP/SERVERNAMEのあるエントリが、SRVGRP/SERVERNAMEの別のエントリに対して指定されています。

TAECONFIG

TUXCONFIGファイルの読取り中にエラーが発生しました。

TAEDUPLICATE

重複するレコードを追加しようとしました。

TAENOTFOUND

操作対象として指定されたレコードが見つかりませんでした。

TAEREQUIRED

フィールド値が必要ですが、指定されていません。

TAESIZE

文字列フィールドの値が長すぎます。

TAEUPDATE

実行できない更新を試行しました。

TAENOSPACE

更新を行おうとしましたが、TUXCONFIGファイルまたは掲示板に十分な容量がありませんでした。

3.3 tmconfigの実行

tmconfigを正常に実行するには、必要な環境変数を設定する必要があります。また、tmconfigをまだ実行していない場合は、通常のtmconfigセッションを実行し、構成ファイルのエントリを変更してください。

3.3.1 tmconfigの環境変数の設定

tmconfigセッションを開始するには、必要な環境変数や権限を設定する必要があります。また、必要に応じて、デフォルトではないテキスト・エディタを選択して使用することもできます。

tmconfigを実行する前に、次の手順に従って作業環境を正しく設定します。

  1. TUXCONFIGにエントリを追加したり、既存のエントリを変更する場合は、Oracle Tuxedoアプリケーション管理者としてログインします。(既存の構成ファイルのエントリを参照するだけで、変更や追加を行わない場合は、管理者としてログインする必要はありません。)
  2. TUXCONFIGおよびTUXDIRの2つの必須の環境変数に値を設定します。
    • TUXCONFIGの値としては、必ずtmconfigを実行しているマシン上のバイナリ構成ファイルのフルパス名を指定します。

    • TUXDIRの値としては、必ずOracle Tuxedoシステムのバイナリ・ファイルが置かれたルート・ディレクトリのフルパス名を指定します。(tmconfigでは、$TUXDIR/udataobj/tpadmin.からフィールド名と識別子を抽出できる必要があります)
  3. EDITOR環境変数を設定します; このステップはオプションです。EDITORの値としては、パラメータ値を変更する場合に使用するテキスト・エディタの名前を指定します。デフォルトは、ed (UNIXシステムのコマンド行エディタ)です。

    ノート:

    TERM 環境変数も設定されていないと、大半の全画面表示のエディタは正しく機能しません。

3.3.2 tmconfigの全セッションの実行

tmconfigのサンプル・セッションを実行するには、次の手順に従います。

  1. シェル・プロンプトでtmconfigと入力します。

    $ tmconfig

    ノート:

    セクション・メニュー・プロンプトでq (quitの省略形)と入力すると、いつでもセッションを終了できます。

    TUXCONFIGファイルにあるセクションのメニューが表示されます。

    
    Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS 
    5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL
    10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]:
  2. メニュー番号を入力して、変更するセクションを選択します。たとえば、 MACHINESセクションを選択する場合は、2と入力します。デフォルト値はRESOURCESセクションで、ステップ1で示したセクション・リストの最後にその番号である[1]が表示されています。デフォルト値を使用せずに別のセクションを指定すると、それ以外のセクションを選択するまでそのセクションが新しいデフォルト値となります。

    実行可能な操作のメニューが表示されます。

    Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 6) CLEAR BUFFER 7) QUIT [1]:

    上記の各操作は、構成ファイルの1つのセクションで、一度に1つのレコードに対して実行されます。ほとんどの操作の名前(FIRSTおよびNEXT)は、一目瞭然です。FIRSTを選択すると、構成ファイルの指定されたセクションの最初のレコードが画面に表示されます。NEXTを選択すると、指定されたセクションの2番目のレコードでバッファの内容が置き換わり、バッファの新しい内容が画面に表示されます。NEXTを繰り返し選択すると、構成ファイルの特定のセクションにあるすべてのレコードをリストされている順に参照することができます。
  3. 実行する操作を選択します。デフォルトではFIRST操作が選択されており、ステップ2に示したように、操作のリストの最後にこの操作を示す[1]が表示されます。

    プロンプトが表示され、ステップ2で指定したTUXCONFIGセクションに変更を加えるためにテキスト・エディタを開くかどうかが確認されます。

    Enter editor to add/modify fields [n]?

  4. yまたはn (それぞれyes noを示します)を選択します。デフォルトの選択(プロンプトの末尾に表示されます)は、nです。

    field_name<tabs>field_value

    yes (y)を選択すると指定されたエディタが開き、フィールドの追加や編集を行うことができます。各フィールドは、次のような形式になっています。

    field_name<tabs>field_value

    フィールド名とフィールド値は、1つ以上のタブで区切られています。

    ほとんどの場合、フィールド名はUBBCONFIGファイルの対応するKEYWORDと同じであり、接頭辞としてTA_が付いています

    ノート:

    有効な入力の詳細は、「tmconfig入力バッファの注意事項」を参照してください。UBBCONFIGファイルの各セクションに対応するフィールド名の詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』TM_MIB(5)に関する項を参照してください。

    Enter editor to correct?

  5. n または y を選択します

    エラーを修正しない(nを入力した)場合は、入力バッファには何もフィールドが格納されません。エラーを修正する場合は、エディタが再度開きます。

    入力バッファの編集を終了するとメッセージが表示され、ステップ3で指定した操作をすぐに実行するかどうかが確認されます。

    Perform operation [y]?

  6. nまたはyを選択します。デフォルトの選択(プロンプトの末尾に表示されます)は、yです。
    • エラーを修正しない(nを入力した)場合は、入力バッファには何もフィールドが格納されません。エラーを修正する場合は、エディタが再度開きます。
    • yesを選択すると、リクエストされた操作がtmconfigによって実行され、次の確認メッセージが表示されます。Return value TAOK

      操作の結果が画面上に出力されます。

      TUXCONFIGの1つのセクションでの操作が完了しました。この後、同じセクションまたは別のセクションで他の操作を実行できます。新しい操作を実行できるように、ステップ1で表示されたTUXCONFIGセクションのメニューが再度表示されます。

      ノート:

      すべての出力バッファ・フィールドは、入力バッファがクリアされないかぎり、入力バッファに格納されます。
  7. 操作を指定してtmconfigセッションを続けるか、またはセッションを終了します。
    • 操作を指定するには、ステップ2に戻ります。

    • tmconfigセッションを終了するには、ステップ3で示したように操作メニューからQUITを選択します。

  8. tmconfigセッションを終了した後で、編集したTUXCONFIGファイルのバックアップ・コピーをテキスト形式で作成できます。次の例では、管理者がyesを指定してバックアップを作成すること(デフォルト)、そしてバックアップ・ファイル(UBBCONFIG)のデフォルト名を別の名前(backup)でオーバーライドすることを指定しています。
    Unload TUXCONFIG file into ASCII backup [y]? 
    Backup filename [UBBCONFIG]? backup 
    Configuration backed up in backup

3.3.3 tmconfig入力バッファの注意事項

tmconfigで入力バッファを操作する場合の注意事項は次のとおりです。

  • フィールドに入力した値が1行を超える場合、次の行にわたって入力を続けられます。ただし、2行目の先頭には1つ以上のタブを挿入します。(入力した内容がTUXCONFIGに読み込まれた時点で、タブ文字は削除されます。)
  • 1つの改行文字だけから構成される空の行は無視されます。
  • 特定のフィールドに対して複数の行がある場合、最初の行が使用され、ほかの行は無視されます。
  • 表示できない文字をフィールド値として入力したり、タブをフィールドの先頭文字にするには、バックスラッシュを入力し、その後に必要な文字を2文字の16進表現で入力します。(16進数に対応するASCII文字については、UNIXシステムのリファレンス・マニュアルのASCII(5)を参照してください。)次に例を示します。
  • 空白を挿入するには、次のように入力します。

    \20

  • バックスラッシュを挿入するには、次のように入力します。

    \\

3.4 tmconfigを使用した構成の一時的な変更

構成の各要素は、動的に変更することができます。この項では、以下に示す作業を行うための手順を示します。

3.5 新しいマシンの追加

  1. tmconfigと入力します。
  2. 構成ファイルのMACHINESセクションを指定するには、セクション・メニューの後に表示されるプロンプトで2と入力します。(以下に示す例の2 - 4行目を参照。)
  3. Enterキーを押して、デフォルトの操作を選択します。デフォルトは1)FIRSTです。これは、指定されたセクションの最初のレコードを表示する操作です。この場合、最初のレコードはMACHINESセクションで最初に出現するマシンを指します。(6行目を参照。)
  4. [Enter]キーを押して、テキスト・エディタを起動するかおよび指定された操作を実行するかに関して、それぞれのデフォルトの選択肢((no)および(yes))を受け入れます。リクエストされた内容に従って、MACHINESセクションの最初のレコードが表示されています。これは、次のサンプル・リストのSITE1という名前のマシンに対応するレコードです。(次のリストの10-35行目を参照。)
  5. セクションのメニューの後で[Enter]キーを押し、MACHINESセクションを再度選択します。(36 - 38行目を参照。)
  6. 操作メニューの後で4と入力し、ADD操作を選択します。(39 - 40行目を参照。)
  7. プロンプトでyと入力して、テキスト・エディタを起動します。(41行目を参照。)
  8. 適宜パス名を変更し、次の4つのキー・フィールドに新しい値を設定します。
    • TA_TLOGSIZE (50 - 51行目を参照)
    • TA_PMID (52-53行目を参照)
    • TA_LMID (54-55行目を参照)
    • TA_TYPE (56-57行目を参照)
  9. 入力した内容を書込み(保存し)、エディタを終了します。(58 - 60行目を参照。)
  10. プロンプトでyと入力し、tmconfigで操作(マシンの追加)を実行します。(61行目を参照。)

リスト3-2に、マシンを追加するtmconfigセッションを示します。

リスト3-2 マシンの追加

1 $ tmconfig
2 Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS
3 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL 
4 10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]: 2
5 Operation: 1)FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE
6 6) CLEAR BUFFER 7) QUIT [1]:
7 Enter editor to add/modify fields [n]?
8 Perform operation[y]?
9 Return value TAOK
10 Buffer contents:
11 TA_OPERATION 4
12 TA_SECTION 1
13 TA_OCCURS 1
14 TA_PERM 432
15 TA_MAXACCESSERS 40
16 TA_MAXGTT 20
17 TA_MAXCONV 10
18 TA_MAXWSCLIENTS 0
19 TA_TLOGSIZE 100
20 TA_UID 4196
21 TA_GID 601
22 TA_TLOGOFFSET 0
23 TA_TUXOFFSET 0
24 TA_STATUS LIBTUX_CAT:1137: Operation completed successfully
25 TA_PMID mchn1
26 TA_LMID SITE1
27 TA_TUXCONFIG /home/apps/bank/TUXCONFIG
28 TA_TUXDIR /home/tuxroot
29 TA_STATE ACTIVE
30 TA_APPDIR /home/apps/bank
31 TA_TYPE 3B2
32 TA_TLOGDEVICE /home/apps/bank/TLOG
33 TA_TLOGNAME TLOG
34 TA_ULOGPFX /home/apps/bank/ULOG
35 TA_ENVFILE /home/apps/bank/ENVFILE
36 Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS
37 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL
38 10) NETGROUPS 11) NETMAPS 12) INTERFACES [2]: 
39 Operation: 1) FIRST 2) NEXT 3)RETRIEVE 4) ADD 5) UPDATE
40 6) CLEAR BUFFER 7) QUIT [1]: 4
41 Enter editor to add/modify fields [n]? y
42 491
43 g/home/s//usr/p
44 TA_TUXCONFIG /usr/apps/bank/TUXCONFIG
45 TA_TUXDIR /usr/tuxroot
46 TA_APPDIR /usr/apps/bank
47 TA_TLOGDEVICE /usr/apps/bank/TLOG
48 TA_ULOGPFX /usr/apps/bank/ULOG
49 TA_ENVFILE /usr/apps/bank/ENVFILE
50 /100/s//150/p
51 TA_TLOGSIZE 150
52 /mchn1/s//mchn2/p
53 TA_PMID mchn2
54 /SITE1/s//SITE3/p
55 TA_LMID SITE3
56 /3B2/s//SPARC/p
57 TA_TYPE SPARC
58 w
59 412
60 q
61 Perform operation [y]?
62 Return value TAUPDATED
63 Buffer contents:
64 TA_OPERATION 2
65 TA_SECTION 1
66 TA_OCCURS 1
67 TA_PERM 432
68 TA_MAXACCESSERS 40
69 TA_MAXGTT 20
70 TA_MAXCONV 10
71 TA_MAXWSCLIENTS 0
72 TA_TLOGSIZE 150
73 TA_UID 4196
74 TA_GID 601
75 TA_TLOGOFFSET 0
76 TA_TUXOFFSET 0
77 TA_STATUS LIBTUX_CAT:1136: Update completed successfully
78 TA_PMID mchn2
79 TA_LMID SITE3
80 TA_TUXCONFIG /usr/apps/bank/TUXCONFIG 
81 TA_TUXDIR /usr/tuxroot 
82 TA_STATE NEW
83 TA_APPDIR /usr/apps/bank
84 TA_TYPE SPARC
85 TA_TLOGDEVICE /usr/apps/bank/TLOG
86 TA_TLOGNAME TLOG 
87 TA_ULOGPFX /usr/apps/bank/ULOG
88 TA_ENVFILE /usr/apps/bank/ENVFILE

3.6 サーバーの追加

  1. tmconfigと入力します。
  2. 構成ファイルのSERVERSセクションを指定するには、セクションのメニューの後で4と入力します。(3行目を参照。)
  3. 操作メニューの後で6と入力し、CLEAR BUFFER操作をリクエストします。(5行目を参照。)
  4. [Enter]キーを押して、デフォルトのセクションSERVERSを選択します。(7 - 9行目を参照。)
  5. 操作メニューの後で4と入力し、ADD操作をリクエストします。(10 - 11行目を参照。)
  6. プロンプトでyと入力して、テキスト・エディタを起動します。(12行目を参照。)
  7. 次の3つのキー・フィールドに新しい値を設定します。
    • TA_SERVERNAME (15行目を参照)
    • TA_SRVGRP (16行目を参照)
    • TA_SRVID (17行目を参照)
  8. 入力した内容を書込み(保存し)、エディタを終了します。(19 - 21行目を参照。)
  9. プロンプトでyと入力し、tmconfigで操作(サーバーの追加)を実行します。(22行目を参照。)

リスト3-3に、サーバーを追加するtmconfigセッションを示します。

リスト3-3 サーバーの追加

1 Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS
2 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL 
3 10)NETGROUPS 11) NETMAPS 12) INTERFACES [1]: 4 
4 Operation: 1)FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 
5 6) CLEAR BUFFER 7) QUIT [4]: 
6 Buffer cleared 
7 Section:1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS 
8 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL 
9 10) NETGROUPS 11) NETMAPS 12) INTERFACES [4]: 
10 Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 
11 6)CLEAR BUFFER 7) QUIT [6]: 4 
12 Enter editor to add/modify fields [n]? y 
13 1 
14 c 
15 TA_SERVERNAME XFER 
16 TA_SRVGRP BANKB1 
17 TA_SRVID 5
18 . 
19 w 
20 28 
21 q 
22 Perform operation [y]? 
23 Return value TAOK 
24 Buffer contents: 
25 TA_OPERATION 3 
26 TA_SECTION 3 
27 TA_OCCURS 1 
28 TA_SRVID 5 
29 TA_SEQUENCE 0 
30 TA_MIN 1 
31 TA_MAX 1
32 TA_RQPERM 432 
33 TA_RPPERM 432 
34 TA_MAXGEN 5
35 TA_GRACE 86400 
36 TA_STATUS LIBTUX_CAT:1137: Operation completed successfully 
37 TA_SYSTEM_ACCESS FASTPATH 
38 TA_ENVFILE 
39 TA_SRVGRP BANKB1 
40 TA_SERVERNAME XFER 
41 TA_CLOPT -A 
42 TA_CONV N 
43 TA_RQADDR 
44 TA_REPLYQ Y 
45 TA_RCMD 
46 TA_RESTART Y

3.7 新しく設定したマシンのアクティブ化

  1. tmconfigと入力します。
  2. 構成ファイルのMACHINESセクションを指定するには、セクションのメニューの後で2と入力します。(以下に示す例の1 - 3行目を参照。)
  3. MACHINESセクションで適切なレコードを選択するには、マシン・レコードのリストを切り替えて表示する必要があります。最初のマシン・レコードを表示するには、操作メニューの後でEnterキーを押してFIRSTを選択します。(4 - 5行目を参照。)最初のマシン・レコードを選択しない場合、操作メニューの後で2と入力してNEXTを選択し、次のマシン・レコードを表示します。
  4. [Enter]キーを押して、テキスト・エディタを起動するかおよび指定された操作を実行するかに関して、それぞれのデフォルトの選択肢(noおよびyes)を受け入れます。MACHINESセクションで要求されたレコードが表示されます。これは、次に示すサンプル・リストで、SITE3という名前のマシンのレコードです。(次のリストの9-34行目を参照。)
  5. セクションのメニューの後で[Enter]キーを押し、MACHINESセクションを再度選択します。(35 - 37行目を参照。)
  6. 操作メニューの後で5と入力し、UPDATEを選択します。(38 - 39行目を参照。)
  7. プロンプトでyと入力して、テキスト・エディタを起動します。(40行目を参照。)
  8. TA_STATEフィールドの値をNEWからACTIVEに変更します。(42 - 45行目を参照。)
  9. 入力した内容を書込み(保存し)、エディタを終了します。(46 - 48行目を参照。)
  10. プロンプトでyと入力し、tmconfigで操作(新しく設定したマシンのアクティブ化)を実行します。(49行目を参照。)
  11. tmconfigによって、指定されたマシンに対して変更されたレコードが表示されます。変更内容を確認し、必要に応じて編集します。
  12. 変更内容を編集しない場合、操作メニューの後で7を選択し、tmconfigセッションを終了します。

リスト3-4に、サーバーをアクティブ化するtmconfigセッションを示します。

リスト3-4 新しいサーバーのアクティブ化

1 Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS
2 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL 
3 10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]: 2 
4 Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 
5 6) CLEAR BUFFER 7)QUIT [1]:
6 Enter editor to add/modify fields [n]?
7Perform operation [y]? 
8 Return value TAOK 
9 Buffer contents: 
10 TA_OPERATION 4 
11 TA_SECTION 1 
12 TA_OCCURS 1 
13 TA_PERM 432
14 TA_MAXACCESSERS 40 
15 TA_MAXGTT 20 
16 TA_MAXCONV 10 
17 TA_MAXWSCLIENTS 0
18 TA_TLOGSIZE 150 
19 TA_UID 4196 
20 TA_GID 601
21 TA_TLOGOFFSET 0
22 TA_TUXOFFSET 0 
23 TA_STATUS LIBTUX_CAT:1175: Operation completed successfully 
24 TA_PMID mchn2 
25 TA_LMID SITE3 
26 TA_TUXCONFIG /usr/apps/bank/TUXCONFIG /
27 TA_TUXDIR /usr/tuxroot 
28 TA_STATE NEW 
29 TA_APPDIR /usr/apps/bank 
30 TA_TYPE SPARC 
31 TA_TLOGDEVICE /usr/apps/bank/TLOG 
32 TA_TLOGNAME TLOG 
33 TA_ULOGPFX /usr/apps/bank/ULOG 
34 TA_ENVFILE /usr/apps/bank/ENVFILE 
35 Section: 1) RESOURCES, 2) MACHINES,3) GROUPS 4) SERVERS 
36 5)SERVICES 6) NETWORK 7) ROUTING q)QUIT 9) WSL 
37 10) NETGROUPS 11) NETMAPS 12) INTERFACES [2]: 
38 Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE
39 6) CLEAR BUFFER 7) QUIT [1]: 5 /
40 Enter editor to add/modify fields [n]? y 
41 491 
42/TA_STATE 
43 TA_STATE NEW 
44 s/NEW/ACTIVE 
45 TA_STATE ACTIVE 
46 w
47 412 
48 q 
49 Perform operation [y]? 
50 Return value TAUPDATED 
51 Buffer contents: 
52 . 
53 . 
54 . 

3.8 新しいグループの追加

  1. tmconfigと入力します。
  2. 構成ファイルのGROUPSセクションを指定するには、セクション・メニューの後に表示されるプロンプトで3と入力します。(以下に示す例の1 - 3行目を参照。)
  3. 操作メニューの後で6と入力し、CLEAR BUFFER操作をリクエストします。(5行目を参照。)
  4. [Enter]キーを押して、デフォルトのセクションGROUPSを選択します。(7 - 9行目を参照。)
  5. 操作メニューの後で4と入力し、ADD操作をリクエストします。(10 - 11行目を参照。)
  6. プロンプトでyと入力して、テキスト・エディタを起動します。(12行目を参照。)
  7. 次の3つのキー・フィールドに新しい値を設定します。
    • TA_LMID (15行目を参照)
    • TA_SRVGRP
    • TA_GRPNO (17行目を参照)

次のリストは、グループを追加するtmconfigセッションを示しています。

リスト3-5 グループの追加

1 Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS
2 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL 
3 10)NETGROUPS 11) NETMAPS 12) INTERFACES [1]: 3 
4 Operation: 1)FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 
5 6) CLEAR BUFFER 7) QUIT [4]: 6 
6 Buffer cleared 
7 Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS 
8 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL
9 10) NETGROUPS 11) NETMAPS 12) INTERFACES [3]:
10 Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 
11 6) CLEAR BUFFER 7) QUIT [6]: 4 
12 Enter editor to add/modify fields [n]? y 
13 1 
14 c 
15 TA_LMID SITE3 
16 TA_SRVGRP GROUP3 
17 TA_GRPNO 3 
18 .
19 w 
20 42 
21 q 
22 Perform operation [y]? 
23 Return value TAUPDATED 
24 Buffer contents: 
25 TA_OPERATION 2 
26 TA_SECTION 2 
27 TA_OCCURS 1 
28 TA_GRPNO 3 
29 TA_TMSCOUNT 0 
30 TA_STATUS LIBTUX_CAT:1136: Update completed successfully 
31 TA_LMID SITE3 
32 TA_SRVGRP GROUP3 
33 TA_TMSNAME 
34 TA_OPENINFO 
35 TA_CLOSEINFO

3.9 アプリケーションに対するデータ依存型ルーティング(DDR)の変更

アプリケーションのデータ依存型ルーティングを変更するには、次のステップに従います:

  1. tmconfigと入力します
  2. 構成ファイルのROUTINGセクションを指定するには、セクション・メニューの後に表示されるプロンプトで7と入力します。
  3. それぞれ最初のエントリと次のエントリを表示するFIRSTおよびNEXT操作を選択して、ROUTINGセクションのエントリを切り替えて表示します。DDRを変更するエントリを選択します
  4. 操作メニューから5)UPDATEを選択します。
  5. プロンプトでyと入力して、テキスト・エディタを起動します。

    Do you want to edit(n)? y

  6. 関連するフィールドの値を次の表の「サンプル値」の値に変更します:

表3-2 アプリケーションに対するデータ依存型ルーティング(DDR)の変更

フィールド サンプル値 意味
TA_ROUTINGNAME account_routing ルーティング・セクションの名前
TA_BUFTYPE FML バッファ・タイプ
TA_FIELD account_ID ルーティング・フィールドの名前
TA_RANGES 1-10:group1,*:* 使用されているルーティング基準。ここで示すように、値が1 - 10 (10を含む)の場合、リクエストはグループ1のサーバーに送信されます。それ以外の場合は、リクエストは構成内の任意のサーバーに送信されます。

ノート:

詳細は、『Oracle Tuxedoコマンド・リファレンス』の「tmconfig, wtmconfig(1)」を参照してください。

3.10 インタフェースのファクトリ・ベース・ルーティング(FBR)の変更

ノート:

分散型Oracle Tuxedo CORBAアプリケーションのファクトリ・ベース・ルーティングの詳細は、『CORBAアプリケーションのスケーリング、配布およびチューニング』を参照してください。

CORBAインタフェースのファクトリ・ベース・ルーティングを変更するには、次のステップに従います。

  1. tmconfigセッションを開始します。
  2. 構成ファイルのROUTINGセクションを選択します(構成ファイル・セクションのメニューで7を選択します)。
  3. FIRSTおよびNEXT操作を使用して、FBRを変更するエントリを選択します。
  4. UPDATE操作を選択します。
  5. 編集を開始するかどうかを確認するメッセージが表示されたら、y (はい)を入力します。

    Do you want to edit(n)? y

  6. 関連するフィールドを、表3-3の中央の列に示す値に変更します。
フィールド サンプル値 意味
TA_ROUTINGNAME STU_ID ルーティング・セクションの名前
TA_FIELD student_id このフィールドの値は、(フィールドで指定された)基準に従います。つまり、このフィールドの値はルーティング結果を決定します。
TA_RANGES 100001-100050:ORA_GRP1,100051-*:ORA_GRP2 使用されているルーティング基準。

TA_RANGESフィールドの値がルーティング基準です。たとえば、更新前の学生登録のルーティング基準では、学生IDの100001 - 100005がORA_GRP1に、100006 - 100010がORA_GRP2に送信されるとします。上の表に示すように変更すると、student_id の値が100001 - 100050 (100001と100050を含む)の場合、リクエストはORA_GRP1のサーバーに送信されます。それ以外のリクエストはORA_GRP2に送信されます。

ノート:

tmconfigによってルーティング・パラメータを動的に変更すると、後続の呼出しに適用されますが、未処理の呼出しには適用されません。
INTERFACESセクションでTA_FACTORYROUTING割当てを動的に変更することもできます。

例:

  1. tmconfigセッションを開始します。
  2. 構成ファイルのINTERFACESセクションを選択します(構成ファイル・セクションのメニューで12を選択します)。
  3. FIRSTおよびNEXT操作を使用して、FBRを変更するインタフェース・エントリを選択します。たとえば、ROUTINGセクションにCAMPUSという名前の新しいファクトリ・ベース・ルーティング基準を定義した場合、この基準にRegistrarインタフェースを再び割り当てることが出来ます。
  4. UPDATE操作を選択します。

        Do you want to edit(n)? y  

3.11 アプリケーション全体に関するパラメータの変更

一部の実行時パラメータは、構成のすべてのコンポーネント(マシン、サーバーなど)に関連しています。これらのパラメータは、構成ファイルのRESOURCESセクションにリストされています。

RESOURCESセクションのパラメータを知る簡単な方法は、そのセクションの最初のエントリを表示することです。その場合、次の手順に従います。

  1. tmconfigと入力します
  2. セクション・メニューの後で[Enter]キーを押し、デフォルトのRESOURCESセクションを選択します。(以下に示す例の1 - 3行目を参照。)
  3. 操作メニューの後で[Enter]キーを押し、デフォルトのFIRST操作をリクエストします。(4 - 5行目を参照。)
  4. 編集するかどうか確認されたら、[Enter]キーを押してデフォルトの()を受け入れます。

    Do you want to edit(n)?

  5. 指定された操作(FIRST) を実行するかどうかの確認を求められたら、[Enter]キーを押してデフォルトの(y)を受け入れます。

    Perform operation [y]?

リスト3-6に、RESOURCESセクションの最初のエントリを表示するtmconfigセクションを示します。

リスト3-6 RESOURCESセクションの最初のエントリの表示

1 Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS 
2 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL 
3 10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]: 
4 Operation: 1)FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 
5 6) CLEAR BUFFER 7) QUIT [1]: 
6 Enter editor to add/modify fields [n]? 
7 Perform operation [y]? 
8 Return value TAOK 
9 Buffer contents:
10 TA_OPERATION 1 
11 TA_SECTION 0 
12 TA_STATUS Operation completed successfully 
13 TA_OCCURS 1 
14 TA_PERM 432 
15 TA_BBLQUERY 30 
16 TA_BLOCKTIME 6
17 TA_DBBLWAIT 2 
18 TA_GID 10 
19 TA_IPCKEY 80997 
20 TA_LICMAXUSERS 1000000 
21 TA_MAXACCESSERS 100 
22 TA_MAXBUFSTYPE 32 
23 TA_MAXBUFTYPE 16 
24 TA_MAXCONV 10 
25 TA_MAXDRT 0 
26 TA_MAXGROUPS 100 
27 TA_MAXGTT 25 
28 TA_MAXMACHINES 256 
29 TA_MAXQUEUES 36 
30 TA_MAXRFT 0 
31 TA_MAXRTDATA 8 
32 TA_MAXSERVERS 36 
33 TA_MAXSERVICES 100 
34 TA_MIBMASK 0 
35 TA_SANITYSCAN 12 
36 TA_SCANUNIT 10 
37 TA_UID 5469 
38 TA_MAXACLGROUPS 16384 
39 TA_MAXNETGROUPS 8 
40 TA_MAXINTERFACES 150 
41 TA_MAXOBJECTS 1000 
42 TA_SIGNATURE_AHEAD 3600 
43 TA_SIGNATURE_BEHIND 604800 
44 TA_MAXTRANTIME 0 
45 TA_STATE ACTIVE 
46 TA_AUTHSVC 
47 TA_CMTRET COMPLETE
48 TA_DOMAINID 
49 TA_LDBAL Y 
50 TA_LICEXPIRE 2003-09-15 
51 TA_LICSERIAL 1234567890 
52 TA_MASTER SITE1 
53 TA_MODEL SHM 
54 TA_NOTIFY DIPIN 
55 TA_OPTIONS 
56 TA_SECURITY NONE 
57 TA_SYSTEM_ACCESS FASTPATH 
58 TA_USIGNAL SIGUSR2 
59 TA_PREFERENCES 
60 TA_COMPONENTS TRANSACTIONS,QUEUE,TDOMAINS,
61 EVENTS,WEBGUI,WSCOMPRESSION,TDOMCOMPRESSION 
62 TA_SIGNATURE_REQUIRED 
63 TA_ENCRYPTION_REQUIRED 
64 TA_SEC_PRINCIPAL_NAME 
65 TA_SEC_PRINCIPAL_LOCATION 
66 TA_SEC_PRINCIPAL_PASSVAR 

3.12 アプリケーション・パスワードの変更

  1. tmconfigと入力します。
  2. セクション・メニューの後で[Enter]キーを押し、デフォルトのRESOURCESセクションを選択します。(以下に示す例の2 - 4行目を参照。)
  3. 操作メニューの後で6と入力し、バッファ・クリア操作を選択します。(6行目を参照。)
  4. セクションのメニューの後で[Enter]キーを押し、RESOURCESセクションを再度選択します。(8 - 10行目を参照。)
  5. 操作メニューの後で5と入力し、UPDATEを選択します。(11 - 12行目を参照。)
  6. プロンプトでyと入力して、テキスト・エディタを起動します。(13行目を参照。)
  7. (バッファに)次のように入力します。

    TA_PASSWORD new_password

    TA_PASSWORD new_password
  8. 入力した内容を書込み(保存し)、エディタを終了します。(18 - 20行目を参照。)

リスト3-7に、アプリケーション・パスワードをneptuneに変更しているtmconfigセッションを示します。

リスト3-7 アプリケーション・パスワードの変更


1 $ tmconfig 
2 Section: 1) RESOURCES, 2) MACHINES, 3)GROUPS 4) SERVERS 
3 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL 
4 10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]: 
5 Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 
6 6)CLEAR BUFFER 7) QUIT [4]: 6 
7 Buffer cleared 
8 Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS 
9 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL 
10 10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]: 
11 Operation: 1) FIRST 2) NEXT 3)RETRIEVE 4) ADD 5) UPDATE 
12 6) CLEAR BUFFER 7) QUIT [6]: 5 
13 Enter editor to add/modify fields [n]? y 
14 1 
15 c 
16 TA_PASSWORD neptune 
17 . 
18 w 
19 49 
20 q 
21 Perform operation [y]? 
22 Return value TAUPDATED 
23 Buffer contents: 
24 TA_OPERATION 1
25 TA_SECTION 0 
26 TA_STATUS Operation completed successfully 
27 TA_OCCURS 1 
28 TA_PERM 432 
29 TA_BBLQUERY 30 
30 TA_BLOCKTIME 6 
31 TA_DBBLWAIT 2 
32 TA_GID 10 
33 TA_IPCKEY 80997 
34 TA_LICMAXUSERS 1000000 
35 TA_MAXACCESSERS 100 
36 TA_MAXBUFSTYPE 32 
37 TA_MAXBUFTYPE 16 
38 TA_MAXCONV 10 
39 TA_MAXDRT 0 
40 TA_MAXGROUPS 100 
41 TA_MAXGTT 25 
42 TA_MAXMACHINES 256 
43 TA_MAXQUEUES 36 
44 TA_MAXRFT 0 
45 TA_MAXRTDATA 8 
46 TA_MAXSERVERS 36 
47 TA_MAXSERVICES 100 
48 TA_MIBMASK 0 
49 TA_SANITYSCAN 12 
50 TA_SCANUNIT 10 
51 TA_UID 5469 
52 TA_MAXACLGROUPS 16384 
53 TA_MAXNETGROUPS 8 
54 TA_MAXINTERFACES 150 
55 TA_MAXOBJECTS 1000 
56 TA_PASSWORD neptune 
57 TA_STATE ACTIVE 
58 TA_AUTHSVC 
59 TA_CMTRET COMPLETE 
60 TA_DOMAINID 
61 TA_LDBAL Y 
62 TA_LICEXPIRE 1998-09-15 
63 TA_LICSERIAL 1234567890 
64 TA_MASTER SITE1 
65 TA_MODEL SHM />66 TA_NOTIFY DIPIN 
67 TA_OPTIONS 
68 TA_SECURITY NONE />69 TA_SYSTEM_ACCESS FASTPATH 
70 TA_USIGNAL SIGUSR2 
71 TA_PREFERENCES 
72 TA_COMPONENTS TRANSACTIONS,QUEUE,TDOMAINS,EVENTS,WEBGUI, 
73 WSCOMPRESSION,TDOMCOMPRESSION

3.13 tmconfigを使用した動的な変更での制限

tmconfigを使用してアプリケーションを動的に変更する場合は、次の制限に注意してください。簡単には変更できないパラメータは、慎重に設定してください。

  • 各セクションには対応するキー・フィールドがあります。これらのキー・フィールドは、操作を実行するレコードを識別するものです。(詳細は、『Oracle Tuxedoコマンドリファレンス』の「tmconfig, wtmconfig(1)」を参照してください。)キー・フィールドは、アプリケーションの実行中は変更できません。通常、新しいエントリとそのキー・フィールドを追加し、それを古いエントリの代わりに使用します。 その場合、新しいエントリだけが使用されます。つまり、管理者は構成の古いエントリを起動しません。
  • 通常、パラメータに対応付けられた構成コンポーネントが起動しているときは、そのパラメータを更新することはできません。たとえば、MACHINESセクションのエントリに対応するマシンが起動しているときは、そのエントリを変更することはできません。具体的には、次のとおりです:
    • グループ内のサーバーが起動しているときは、そのグループのエントリを変更することはできません。
    • サーバーが起動しているときは、その名前、タイプ(会話型またはそれ以外)、そのメッセージ・キューに関連するパラメータを変更することはできません。(ほかのサーバー・パラメータはいつでも変更できますが、サーバーが次回に起動するまで変更内容は適用されません。)
    • SERVICESエントリは随時変更できます。ただし、サービスが次回に通知されるまで変更内容は適用されません。
    • RESOURCESセクションへの更新には、次の制限があります。UIDGIDPERMMAXACCESSERSMAXGTTおよびMAXCONVパラメータはRESOURCESセクションでは更新できませんが、マシンごとに更新することはできます。また、IPCKEYMASTERMODELOPTIONSUSIGNALMAXSERVERSMAXSERVICESMAXBUFTYPEおよびMAXBUFSTYPEパラメータを動的に変更することはできません。
    • 作業している構成ファイルのセクションに注意してください。tmconfigでは、間違ったセクションに操作を行っても警告は表示されません。たとえば、RESOURCESセクションを作業している際に、MACHINESセクションのENVFILEパラメータの更新を試みると、操作は成功したように見えます。つまり、tmconfigTAOKが返されます。しかし、UBBCONFIGファイルをアップロードしても、変更内容は適用されていません。更新が行われたのは、TAUPDATEDステータス・メッセージが表示された場合だけです。

複数のマシンがある構成では、常に次の操作を行ってください。

  • MIGRATEオプションを指定してMASTERマシンのバックアップを指定します。これは、アプリケーション・サーバーの移行が必要ない場合でも行います。
  • 上限を定義するMAXSERVERSMAXSERVICESなどのパラメータには、構成の拡張に対応できるだけの十分な値を設定します。アプリケーションを当初1つのマシンだけでデプロイしている場合でも、複数マシンに構成が拡張される可能性がある場合は、MPモデルを使用します。その場合、LANオプション、および初期マシンとしてネットワーク・エントリを指定します。
  • MACHINESセクションのパラメータは慎重に設定します。これらのパラメータを更新する場合は、マシンを停止する必要があるからです (また、MASTERマシンの場合は、MASTERをバックアップに切り替える必要があります)

3.13.1 実行中のシステムに行うことのできない作業

Oracle Tuxedoシステムのほとんどの要素は、手動でも自動的にも、動的に変更することができます。たとえば、新しいサーバーやマシンを増やしたり、タイムアウト・パラメータを変更することができます。ただし、一部のパラメータはシステムの実行中には変更することができません。

  • 掲示板のサイズに影響するパラメータは、動的には変更できません。これらのパラメータの大半は、MAXGTTなど、MAXという文字列で開始されます。これらのパラメータは、Oracle Tuxedoシステムで同時に処理できるトランザクションの最大数を示します。
  • 実行中のアプリケーションで使用されているマシン名は、動的には変更できません。新しいマシン(つまり、新しい名前のマシン)を追加することはできますが、既存のマシン名を変更することはできません。
  • サーバーの実行可能ファイルがマスターとバックアップの両方のマシンで実行するように一度割り当てられると、マスターとバックアップの割当てを変更することはできません。

    ノート:

    サーバーの実行可能ファイルの新しいコピーを作成し、別のマシンで実行するように設定できます。ただし、一意の識別子を持つ既存のサーバーを変更することはできません。

3.14 tmadminを使用した構成への一時的な変更

tmconfigコマンドを使用して、TUXCONFIGファイルとそれに対応する掲示板のエントリを更新する場合、行った変更は永続的に適用されます。つまり、システムを停止して再起動しても変更内容が保持されます。

ただし、実行中のアプリケーションに一時的な変更を加える場合もあります。たとえば、次のような操作を一時的に行う場合があります。

これらのタスクはtmadminコマンドで実行できます。この項では、これらの手順を示します。

3.14.1 tmadminの環境変数の設定

tmadminセッションを開始する前に、環境変数と必要な権限を設定する必要があります。また、必要に応じて、デフォルトではないテキスト・エディタを選択して使用することもできます。

tmadminを実行する前に、次の手順に従って作業環境を正しく設定します。

  1. TUXCONFIGにエントリを追加したり、既存のエントリを変更する場合は、Oracle Tuxedoアプリケーション管理者としてログインします。既存の構成ファイルのエントリを参照するだけで、変更や追加を行わない場合は、管理者としてログインする必要はありません。
  2. TUXCONFIGおよびTUXDIRの2つの必須の環境変数に値を設定します
    • TUXCONFIGの値としては、必ずtmconfigを実行しているマシン上のバイナリ構成ファイルのフルパス名を指定します。
    • TUXDIRの値としては、必ずOracle Tuxedoシステムのバイナリ・ファイルが置かれたルート・ディレクトリを指定します。(tmconfigでは、$TUXDIR/udataobj/tpadminからフィールド名と識別子を抽出できる必要があります。)

3.15 Tuxedo ATMIサービスまたはサーバーの一時停止

Tuxedo ATMIサービスまたはATMIサーバーを一時停止するには、tmadminおよびsusp (suspendの省略形)コマンドを次のように入力します。

$ tmadmin

> susp

suspendコマンドでは、次のいずれかが非アクティブになります。

  • 1つのサービス
  • 特定のキューにあるすべてのサービス
  • 特定のグループIDまたはサーバーIDの組合せに対応するすべてのサービス

サービスまたはサーバーを一時停止しても、そのサービスまたはサーバーに対するキュー内のリクエストは処理されます。ただし、一時停止したサーバーにルーティングされた新しいサービス・リクエストは処理されません。グループIDまたはサーバーIDの組み合わせが指定され、それがMSSQセットの一部である場合は、そのMSSQセット内のすべてのサービスは指定されたサービスに対して非アクティブになります。

3.16 Tuxedo ATMIサービスまたはサーバーの再開

Tuxedo ATMIのサーバーまたはサービスを再開するには、tmadminおよびresume (またはres)コマンドを次のように入力します:

$ tmadmin

> res

resumeコマンドはsuspendコマンドの処理を取り消します。つまり、次のいずれかをキューでアクティブにします。

  • 1つのサービス
  • 特定のキューにあるすべてのサービス
  • 特定のグループIDまたはサーバーIDの組合せに対応するすべてのサービス

この状態でグループIDまたはサーバーIDがMSSQセットの一部である場合、そのMSSQセット内のすべてのサーバーは指定されたサービスに対してアクティブになります。

3.17 サービスまたはサーバーの通知

サービスまたはサーバーを通知するには、次のコマンドを入力します。

$ tmadmin > adv [{[-q queue_name] | [-g grpid] [-i srvid]}] service

サービスの通知を取り消す場合は、その前に一時停止しておくことが必要です。ただし、再度通知する場合は、サービスの一時停止解除必要はありません。以前に通知が取り消されて現在一時停止しているサービスは、単に通知するだけで一時停止が解除されます。

3.18 サービスまたはサーバーの通知解除

サービスまたはサーバーの通知を解除するには、次のコマンドを入力して一時停止する必要があります。

$ tmadmin

> unadv [{[-q queue_name] | [-g grpid] [-i srvid]}] service

サービスの通知を解除することは、一時停止することよりも影響が大きくなります。サービスの通知を解除すると、そのサービスに対するサービス表のエントリの割当てが解除されます。そのため、サービス表でクリアされた領域がほかのサービスで利用可能になります。

3.19 Tuxedo ATMIサーバーのサービス・パラメータの変更

tmadminコマンドを使用すると、特定のグループIDまたはサーバーIDの組合せ、または特定のキューに対するサービス・パラメータの値を動的に変更できます。

次の表は、この方法で定義されたサービス・パラメータを変更するために使用できるtmadminコマンドを示しています。

変更 コマンド
Load value () $tmadmin >chl -s service_name
Dequeueing priority () $tmadmin >chp -s service_name
トランザクション・タイムアウト値 $tmadmin

>chtt -s service_name

-sオプションは、tmadmin defaultコマンド行、またはtmadmin chlchpchttのいずれかのコマンド行で、必ず指定してください。defaultコマンド行で-sオプションを設定できるので、-sオプションはchlchp、およびchttコマンド行で省略可能と見なされます。

3.20 Tuxedo CORBAサーバーのインタフェース・パラメータの変更

tmadminコマンドを使用すると、特定のグループIDまたはサーバーIDの組合せ、または特定のキューに対するインタフェース・パラメータの値を動的に変更できます。

表3-5は、この方法で定義されたインタフェース・パラメータを変更するために使用できるtmadminコマンドを示しています。

変更 コマンド
ロード値(LOAD) $tmadmin

>chl -I interface_name

Dequeueing priority (PRIO) $tmadmin

>chp -I interface_name

トランザクション・タイムアウト値 $tmadmin

>chtt -I interface_name

-Iオプションは、tmadmin defaultコマンド行、またはtmadmin chlchpchttのいずれかのコマンド行で、必ず指定してください。defaultコマンド行で-Iオプションを設定できるので、-Iオプションはchlchp、およびchttコマンド行で省略可能と見なされます。

3.21 AUTOTRANタイムアウト値の変更

トランザクション・タイムアウト(TRANTIME)をAUTOTRANフラグが設定されたインタフェースまたはサービスに対して変更するには、changetrantime (chtt)コマンドを次のように実行します。

$ tmadmin

[-m machine]  {-q qaddress [-g groupname] [-i srvid]

[-s service] | -g groupname -i srvid -s service |

-I interface [-g groupname]} newtlim

tpbegin()またはtx_set_transaction_timeout()を使用して、アプリケーション・クライアントによって開始されたトランザクション・タイムアウト値を変更することはできません。

3.22 Tuxedo CORBAインタフェースの一時停止

ノート:

suspendコマンドの実行は、サーバーの一時停止と比べて、Oracle Tuxedoのシステム・リソースに対する影響を最小限に抑えることができます。
インタフェースを一時停止するには、suspend (またはsusp)コマンドを入力します。

例:

tmadmin
>susp -i IDL:beasys.com/Simple:1.0

インタフェースを一時停止すると、再開されるまでクライアントはそのインタフェース上のメソッドを呼び出すことができません。

3.23 Tuxedo CORBAインタフェースの再開

ノート:

resumeコマンドの実行は、サーバーの一時停止と比べて、Oracle Tuxedoのシステム・リソースに対する影響を最小限に抑えることができます。
インタフェースを再開するには、resume (またはres)コマンドを入力します。次に例を示します:

tmadmin

>res -i IDL:beasys.com/Simple:1.0

一時停止していたインタフェースを再開すると、クライアントはそのインタフェース上のメソッドを呼び出すことができます。