45.2.1 指定形式とオプションの説明
- 〈この項の構成〉
(1) 指定形式
adbstop 〔{--wait {connection|transaction} 〔-t タイムアウトまでの待ち時間〕 〔--node〕 |--cancel 〔--node〕 |--force |--node}〕
(2) オプションの説明
HADBサーバの終了方法を指定します。
- ●--wait {connection|transaction} 〔-t タイムアウトまでの待ち時間〕
-
HADBサーバに接続中のAPの切り離し,処理中のトランザクションの完了,および実行中のコマンドの終了を待ってから,HADBサーバを終了する場合に指定します。
- connection:
-
HADBサーバに接続中のすべてのAPがHADBサーバから切り離され,かつ実行中のすべてのコマンドが完了するのを待ってから,HADBサーバを終了するときに指定します。
なお,--wait connectionを指定してadbstopコマンドを実行したあとは,HADBサーバが新規のコネクション確立要求を受け付けなくなります。ただし,新規のトランザクション開始要求は受け付けます。
- transaction:
-
処理中のトランザクションがすべて完了し,かつ実行中のコマンドがすべて終了することを待ってから,HADBサーバに接続中のすべてのAPをHADBサーバから切り離し,HADBサーバを終了するときに指定します。
なお,--wait transactionを指定してadbstopコマンドを実行したあとは,HADBサーバが新規のコネクション確立要求,および新規のトランザクション開始要求を受け付けなくなります。
- -t タイムアウトまでの待ち時間:
-
〜〈整数〉((1〜86,400))《3,600》(単位:秒)
--wait connectionまたは--wait transactionを指定したときだけ,このオプションを指定できます。
APの切り離し,トランザクションの完了,およびコマンドの終了を待つ時間を指定します。adbstop --waitコマンド実行中に,このオプションに指定した待ち時間を超えた(タイムアウトした)場合,HADBサーバは終了しません。この場合,HADBサーバは新規のコネクション確立要求や新規のトランザクション開始要求を受け付けられるようになります。
- ●--cancel
-
処理中のトランザクションおよび実行中のコマンドをキャンセルしたあとで,HADBサーバに接続中のすべてのAPを切り離し,HADBサーバを終了する場合に指定します。
なお,--cancelを指定してadbstopコマンドを実行したあとは,HADBサーバが新規のコネクション確立要求,および新規のトランザクション開始要求を受け付けなくなります。
- ●--force
-
処理中のトランザクションの完了,および実行中のコマンドの終了を待たないで,HADBサーバを強制的に終了する場合に指定します。HADBサーバを強制終了すると,HADBサーバを再開始したときに,トランザクションの回復処理が行われます。
なお,--forceを指定してadbstopコマンドを実行した場合,KFAA91153-Qメッセージが出力されます。KFAA91153-Qメッセージでは,HADBサーバを強制終了しても問題ないかどうかが確認されます。強制終了しても問題ない場合は,y(またはY)を入力してください。y(またはY)以外を指定した場合,adbstopコマンドの処理を中止します。
- ■マルチノード機能を使用している場合
-
--forceを指定してadbstopコマンドを実行した場合,コマンドを実行したノードのHADBサーバだけが強制終了します。コマンドを実行したノードがプライマリノードだったときは,ほかのセカンダリノードが起動しているかどうかによってコマンド実行後の動作が異なります。
-
ほかのセカンダリノードが起動している場合
セカンダリノードのどれかが,プライマリノードに切り替わります。
-
ほかのセカンダリノードが起動していない場合(HAモニタなしのマルチノード構成の場合も含む)
プライマリノードへの切り替え先のノードがないため,マルチノード構成のHADBサーバは異常終了します。
-
- ●--node
-
このオプションは,マルチノード機能に関するオプションです。特定のノードのHADBサーバを 終了する場合に,このオプションを指定します。次に示す場合に,--nodeオプションを指定したadbstopコマンドを実行してください。
-
特定のセカンダリノードまたはワーカーノードのHADBサーバを終了する場合
この場合,HADBサーバを終了するセカンダリノードまたはワーカーノードで,--nodeオプションを指定したadbstopコマンドを実行してください。
-
プライマリノードを切り替える場合(共有ディスクのSCSIリザーブの使用時)
共有ディスクのSCSIリザーブを使用している場合に,プライマリノードを切り替えるときは,--nodeオプションを指定したadbstopコマンドをプライマリノードで実行し,プライマリノードのHADBサーバを終了させてください。プライマリノードの切り替え手順については,マニュアルHADB システム構築・運用ガイドのコマンドによるプライマリノードの切り替えを参照してください。
- 重要
-
共有ディスクのSCSIリザーブではなく,系のリセットを使用している場合は,--nodeオプションを指定したadbstopコマンドをプライマリノードで実行しないでください。系のリセットを使用している場合に,--nodeオプションを指定したadbstopコマンドをプライマリノードで誤って実行してしまったときは,HAモニタのmonswapコマンドを実行して,プライマリノードを切り替えてください。詳細については,マニュアルHADB システム構築・運用ガイドのマルチノード機能の運用のマルチノード構成のHADBサーバの開始と終了のマルチノード構成のHADBサーバの終了方法の特定のノードのHADBサーバの終了手順にあるプライマリノードのHADBサーバだけを正常終了させる場合を参照してください。
- メモ
-
マルチノード機能を使用していない場合は,このオプションを指定しても無視されます。
--nodeオプションと,そのほかのオプションを同時に指定した場合のシステムの処理を次の表に示します。
表45‒1 --nodeオプションとそのほかのオプションを同時に指定した場合のシステムの処理 項番
--nodeオプションと同時に指定するオプション
システムの処理
1
なし
- セカンダリノードまたはワーカーノードでadbstopコマンドを実行した場合
-
adbstopコマンドを実行したノードで実行中のトランザクション(SQLパラレル実行機能を適用した検索系SQLを実行中のSQLサブノードのトランザクションを含む)が存在するとき,エラーとなります(KFAA50021-Eメッセージが出力されます)。
- プライマリノードでadbstopコマンドを実行した場合
-
次に示すときにエラーとなります(KFAA50021-Eメッセージが出力されます)。
-
プライマリノードで実行中のトランザクション(SQLパラレル実行機能を適用した検索系SQLを実行中のSQLサブノードのトランザクションを含む)が存在するとき
-
マルチノード構成のHADBサーバに接続だけしていて,トランザクションを実行していないコネクションが存在する場合
-
2
--wait connection
- セカンダリノードまたはワーカーノードでadbstopコマンドを実行した場合
-
adbstopコマンドを実行したノードで実行中のトランザクション(SQLパラレル実行機能を適用した検索系SQLを実行中のSQLサブノードのトランザクションを含む)が終了するまで,終了処理を待ちます。トランザクションがすべて終了したあとに,終了処理を開始します。
このとき,そのノードでは,新規のトランザクションの開始要求を受け付けません。
- プライマリノードでadbstopコマンドを実行した場合
-
プライマリノードで実行中のトランザクション(SQLパラレル実行機能を適用した検索系SQLを実行中のSQLサブノードのトランザクションを含む)が終了するまで,終了処理を待ちます。また,マルチノード構成のHADBサーバに接続だけしていて,トランザクションを実行していないコネクションが存在する場合は,そのコネクションが終了するまで,終了処理を待ちます。トランザクションおよびコネクションがすべて終了したあとに,終了処理を開始します。
このとき,プライマリノードでは,新規のトランザクションの開始要求,および新規のコネクションの確立要求を受け付けません。
3
--wait transaction
- セカンダリノードまたはワーカーノードでadbstopコマンドを実行した場合
-
adbstopコマンドを実行したノードで実行中のトランザクション(SQLパラレル実行機能を適用した検索系SQLを実行中のSQLサブノードのトランザクションを含む)が終了するまで,終了処理を待ちます。トランザクションがすべて終了したあとに,終了処理を開始します。
このとき,そのノードでは,新規のトランザクションの開始要求を受け付けません。
- プライマリノードでadbstopコマンドを実行した場合
-
プライマリノードで実行中のトランザクション(SQLパラレル実行機能を適用した検索系SQLを実行中のSQLサブノードのトランザクションを含む)が終了するまで,終了処理を待ちます。マルチノード構成のHADBサーバに接続だけしていて,トランザクションを実行していないコネクションが存在する場合でも,プライマリノードで実行中のトランザクションが終了次第,終了処理を開始します(コネクションは強制終了します)。
このとき,プライマリノードでは,新規のトランザクションの開始要求,および新規のコネクションの確立要求を受け付けません。
4
--cancel
- セカンダリノードまたはワーカーノードでadbstopコマンドを実行した場合
-
adbstopコマンドを実行したノードで実行中のトランザクション(SQLパラレル実行機能を適用した検索系SQLを実行中のSQLサブノードのトランザクションを含む)をキャンセルし,そのトランザクションを実行していたコネクションを終了します。そのあとに,終了処理を開始します。
このとき,そのノードでは,新規のトランザクションの開始要求を受け付けません。
- プライマリノードでadbstopコマンドを実行した場合
-
プライマリノードで実行中のトランザクション(SQLパラレル実行機能を適用した検索系SQLを実行中のSQLサブノードのトランザクションを含む)をキャンセルします。そして,そのトランザクションを実行していたコネクションを終了します。また,マルチノード構成のHADBサーバに接続だけしていて,トランザクションを実行していないコネクションが存在する場合は,そのコネクションを終了します。すべてのコネクションを終了したあとで,終了処理を開始します。
このとき,プライマリノードでは,新規のトランザクションの開始要求,および新規のコネクションの確立要求を受け付けません。
-
オプションを何も指定しない場合,HADBサーバの終了モードは正常終了になります。ただし,HADBサーバに接続中のAP,または実行中のコマンドがあると,KFAA91152-Eメッセージが出力され,エラーとなります(HADBサーバを終了できません)。このときは,マニュアルHADB メッセージを参照し,KFAA91152-Eメッセージの対策の説明に従って対処してください。