ここではTGで使用可能なコマンドを「1.メンテナンス・コマンド」、「2. Agent制御コマンド」、「3. SQLモード・コマンド」の3つのカテゴリにわけて説明しています。
- なお、画面左部ナビゲーション・メニューの『コマンド一覧』より、コマンド一覧のポップアップ画面を開くことができます。
1. メンテナンス・コマンド
AUTOEXEC
- 概要
- autoexec < on | off >
- 詳細
- 登録されたJOBを自動的に実行するか否かを指定します。本設定を「OFF」にした場合、TRIGGERとして設定されたイベントが発生しても、JOBは実行されません。
CHECK
- 概要
- check config [ Agent | Operator ]
- check driver [ MySQL | PostgreSQL | ORACLE ]
- check isolation
- 詳細
- config [ Agent | Operator ]
- AgentもしくはOperator(*)がデータベースに接続する際に使用する情報を表示します。なお本出力はコンフィグレーションファイルの DATABASE フィールドで指定している情報です。
- ここでいう「Operator」とは、手動でSQLを実行する際にデータベースに接続するユーザです。
- driver [ MySQL | PostgreSQL | ORACLE ]
- パラメータ「DRIVER_CLASS」に設定されたJDBCドライバのロードテストを行います。引数にJDBCドライバの名前を指定した場合、指定したドライバのロードテストを行います。
- isolation
- パラメータ「DRIVER_CLASS」に設定されたJDBCドライバがサポートする分離レベル(Isolation level)を確認します。
DELETE
- 概要
- delete config < config-name >
- 詳細
- JOB名を指定して、TGに登録されているコンフィグレーション(tg.conf)を削除します。
EDIT
- 概要
- edit config
- edit job <job-number>
- 詳細
- config
- 現在使用しているコンフィグレーションファイル(tg.conf)をシステムパラメータ EDITOR で指定されているエディタを使用して開きます。
- job <job-number>
- job-numberで指定したJOB定義ファイルをシステムパラメータ EDITOR で指定されているエディタを使用して開きます。
EXECUTE
- 概要
- execute job <job-number>
- 詳細
- ジョブ番号を指定して手動でJOBを実行します。JOB_TYPE属性が「USER_REQUEST」のJOBは、本コマンドを使用しない限り、実行されることはありません。
EXIT
- 概要
- exit
- 詳細
- TGがCOMMANDLINEモードで実行されている場合、TGを終了します。TGがSERVERモードで実行されている場合には、ターミナル(Terminal)から切断します。
HELP
- 概要
- help
- 詳細
- 簡易マニュアルを表示します。
HISTORY
- 概要
- history
- 詳細
- コマンドの入力履歴を表示します。
- 本コマンドは、TG ver0.86以降でサポートされます。
LIST
- 概要
- list config
- 詳細
- TGに登録されているコンフィグレーション(tg.conf)の一覧を表示します。
MASTERSERVER
- 概要
- masterserver < on | off >
- 詳細
- Multi-serverモードの有効/無効を切り替えます。本設定を「OFF」に設定した場合、REMOTE_SERVERSパラメータは無視されます。REMOTE_SERVERSパラメータの詳細は「REMOTE_SERVERS」をご覧ください。
MONITOR
- 概要
- Monitor [ summary | details ] [ seconds ] [ wait ] [ off ]
- 詳細
- [ summary | details ]
- Multi-serverモード使用時にオプション「details」を使用すると、各サーバごとのトランザクション統計情報を表示します。
- [ seconds ]
- 統計情報を出力する秒数を指定します。本値を指定しなかった場合には、リターンキー(またはCTRL+C)が押下されるまで統計情報の出力を継続します。
- [ wait ]
- モニター期間が終了するまでプロンプトを戻しません。本コマンドはTGをバッチファイルやシェルスクリプトから実行したいような場合に使用します。
- [ off ]
- 統計情報の出力を強制的に停止します。本コマンドはオプション「seconds」を指定した際に、途中で統計情報の出力を停止させたい場合に使用します。
- 補足情報
- 以下にMONITORコマンドによって出力される各カラムの意味を示します。
- TRGT(TaRGeT agent status)
- 仮想クライアント(Agent)がターゲットとするステータスを示します。例えば、ターゲットステータス(TARGET AGENT STATUS)がAgentの現在のステータス(CURRENT AGENT STATUS)と異なっていた場合、Agentはターゲットステータスで指定されたステータスに推移しようと試みます。なお、ステータスには下記5つのものがあります。
- TERM(TARMINATED)
Agentは非活動状態です。 - WAIT(WAITING)
Agentはデータベースに接続していますが、何も行っていません。 - DISC(DISCONNECTED)
Agentは活動状態であるものの、データベースから一時的に切断しています。 - ACTV(ACTIVE)
Agentは活動状態です。 - KILL(KILLED)
Agentをデータベースから強制的に切断します。
- TERM(TARMINATED)
- CONN(CONNected)
- データベースに接続しているAgentの数を示します。
- DISC(DISConnected)
- データベースから一時的に切断しているAgentの数を示します。
- TERM(TERMinated)
- データベースから切断し、非活動状態であるAgentの数を示します。
- ERR(ERRorS per second)
- 1秒間あたりに発生したエラーの数を示します。
- TPS(Transactions Per Second)
- 1秒間あたりに実行されたトランザクション数(TPS)の数を示します。
- HOSTNAME
- Multi-serverモード使用時、SLAVEサーバとしてTGが動作しているホスト名を示します。
- PORT
- Multi-serverモード使用時、SLAVEサーバがリスンしているポート番号を示します。
- SERVER STATUS
- Multi-serverモード使用時、TGサーバのステータス情報を示します。ステータスには以下6つのステータスが存在します。
- SYSTEM
TGのMasterサーバを示します。 - UNKNOWN
Slaveサーバのステータスは不明です。 - OFFLINE
SlaveサーバはOFFLINEです。 - CONNECTING
MasterサーバはSlaveサーバに接続を試行しています。 - ONLINE
SlaveサーバはONLINEです。 - FAILED
MasterサーバがSlaveサーバへの接続に失敗したか、もしくはSlaveサーバとのセッションが異常終了しています。
- SYSTEM
以下にサンプルとしてMonitorコマンドの出力結果を示します。
TG> monitor 600 Monitoring start. [ 600 Seconds ] 21:23:09 TRGT:ACTV CONN:10/10 DISC:0/10 TERM:0/10 ERR:0 TPS:10 21:23:10 TRGT:ACTV CONN:10/10 DISC:0/10 TERM:0/10 ERR:0 TPS:10 21:23:11 TRGT:ACTV CONN:10/10 DISC:0/10 TERM:0/10 ERR:0 TPS:10 21:23:12 TRGT:ACTV CONN:10/10 DISC:0/10 TERM:0/10 ERR:0 TPS:10 21:23:13 TRGT:ACTV CONN:10/10 DISC:0/10 TERM:0/10 ERR:0 TPS:10 21:23:14 TRGT:ACTV CONN:10/10 DISC:0/10 TERM:0/10 ERR:0 TPS:10 21:23:15 TRGT:ACTV CONN:10/10 DISC:0/10 TERM:0/10 ERR:0 TPS:10
1秒ごとに統計情報が出力されており、1秒あたり10回のトランザクションが実行されていることがわかります。
データベースに接続しているAgent(仮想クライアント)の数は10(カラム「CONN:」で示されている値)であるため、各Agentは1秒間に1回、トランザクションを実行していることになります。
NORMAL
- 概要
- -
- 詳細
- -
- 本コマンドはTGバージョン0.84にて廃止されました。詳細はコマンド「VERBOSE」を参照してください。
RELOAD
- 概要
- masterserver < on | off >
- 詳細
- コンフィグレーションファイル(tg.conf)を変更した場合、変更をTGに反映します。なお本コマンドはAgentがデータベースに接続中は実行できません。接続中の場合、DISCONNECT コマンドを発行し、接続を切ってから再実行してください。
REGIST
- 概要
- regist config < config-name >
- 詳細
- 現在のコンフィグレーション(tg.conf)に名前を付けてTGに登録します。登録したコンフィグレーションはREPLACEコマンドで呼び出すことが可能です。
RENAME
- 概要
- rename config < old config-name > < new config-name >
- 詳細
- 登録されているコンフィグレーション名を変更します。
REPLACE
- 概要
- replace config < config-name >
- 詳細
- TGに登録されているコンフィグレーション(tg.conf)をロードします。本コマンドを実行した際、現在のtg.confは、ロードされたコンフィグレーションで上書きされます。
RESETMONITOR
- 概要
- -
- 詳細
- -
- 本コマンドはTGバージョン0.84にて廃止されました。詳細はコマンド「MONITOR」を参照してください。
SET
- 概要
-
set JDBC_DRIVER < MySQL | PostgreSQL | ORACLE > set DRIVER_TYPE < thin | oci | oci8 > set DRIVER_CLASS < JDBC driver class string > set HOSTNAME [ target hostname ] set PORT [ target database port number ] set DATABASE_NAME < target database name > set SID_NAME < target SID name > set JDBC_URL < JDBC URL string > set AGENT_USERNAME < username > set AGENT_PASSWORD < password > set AGENT_LOGON_OPTION < Normal | Sysdba | Sysoper > set SESSIONS < 1..2000 > set THINKTIME < in milli second > set EXECUTION_COUNT < -1 or higher > set RECONNECT_WAIT < in milli second > set DELAY_START < true or false > set ERROR_RETRY_COUNT < -1 or higher > set ERROR_RETRY_WAIT < in milli second > set ERROR_RECONNECT_COUNT < -1 or higher > set ERROR_RECONNECT_WAIT < in milli second > set AUTO_COMMIT < true or false > set ISOLATION_LEVEL < DEFAULT | READ_UNCOMMITTED | READ_COMMITTED | REPEATABLE_READ | SERIALIZABLE > set SHOW_RESULTSET_ROWS < number of rows > set SHOW_STMT_BEFORE_EXEC < true or false > set OPERATOR_USERNAME < username > set OPERATOR_PASSWORD < password > set OPERATOR_LOGON_OPTION < Normal | Sysdba | Sysoper > set INPUT_ENCODING < encoding name > set OUTPUT_ENCODING < encoding name > set OUTPUT_LINEFEED_STRING < linefeed character code > set COLUMN < column name > < column length > - 詳細
- 各種パラメータを変更します。なお SET コマンドによって変更されたパラメータはTG終了時に破棄されます。
SHOW
- 概要
- show columns
- show config system
- show config database
- show config agent
- show config variables
- show config transactions [ summary | details]
- show config jobs
- show config terminal
- show status agent
- show status transactions
- show status servers
- show throughput [ summary | details ]
- show version
- 詳細
- TGの各種設定情報やステータス情報を出力します。
- columns
- ターミナル(Terminal)に登録されているColumnパラメータの一覧を出力します。
- config system
- TGの全体属性情報を表示します。現状ではログファイルや使用エディタ等の情報が出力されます。
- config database
- Agentの接続先となるデータベースに関する情報を表示します。 なお本出力はコンフィグレーションファイルのDATABASEフィールドで指定している情報です。
- config agent
- Agentがデータベースに接続する際に使用するユーザ名やパスワード、セッション数に関する情報を出力します。なお本出力はコンフィグレーションファイルのAGENTフィールドで指定している情報です。
- config variables
- TGに登録された乱数情報を出力します。 なお本出力はコンフィグレーションファイルのVARIABLEフィールドで指定している情報です。
- config transactions [ summary | details ]
- TGに登録されたトランザクション情報を出力します。 なお本出力はコンフィグレーションファイルのTRANSACTIONフィールドで指定している情報です。オプション「details」を指定した場合には、詳細情報(VARIABLEフィールドで定義された乱数をJDBCの「prepareStatement」における変数"?"に変換した後の情報)を表示します。
- config jobs
- TGに登録されたJOB情報を出力します。なお本出力はコンフィグレーションファイルのJOBフィールドで指定している情報です。
- config terminal
- ターミナル(Terminal)に関する情報を出力します。
- status agent
- 仮想クライアントであるAgentのステータス情報を表示します。なお、Agentのステータスの詳細は「Tips.17:Agentのステータス定義」を参照してください。
- status transaction
- 直近1秒間のトランザクション実行状況を示す情報を出力します。
- status servers
- MultiServerモード使用時、Slaveサーバの情報を出力します。
- throughput [ summary | details ]
- スループット情報(1トランザクションあたりにかかった時間)を出力します。単位はミリ(1/1000)秒です。なお、トランザクションの実行時間が1/1000秒に満たなかった場合、実行時間は「0秒」として扱われます。
- コマンドの引数に「summary(デフォルト)」と「details」を使用することで、以下のように出力結果が異なります。
- summary
- 以下の情報を出力します。
- - Transaction name : トランザクション名
- - Min : 最低実行時間
- - Max : 最大実行時間
- - Average : 平均実行時間
- details
- 上記「summary」で得られる情報を各Agentごとに出力します。
- 本スループット情報の出力機能はTG ver0.82以降でサポートされます
- summary
- version
- TGのバージョン情報を表示します。
SLEEP
- 概要
- sleep < sleep time >
- 詳細
- sleep timeに指定された期間、コマンドの入力を受け付けなくなります。単位は秒です。本コマンドはTGをシェルスクリプトなどから実行し、コマンドの実行を意図的に遅らせたい場合などに使用します。
SPOOL
- 概要
- spool < spool filename | on | off >
- 詳細
- spool filename
- 画面出力を指定したログファイルにリダイレクトします。
- on | off
- 画面出力を"YYYYMMDDHH24MISS.log"のファイル名を持つログファイルにリダイレクトします。
SQL
- 概要
- sql < SQL statement >
- 詳細
- 指定されたSQL文を実行します。SQLはパラメータ「OPERATOR_USERNAME」で指定されたユーザでデータベースに接続し実行されます。なお、SELECT文による結果セットはパラメータ「COLUMN」を使用することにより整形することが可能です。
- 本コマンドは、TG ver0.85以降でサポートされます。
SWITCH
- 概要
- switch
- 詳細
- TGのモードをSQLモードに切り替えます。SQLモードでは、任意のSQL文を入力し、実行することが可能です。
- なお、SQLモードでは、トランザクションを利用することはできません。実行したDML文は即時コミットされます。
- SQLモードにて利用可能なコマンドについては、「SQLモード・コマンド」を参照してください。
TERMINATE
- 概要
- terminate
- 詳細
- TGがSERVERモードで実行されている場合、TGを終了します。
VERBOSE
- 概要
- verbose [ Agent-ID ] < on | off >
- 詳細
- [ Agent-ID ] on
- Agent をログ出力モードに変更します。通常Agentが発行するSQL文やSELECT結果は画面に表示されません。VERBOSE コマンドを発行することにより、これらの情報が画面に出力されるようになります。ただしログ出力モードはCPUパワーを多く消費するため、本モードは問題切り分けなどの特定の場合にのみ使用してください。
- [ Agent-ID ] off
- ログ出力モードを終了します。
- ※補足情報
以下にサンプルとしてVerboseコマンドの出力結果を示します。
01:57:07 AgentID:0 MESG: Now thinking for 1000 msec 01:57:08 AgentID:0 RN:56 TN:1 MESG: ******** Transaction started. ******** 01:57:08 AgentID:0 RN:56 TN:1 STMT: select * from ITEMLIST where CATEGORY = ? 01:57:08 AgentID:0 RN:56 TN:1 STMT: setint=:VAL_CATEGORY (VALNo:1) [VAL:763] 01:57:08 AgentID:0 RN:56 TN:1 STMT: execstmt 01:57:08 AgentID:0 RN:56 TN:1 RSLT: 15001 301 N2345678901234567890123456789012 D234567890123456789012345678901 15002 301 N2345678901234567890123456789012 D234567890123456789012345678901 15003 301 N2345678901234567890123456789012 D234567890123456789012345678901 15004 301 N2345678901234567890123456789012 D234567890123456789012345678901 15005 301 N2345678901234567890123456789012 D234567890123456789012345678901 01:57:08 AgentID:0 RN:56 TN:1 RSLT: Total : 50 rows. 01:57:08 AgentID:0 RN:56 TN:1 MESG: Elapsed time : 16 msec. 01:57:08 AgentID:0 RN:56 TN:1 MESG: ******** Transaction completed. ******
上記はSELECT文が実行されたことを示しています。WHERE句以降の「CATEGORY = ?」の"?"はバインド変数です。また、該当バインド変数には、乱数「:VAL_CATEGORY」が割り当てられており、値「763」がセットされています。
「execstmt」はSQL文の実行を示しており、以降の行にSELECT結果が出力されています。なお、SQL文の結果は全部で「50行」ですが、Verbose mode出力としては先頭5行のみが画面に表示されます。
- 出力は「5行」のみですが、内部的には50行ぶんすべてを取り出す処理を行っています。
「Elapsed time」は該当トランザクションの実行にかかった時間(*** Transaction started *** から *** Transaction completed *** までの時間)を示しており、以下の例では「16ミリ秒」となっています。
!
- 概要
- ! < command >
- 詳細
- 外部コマンドやバッチファイル、シェルスクリプト等を実行します。
2. Agent制御コマンド
CONNECT
- 概要
- connect [ all ]
- 詳細
- - 指定無し -
- パラメータ SESSIONS に指定された数のAgentを生成し、データベースに接続します。
- all
- すべてのAgentがデータベースに接続するまでプロンプトを戻しません。本コマンドはTGをバッチファイルやシェルスクリプトから実行したいような場合に使用します。なお、60秒経過してもすべてのAgentがデータベースに接続できなかった場合はタイムアウトとなり、プロンプトが戻ります。
DISCONNECT
- 概要
- disconnect [ all ]
- 詳細
- - 指定無し -
- 接続中のすべてのAgentをデータベースから切断します。
- all
- すべてのAgentがデータベースから切断するまでプロンプトを戻しません。ホンパラメータはTGをバッチファイルやシェルスクリプトから実行したいような場合に使用します。なお、60秒経過してもすべてのAgentがデータベースから切断できなかった場合はタイムアウトとなり、プロンプトが戻ります。
KILL
- 概要
- kill agent < AgentID | all >
- 詳細
- 接続中のすべて、もしくは指定されたIDを持つAgentをデータベースから強制的に切断させます。Agentをデータベースから切断させるという点ではコマンド「DISCONNECT」と同様ですが、Agentがトランザクション(SQL文)を実行中であった場合、DISCONNECTコマンドがトランザクションの完了を待って切断するのに対し、KILLコマンドはトランザクションをキャンセルして切断を行います。
- 本コマンドは接続先となるデータベースや使用しているJDBCドライバの種別・バージョンによってはうまく動作しないことがあります。
START
- 概要
- start
- 詳細
- 待機状態(Status:Wait)にあるAgentの状態を活動状態(Status:Active)に変更します。なお本コマンドはAgentが待機状態(Status:Wait)でないと発行できません。
STOP
- 概要
- stop
- 詳細
- 活動状態(Status:Active)にあるAgentの状態を待機状態(Status:Wait)に変更します。なおAgentとデータベース間のセッションは保持され、切断されることはありません。
3. SQLモード・コマンド
CONNECT
- 概要
- connect < USERNAME >/< PASSWORD > [as] [ SYSDBA | SYSOPER ]
- 詳細
- SQL文を実行するデータベースユーザ名、パスワード、ログオンオプションを指定します。
- 本コマンドは、TG ver 0.91以降でサポートされます。
SWITCH
- 概要
- switch
- 詳細
- TGのモードを通常モードに切り替えます。
- 本コマンドは、TG ver 0.91以降でサポートされます。


