eedbqchgr
形式
eedbqchgr -g 変更後のDBキュー読み出しサーバのサービスグループ名 -f {-q DBキュー名| -G 変更前のDBキュー読み出しサーバのサービスグループ名| -N 変更前のDBキュー読み出しサーバのノード識別子} 〔-t〕
機能
DBキューからメッセージを読み出すサーバを変更します。
DBキュー読み出しサーバが障害でダウンした場合や,運用上,DBキュー読み出しサーバを変更したい場合に,別のサーバでeedbqchgrコマンドを実行すると,そのeedbqchgrコマンドを実行したサーバでDBキューからメッセージを読み出すようになります。
オプション
●-g 変更後のDBキュー読み出しサーバのサービスグループ名 〜〈1〜31文字の識別子〉
変更後のDBキュー読み出しサーバのサービスグループ名を指定します。
●-f
DBキュー読み出しサーバの状態に関係なく,サーバを強制的に変更します。
変更前のDBキュー読み出しサーバで,メッセージ読み出しトランザクションの起動中に,-fオプションを指定したeedbqchgrコマンドを実行すると,二つのサーバが同一のメッセージを読み出すおそれがあります。この場合,どちらか一方のサーバのメッセージ読み出しトランザクションをTP1/EEがロールバックします。詳細については,「6.6.5(4) DBキュー読み出しサーバが複数ある場合」を参照してください。
●-q DBキュー名 〜〈1〜27文字の識別子〉
メッセージを読み出すサーバを変更するDBキュー名を指定します。
●-G 変更前のDBキュー読み出しサーバのサービスグループ名 〜〈1〜31文字の識別子〉
変更前のDBキュー読み出しサーバのサービスグループ名を指定します。-Gオプションで指定したサービスグループでメッセージを読み出しているすべてのDBキューが対象となります。
●-N 変更前のDBキュー読み出しサーバのノード識別子 〜〈4文字の識別子〉
変更前のDBキュー読み出しサーバのノード識別子を指定します。-Nオプションで指定したノード識別子のサーバでメッセージを読み出しているすべてのDBキューが対象となります。
●-t
DBキュー読み出しサーバの変更後,読み出し先DBキューを読み出し停止状態にする場合に指定します。DBキューの読み出しを再開するには,eedbqrstコマンドまたはee_dbq_acsctl関数を使用します。
省略した場合は,DBキュー読み出しサーバを変更すると,DBキューの読み出しを開始します。
出力形式
日本語の出力形式を次に示します。
サービスグループ名 :aa....aa ノード識別子 :bb....bb DBキュー名 :cc....cc※
英語の出力形式を次に示します。
service group name : aa....aa node ID : bb....bb DB queue name : cc....cc※
- 注※
-
メッセージを読み出すサーバを変更したDBキューが複数ある場合は,出力対象のDBキュー数分の行が出力されます。メッセージを読み出すサーバを変更したDBキューがない場合は,サービスグループ名,ノード識別子,およびDBキュー名は出力されません。
出力形式中の,各変数の意味を次に示します。
変数 |
意味 |
---|---|
aa....aa |
変更後のDBキュー読み出しサーバのサービスグループ名(1〜31文字) |
bb....bb |
変更後のDBキュー読み出しサーバのノード識別子(1〜4文字) |
cc....cc |
メッセージを読み出すサーバを変更したDBキュー名(1〜27文字) |
出力メッセージ
メッセージID |
内容 |
出力先 |
---|---|---|
KFSB95600-E |
メモリを確保できません。 |
標準エラー出力 |
KFSB95601-E |
コマンドの形式が不正です。 |
標準エラー出力 |
KFSB95602-E |
コマンドのオプションが不正です。 |
標準エラー出力 |
KFSB95622-I |
ヘルプメッセージ |
標準出力 |
KFSB95647-I |
コマンドが成功しました。 |
標準出力 |
KFSB95650-E |
TP1/EEプロセスでエラーを検知したため,DBキューコマンドが失敗しました。 |
標準エラー出力 |
KFSB95651-E |
コマンドプロセスでエラーを検知したため,DBキューコマンドが失敗しました。 |
標準エラー出力 |
KFSB95653-E |
TP1/EEプロセスでエラーを検知したため,DBキューコマンドが失敗しました。 |
標準エラー出力 |
注意事項
-
eedbqchgrコマンドは,DBキュー機能関連定義のdbqgrpdef定義コマンドで-cオプションを指定していないDBキューには実行できません。
-
KFSB95650-EメッセージまたはKFSB95653-Eメッセージが出力された場合でも,一部のDBキュー読み出しサーバの変更処理は終了していることがあります。
-
eedbqchgrコマンドの-Gオプションおよび-Nオプションに,OpenTP1システム内のどのTP1/EEでも定義されていないサービスグループ名およびノードIDを指定した場合,コマンドは正常に終了します。
-
eedbqchgrコマンドの実行時に,ee_dbq_msgput関数でメッセージの書き込みをしているサーバがある場合,変更前のDBキュー読み出しサーバで,理由コード0003を付加したKFSB45641-Wメッセージを出力することがあります。この場合でも,DBキュー読み出しサーバの変更,およびee_dbq_msgput関数の呼び出しは正常に終了しています。
-
理由コード0024を付加したKFSB95650-Eメッセージが出力された場合,eedbqlsコマンドで表示したDBキュー読み出しサーバは自サーバとなっているけれども,実際はどのサーバでもメッセージを読み出していない状態になるおそれがあります。この場合は,eedbqchgrコマンドを再実行してください。
-
メッセージ書き込み抑止状態のDBキューは,eedbqchgrコマンドを実行したあとも書き込み抑止状態のままとなります。
-
書き込み禁止状態のDBキューは,eedbqchgrコマンド実行後も書き込み禁止状態のままです。