ユーザーズ・ガイド

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

Oracle Tuxedo Scripting Tool

この章では、Oracle Tuxedo Scripting Tool (TXST)について説明します。また、TXSTコマンド行スクリプト・インタフェースを使用して、Tuxedoの実行中インスタンスの構成、管理、およびこれらへの変更の永続化を行い、サーバー実行時イベントをモニターおよび管理する方法を説明します。

この章は次のように構成されます。

 


Tuxedo Scripting Toolの使用

Tuxedo Scripting Toolとは

Tuxedo Scripting Tool (TXST)は、Tuxedoドメインの管理、およびモニターに使用できるコマンド行スクリプト環境です。TXSTスクリプト環境は、Javaのスクリプト・インタプリタであるJythonをベースとしています。TXSTでは、ローカル変数、条件変数、フロー制御文など、標準のJython機能に加え、Tuxedoに固有の一連のスクリプト機能(コマンド)を使用できます。http://www.jython.orgを参照してください。

TXSTの機能

スクリプト・ツールはオンラインで使用できます(実行中のTuxedoドメイン、またはtlistenプロセスに組み込まれたJMXエージェントに接続した状態で)。TXSTコマンドの詳細は、「TXSTコマンドおよび変数リファレンス」を参照してください。

オンラインのTXSTにより、マネージドBean (MBean)へのアクセスが簡単になります。Mbeanは、JMXによって管理できる基礎リソースの管理インタフェースを提供するJavaオブジェクトです。

TXSTがTuxedoドメインに接続されているときに、スクリプト・ツールを使用してMBeanのナビゲートと問合せを行い、インスタンスに構成データを提供できます。TXSTがJMXエージェントに接続されているとき、その機能はMBeansがサポートするコマンドのみに制限されます。

操作モード

TXSTはコマンド行インタプリタで、対話形式でコマンド・プロンプトから1つずつ入力されたコマンド、バッチ形式でファイル(スクリプト)に指定されたコマンド、またはJavaコードに組み込まれたコマンドを解釈します。操作モードは、TXSTコマンドを発行する方法を表します。

対話モード

コマンドを入力すると応答がコマンド行プロンプトに表示される対話モードは、スクリプトを構築する前にツールについて学習したり、コマンド構文を試作したり、構成オプションを確認したりするのに役立ちます。対話形式によるTXSTの使用は、特に構成に重要な変更を加えた後、即座にフィードバックを取得するために有用です。TXSTスクリプト・シェルは、Tuxedoドメインのインスタンスとの永続的な接続を維持します。ユーザー・セッション全体を通して永続的な接続が維持されるので、インスタンスに対して実行される複数のステップを取り込むことができます。詳細は、「ユーザー対話の記録」を参照してください。

スクリプト・モード

スクリプトは、シェル・スクリプトと同様に、ユーザーからの入力を必要とすることなくTXSTコマンドのシーケンスを呼び出します。スクリプトは、.pyファイル拡張子の付いたテキスト・ファイル(例: filename.py)にTXSTコマンドを格納します。スクリプト・ファイルは、3つのモードで使用します(スクリプトによるTXSTの呼出し、Jythonコマンドを使用したスクリプトの実行、およびAntビルド・ファイルを使用したスクリプトの呼出し)。「スクリプトの実行」を参照してください。

組込みモード

組込みモードでは、Javaコード内でTXSTインタプリタをインスタンス化し、それを使ってTXSTコマンドおよびスクリプトを実行します。startRecording()とstopRecording()を除いて、対話モードとスクリプト・モードで使用するすべてのTXSTコマンドと変数を組込みモードで実行できます。

コード・リスト1は、TXSTインタプリタのインスタンスをインスタンス化し、これを使用して実行中のドメインに接続し、サーバーを作成する方法を示しています。

リスト6-1 JavaクラスからのTXSTの実行
import java.util.*;
import oracle.tuxedo.jmx.tux.jyscript.TXSTInterpreter;
import org.python.util.InteractiveInterpreter;
public class EmbeddedTXST {
    static InteractiveInterpreter interp = null;
    EmbeddedTXST() {
        interp = new TXSTInterpreter();
   }
   
    private static void connect() {
        interp.exec("connect('//localhost:5037', 'simpapp', ‘38075’)");
    }
    
    private static void create_server() {
        StringBuffer buffer = new StringBuffer();
        buffer.append("cd('simple/GROUP1')\n");
        buffer.append("srv1= create(‘simpserv’, ‘SERVER’, srvID=40)\n");
        buffer.append("print 'Script ran successfully...'\n");
        interp.exec(buffer.toString());
    } 
    
