グリッド・インスタンスでのコマンドまたはスクリプトの実行(instanceExec)

instanceExecコマンドは、指定に従い、グリッド内のインスタンスで、コマンド(システム・コマンドやTimesTenコマンドなど)またはスクリプトを実行します。

ttGridAdmin instanceExec [-only hostname[.instancename]]
                         [-exclude hostname[.instancename]]
                         [-parallel n]
                         [-type all|management|data]
                         [-up]
                          command | -script filepath

オプション

instanceExecコマンドには、次のオプションがあります。

オプション 説明

-only hostname[.instancename]

コマンドまたはスクリプトは、指定したインスタンスに対してのみ実行されます。-onlyでは1つのインスタンスのみを指定しますが、コマンドラインで-onlyを複数回使用できます。

モデルに定義されているインスタンス名およびインストール名を使用します。それがホストにある唯一のインスタンスである場合は、インスタンス名を含める必要はありません。

-exclude hostname[.instancename]

コマンドやスクリプトは、インスタンスを指定した場合を除き、グリッド内のすべてのインスタンスで実行されます。-excludeでは1つのインスタンスのみを指定しますが、コマンドラインで-excludeを複数回使用できます。

モデルに定義されているインスタンス名およびインストール名を使用します。それがホストにある唯一のインスタンスである場合は、インスタンス名を含める必要はありません。

-parallel n

コマンドまたはスクリプトが最大n個のインスタンスで同時に実行されることを指定します。デフォルトは10です。値が1の場合はシリアルに実行されます。

-type all|management|data

コマンドまたはスクリプトが、すべてのインスタンス(デフォルト)、管理インスタンスのみ、またはデータ・インスタンスのみのいずれに対して実行されるかを指定します。

これは、-only-excludeと組み合せて使用できます。

-up

コマンドやスクリプトが、現在のメンバーシップに属するインスタンスでのみ実行されることを指定します。デフォルトでは、すべてのインスタンスで(それらが実行されているかどうかに関係なく)コマンドを実行します。

command | -script filepath

commandには、実行するコマンドを指定します。

または:

-script filepathには、実行するシェル・スクリプトのパスと名前を指定します。スクリプトは、ローカル・システム上に存在する必要があり、各インスタンスにコピーされます。

各データ・インスタンスで、この例では/dataの下にディレクトリdatabasesおよびlogsを作成しています(これらのディレクトリがすでに存在しても、エラーは発生しません)。

% ttGridAdmin instanceExec -type data mkdir -p /data/{databases,logs}
Overall return code: 0
Commands executed on:
  mysys6host.griddata4 rc 0
  mysys5host.griddata3 rc 0
  mysys3host.griddata1 rc 0
  mysys4host.griddata2 rc 0
Return code from mysys6host.griddata4: 0
Output from mysys6host.griddata4:
Return code from mysys5host.griddata3: 0
Output from mysys5host.griddata3:
Return code from mysys3host.griddata1: 0
Output from mysys3host.griddata1:
Return code from mysys4host.griddata2: 0
Output from mysys4host.griddata2:

mysys5host.griddata3でTimesTenデーモンを起動します(たとえば、そのインスタンス上の要素が停止した場合などに役立ちます)。

% ttGridAdmin instanceExec -only mysys5host.griddata3 ttDaemonAdmin -start
Overall return code: 0
Commands executed on:
  mysys5host.griddata3 rc 0
Return code from mysys5host.griddata3: 0
Output from mysys5host.griddata3:
TimesTen Daemon (PID: 7586, port: 6624) startup OK.

この例では、データ・インスタンスごとにttIsql monitorコマンドを実行してからttIsqlを終了します。(ttIsql接続出力およびモニタリング出力の選択した部分のみが表示されます。)

% ttGridAdmin instanceExec -type data 'ttIsql -e "monitor;quit" -dsn database1'
Overall return code: 0
Commands executed on:
  mysys4host.griddata2 rc 0
  mysys5host.griddata3 rc 0
  mysys6host.griddata4 rc 0
  mysys3host.griddata1 rc 0
Return code from mysys4host.griddata2: 0
Output from mysys4host.griddata2:
 
Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
 
connect "DSN=database1";
Connection successful: DSN=database1;...
 
monitor;
 
  TIME_OF_1ST_CONNECT:         Fri Aug  3 13:47:42 2018
  ...
  PERM_ALLOCATED_SIZE:         262144
  PERM_IN_USE_SIZE:            29997
  PERM_IN_USE_HIGH_WATER:      29997
  TEMP_ALLOCATED_SIZE:         131072
  TEMP_IN_USE_SIZE:            19146
  TEMP_IN_USE_HIGH_WATER:      22352
  ...
 
quit;
Disconnecting...
Done.
Return code from mysys5host.griddata3: 0
Output from mysys5host.griddata3:
 
Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
 
connect "DSN=database1";
Connection successful: DSN=database1;...
 
monitor;
 
  TIME_OF_1ST_CONNECT:         Fri Aug  3 13:47:41 2018
  ...
  PERM_ALLOCATED_SIZE:         262144
  PERM_IN_USE_SIZE:            29916
  PERM_IN_USE_HIGH_WATER:      29932
  TEMP_ALLOCATED_SIZE:         131072
  TEMP_IN_USE_SIZE:            19613
  TEMP_IN_USE_HIGH_WATER:      22819
  ...
 
quit;
Disconnecting...
Done.
Return code from mysys6host.griddata4: 0
Output from mysys6host.griddata4:
 
Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
 
connect "DSN=database1";
Connection successful: DSN=database1;...
 
monitor;
 
  TIME_OF_1ST_CONNECT:         Fri Aug  3 13:47:41 2018
  ...
  PERM_ALLOCATED_SIZE:         262144
  PERM_IN_USE_SIZE:            29981
  PERM_IN_USE_HIGH_WATER:      29981
  TEMP_ALLOCATED_SIZE:         131072
  TEMP_IN_USE_SIZE:            19344
  TEMP_IN_USE_HIGH_WATER:      22550
  ...
 
quit;
Disconnecting...
Done.
Return code from mysys3host.griddata1: 0
Output from mysys3host.griddata1:
 
Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
 
connect "DSN=database1";
Connection successful: DSN=database1;...
 
monitor;
 
  TIME_OF_1ST_CONNECT:         Fri Aug  3 13:47:40 2018
  ...
  PERM_ALLOCATED_SIZE:         262144
  PERM_IN_USE_SIZE:            29965
  PERM_IN_USE_HIGH_WATER:      29965
  TEMP_ALLOCATED_SIZE:         131072
  TEMP_IN_USE_SIZE:            19281
  TEMP_IN_USE_HIGH_WATER:      22486
  ...
 
quit;
Disconnecting...
Done.

ノート

  • コマンドやスクリプトは、各インスタンスでパスワードなしSSHを介してインスタンス管理者として実行します。

  • 環境変数(TIMESTEN_HOMECLASSPATHPATHLD_LIBRARY_PATHなど)は、インスタンスごとに適切に設定されています。

  • 実行がタイムアウト前に完了しなかった場合、コマンドは2000を返します。

  • 実行中に、stdoutおよびstderrの出力が、instanceExecコマンドからのstdoutおよびstderrの出力の一部として表示されます。出力はバッファに入れられるため、異なるコマンドからの出力が混在することはありません。