    public static void main(String[] args){
        new EmbeddedTXST();
        
        connect();
        create_server();
    }
}

TXSTを使用する場合の主な手順

次の項では、TXSTを設定および使用するための手順の概要を示します。

環境設定

TXSTの環境を設定するには、次の手順に従います。

  1. TSAMエージェントをインストールし、構成します。
  2. TUXDIR環境変数をTuxedoインストール・ディレクトリと同じ値に設定し、PATH環境変数に$TUXDIR/binを設定します。
  3. CLASSPATH$TUXDIR/jmx/jython-standalone.jar:$TUXDIR/jmx/tmjmx_tux.jar:$TUXDIR/jmx/tmjmx_metadata.jarを組み込みます。または、用意されているtxst.shまたはtxst.cmdを使用するだけでTXSTを起動できます。

TXSTの起動

TXSTを起動するには、コマンドtxst.shを入力します。

ウェルカム・メッセージとTXSTプロンプトが表示されます。

txst: /offline>

txst.shは、$TUXDIR/bin内にあります。txst.shを使用してTXSTを起動する場合は、CLASSPATHを設定する必要はありません。

前述のようにCLASSPATHに関連したjarファイルを追加した場合は、コマンドjava oracle.tuxedo.TXSTを入力できます。次に例を示します。

#export CLASSPATH=$CLASSPATH:$TUXDIR/jmx/jython-standalone.jar:$TUXDIR/jmx/tmjmx_tux.jar:$TUXDIR/jmx/tmjmx_metadata.jar
# java oracle.tuxedo.TXST
Initializing Tuxedo Scripting Tool (TXST) ...

Jythonは、初回の起動時に検出できたすべてのjarファイルをスキャンします。システムによっては、この処理の完了に数分かかる場合があり、TXSTがプロンプトをすぐには返さないことがあります。

Welcome to Tuxedo Administration Scripting Tool
Type help() for help on available commands
txst:/offline>

TXSTコマンドを入力するための要件

TXSTコマンドを入力する際には、次の規則に従ってください。「TXSTコマンドおよび変数リファレンス」も参照してください。

スクリプトの実行

TXSTは、3種類のスクリプト実行方法を備えています。このガイドに示すスクリプト例を実行するには、.pyファイル拡張子の付いたテキスト・ファイル(例: filename.py)にコマンドをコピーし、保存します。このテキスト・ファイルは、次に示すスクリプトを実行するためのコマンドとともに使用します。script.pyファイルを最初から作成する際にテンプレートとして使用できる、サンプル・スクリプトが用意されています。スクリプトにより、実行中のTuxedoドメインにTXSTが接続される場合は、スクリプトを実行する前にTuxedoドメインを開始してください。

スクリプトは、次の3つのモードで実行できます。

このバージョンでは、TXSTはMavenをサポートしません。

TXSTの終了

TXSTを終了するには、次のようにします。

txst:simpapp_38075:/>exit()
c:\jython\bin>

ヘルプの表示

TXSTコマンドに関する情報を表示するには、コマンドのドキュメント文字列を出力します。

たとえば、disconnectコマンドの情報を表示するには、次のコマンドを入力します。

txst:/simpapp>help(‘disconnect’)

このコマンドで次の結果が返されます。

    This function is used to disconnect from tuxedo server instance.
    Arguments list:
        ()
txst: /simpapp > disconnect()

ユーザー対話の記録

すべてのTXSTコマンド入力の記録を開始および停止するには、次のように入力します。

startRecording(outputFile)
stopRecording()

startRecordingコマンドを入力する際には、TXSTコマンドを格納するファイルのパス名を指定する必要があります。

たとえば、TXSTコマンドをrecord.pyファイルに記録するには、次のコマンドを入力します。

txst:/simpapp> startRecording('record.py')

詳細は、「startRecording」および「stopRecording」を参照してください。

ファイルへのTXST出力のリダイレクト

ファイルへのTXST出力のリダイレクトを開始および停止するには、次のように入力します。

redirect(outputFile,[toStdOut])
stopRedirect()

TXST出力をリダイレクトする先のファイルのパス名を指定する必要があります。オプションで、TXST出力を標準出力に送るかどうかを指定することもできます。toStdOut引数のデフォルトはTrueです。

たとえば、TXST出力を現行ディレクトリのlogs/txst.logファイルにリダイレクトし、出力が標準出力に送られないようにするには、次のコマンドを入力します。

txst:/simpapp> redirect('./logs/txst.log', False)

詳細は、「redirect」および「stopRedirect」を参照してください。

 


MBeanのナビゲート

MBeanのナビゲートと照会

オンラインのTXSTでは、MBeanに簡単にアクセスできます。JMX APIでは、MBeanに対して照会を行うためにJMXオブジェクト名を使用する必要がありますが、TXSTでは、ファイル・システム内のファイルの階層をナビゲートするのと同様なやり方で、MBeanの階層を移動できます。

Tuxedoは、MBeanを階層データ・モデルにまとめます。TXSTファイル・システムでは、MBean階層はドライブに、MBeanインスタンスはディレクトリに、MBean属性とオペレーションはファイルに相当します。UNIXまたはWindowsコマンド・シェルでファイル・システムをナビゲートするときと同じように、TXSTはcd、ls、pwdなどのコマンドを使用して、MBeanの階層構造を移動します。MBeanインスタンスにナビゲートしたら、TXSTコマンドを使用してMBeanと対話します。

階層内で、ルート・ディレクトリはDomainMBeanです。MBeanタイプの各インスタンスはサブディレクトリ、MBean属性とパラメータはMBeanインスタンス・ディレクトリの下のノード(ファイルと同様)です。

ドメインMBean

マシンMBean

ブリッジMBean

グループMBean

サーバーMBean

ARTBatchSystem Mbean

現在の管理オブジェクトの変更

TXSTがTuxedoドメインのインスタンスに最初に接続すると、cmo (現在の管理オブジェクト)がすべての構成管理オブジェクトのルート(DomainMBean)に初期化されます。MBeanタイプにナビゲートすると、cmoの値は親MBeanを反映します。MBeanインスタンスにナビゲートすると、リスト3に示すように、TXSTはcmoの値を現在のMBeanインスタンスに変更します。

TXST変数の詳細は、「TXSTコマンドおよび変数リファレンス」を参照してください。

リスト6-3 現在の管理オブジェクトの変更
txst:/offline>connect("//slce04cn03:5035", "simpapp", "58103")
txst:simpapp_58103:/>cmo.getMbeanName()
simpapp_58103:type=tuxedo_domain
txst:simpapp_58103:/>cd('L1')
txst:simpapp_58103:/L1>cmo.getMbeanName()
simpapp_58103:type=tuxedo_machine,LMID=L1

構成MBeanサンプルのナビゲートと表示

リスト4のコマンドは、Tuxedoドメイン・インスタンスに接続し、ナビゲートして、DomainMBean内のMbeanを表示するようにTXSTに指示します。引数を指定しない場合は、lsコマンドによってすべての子MBeanと属性が表示されます。

リスト6-4 構成MBeanのナビゲートと表示
txst:/offline>connect("//slce04cn03:5035", "simpapp", "58103")
txst:simpapp_58103:/>ls()
attributes:
        State                                   ACTIVE
parameters:
        TA_AUTHSVC
        TA_AUTOTRAN                                             N
        TA_BBLQUERY                                             30
        TA_BLOCKTIME                                            6
        TA_CLASS                                                T_DOMAIN
        TA_CMTRET                                               COMPLETE
        TA_COMPONENTS
        TA_CURDRT                                               0
        TA_CURGROUPS                                            1
        TA_CURINTERFACES                                        0
        TA_CURMACHINES                                          0
        TA_CURQUEUES                                            2
        TA_CURRFT                                               0
        TA_CURRTDATA                                            0
        TA_CURSERVERS                                           2
        TA_CURSERVICES                                          9
        TA_CURSTYPE                                             1
        TA_CURTYPE                                              12
        TA_DBBLFAILOVER                                         0
        TA_DBBLWAIT                                             2
        TA_DOMAINID                                             simpapp
        TA_ENCRYPTION_REQUIRED                                  N
        TA_ERROR                                                0
        TA_GID                                                  8500
        TA_HWDRT                                                0
        TA_HWGROUPS                                             1
        TA_HWINTERFACES                                         0
        TA_HWMACHINES                                           1
        TA_HWQUEUES                                             2
        TA_HWRFT                                                0
        TA_HWRTDATA                                             0
        TA_HWSERVERS                                            2
        TA_HWSERVICES                                           9
        TA_INSTANCE_AFFINITY                                    NONE
        TA_IPCKEY                                               58103
        TA_LDBAL                                                N
        TA_LICEXPIRE
        TA_LICMAXUSERS                                          10000000
        TA_LICSERIAL
        TA_MASTER                                               L1
        TA_MAXACCESSERS                                         15
        TA_MAXACLGROUPS                                         16384
        TA_MAXBUFSTYPE                                          32
        TA_MAXBUFTYPE                                           16
        TA_MAXCONV                                              1
        TA_MAXDRT                                               0
        TA_MAXGROUPS                                            100
        TA_MAXGTT                                               100
        TA_MAXINTERFACES                                        150
        TA_MAXMACHINES                                          256
        TA_MAXNETGROUPS                                         8
        TA_MAXOBJECTS                                           1000
        TA_MAXQUEUES                                            20
        TA_MAXRFT                                               0
        TA_MAXRTDATA                                            8
        TA_MAXSERVERS                                           20
        TA_MAXSERVICES                                          50
        TA_MAXSPDATA                                            18504
        TA_MAXTRANTIME                                          0
        TA_MIBMASK                                              0
        TA_MODEL                                                SHM
        TA_MORE                                                 0
        TA_NOTIFY                                               SIGNAL
        TA_OCCURS                                               1
        TA_OPTIONS
        TA_PERM                                                 384
        TA_PREFERENCES
        TA_SANITYSCAN                                           12
        TA_SCANUNIT                                             10
        TA_SCANUNIT_EXT                                         10
        TA_SECURITY                                             NONE
        TA_SEC_PRINCIPAL_LOCATION
        TA_SEC_PRINCIPAL_NAME
        TA_SEC_PRINCIPAL_PASSVAR
        TA_SGRPFAILOVER                                         0
        TA_SIGNATURE_AHEAD                                      3600
        TA_SIGNATURE_BEHIND                                     604800
        TA_SIGNATURE_REQUIRED                                   N
        TA_SSL_RENEGOTIATION                                    0
        TA_STATE                                                ACTIVE
        TA_SYSTEM_ACCESS                                        FASTPATH
        TA_TRANTIME                                             30
        TA_UID                                                  532
        TA_USIGNAL                                              SIGUSR2
childBean:
        tuxedo_machine                                          L1
additional info:

実行時MBeanの参照

現在のBeanの子Beanまたは属性(あるいはその両方)をすべて表示します。

必要に応じて引数を指定することにより、出力を制御できます。引数を指定しない場合は、ドメイン内のすべての子Beanと属性が表示されます。出力は文字列で返されます。

MBeanの検索

特定のMBeanを見つけるには、findコマンドを使用できます。TXSTは、指定されたMBeanのパス名を返します。パスで指定されたMBeanを戻すには、getMBeanコマンドを使用します。詳細は、「find」および「getMBean」を参照してください。

例:

txst:simpapp_58103:/>find('ser*')
/L1/GROUP1/server_1
txst:simpapp_58103:/>bean = getMBean('/L1/GROUP1/server_1')
txst:simpapp_58103:/>path = getPath(bean)
txst:simpapp_58103:/>print path
/L1/GROUP1/server_1

 


サーバーのライフサイクルの管理

有効期間中、実行されるインスタンスは停止、起動、一時停止、再開中、実行中など、複数の動作状態を遷移できます。start、suspend、resume、shutdownなどのTXSTコマンドにより、サーバー・インスタンスの状態に特定の変更が生じます。

TXSTを使用すると、次のことが可能です。

起動と停止

TXSTでは、いくつかの方法で指定したオブジェクトを起動および停止できます。選択する方法は、ターゲット・オブジェクトによって異なります。

ドメイン

Tuxedoドメインを起動するには、startDomain()コマンドを呼び出す必要があります。このコマンドは、tlistenプロセスに組み込まれたJMXエージェントにTXSTが接続しているときに使用する必要があります。呼出しが成功すると、Tuxedoドメインに接続できます。「startDomain」を参照してください。

Tuxedoドメインを停止するには、shutdownDomain()コマンドを呼び出す必要があります。ドメインが正常に停止すると、TXSTはドメインから切断し、JMXエージェントへの接続に戻ります。「shutdownDomain」を参照してください。

マシン、グループ、およびサーバー

マシン、グループおよびサーバーに対しては、start()またはshutdown()を直接呼び出すことができます。ターゲットがサーバーである場合は、2つの方法でこれらのコマンドを操作できます。「起動と停止」を参照してください。

一時停止および再開

一時停止および再開のサポート対象のMbeanは、マシン、サーバー、ブリッジ、WSH、JSHです。ただし、ターゲット・オブジェクトはこれらのMbeanとは異なります。ターゲットの詳細は、次の表を参照してください。

Mbean
ターゲット
マシン
クライアント
サーバー
サービス
ブリッジ
リモート・ブリッジ
WSH
WSH
JSH
JSH


  先頭に戻る       前  次