すべての接続の強制切断(dbDisconnect)
dbDisconnect
コマンドは、指定されたデータベースへのすべてのユーザー接続を強制的に切断します。これはメンテナンス操作の前に行うと便利です。スムーズに停止してデータ損失がないようにするには、接続を閉じる必要があります。
ttGridAdmin dbDisconnect name -transactional|-immediate|-abort [-nowait | -wait [timeout]]
コマンドを実行するまで、新しいトランザクションは許可されません。
切断リクエストがグリッド内の各データ・インスタンスに送信されます。
関連情報については、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』の「メモリーからのデータベースのアンロード」を参照してください。
ノート:
dbDisconnect
コマンドはサブデーモン接続には影響しません。
オプション
dbDisconnect
コマンドには、次のオプションがあります。
オプション | 説明 |
---|---|
|
データベースの名前。 |
- |
切断処理のモードを指定します。次のいずれかのモードを指定する必要があります(デフォルトはありません)。
推奨されるベスト・プラクティスは、必要に応じて abortモードは、transactionalレベルおよびimmediateレベルですべての接続が閉じられない場合に、最後の手段としてのみ使用します。中断するとデータが失われる可能性があります。突然中断すると、データベースに接続されているすべてのユーザーおよび ノート: 即時モードで実行すると、アイドル接続も切断されます。transactionalモードでの実行では切断されません。 |
|
コマンドがすぐに戻るようにするか(デフォルト)、すべての切断が終了するまで待機するかを指定します。 データベース管理コマンドは状態の変更を開始し、それはグリッドのアクティブ管理インスタンスに記録されます。具体的には、
多数の接続がある場合は、 ノート: |
例
次に例を示します:
-
dbStatus
を使用して既存の接続を表示します。 -
データベースをクローズして確認します。
-
transactionalモード(待機なし)で切断します。
-
dbDisconnectStatus
でdbDisconnect
コマンドのステータス、およびdbStatus
で接続のステータスを確認します。(dbDisconnect
コマンドが進行中であり、接続がまだ存在します。) -
接続が閉じられるように、immediateモード(待機なし)で切断します。
-
dbDisconnectStatus
でdbDisconnect
コマンドのステータス、およびdbStatus
で接続のステータスを再度確認します。(dbDisconnect
コマンドが完了し、接続がなくなります。)
% ttGridAdmin dbStatus database1 -connections Host Instance ConnId Name Pid Type CHost CAddr CPid ---------- --------- ------ --------- ----- ------ ----- ----- ---- mysys5host instance3 1 database1 20233 Direct mysys4host instance2 1 database1 26529 Direct mysys3host instance1 1 database1 1600 Direct mysys6host instance4 1 database1 1678 Direct % ttGridAdmin dbClose database1 Database database1 close started % ttGridAdmin dbStatus database1 Database database1 summary status as of Tue Sep 27 16:12:16 PST 2021 created,loaded-complete,closed Completely created elements: 4 (of 4) Completely loaded elements: 4 (of 4) Completely created replica sets: 2 (of 2) Completely loaded replica sets: 2 (of 2) Open elements: 0 (of 4)
最初にtransactionalモードで接続を切断することを試みます。
% ttGridAdmin dbDisconnect database1 -transactional Database database1 dbDisconnect started
% ttGridAdmin dbDisconnectStatus database1 Database Host Instance Elem State Started --------- ---------- --------- ---- ------------- ------------------------ database1 Disconnecting 2021-09-27T16:12:55.000Z mysys5host instance3 1 Disconnecting mysys4host instance2 2 Disconnecting mysys3host instance1 3 Disconnecting mysys6host instance4 4 Disconnecting % ttGridAdmin dbStatus -connections Database database1: Host Instance ConnId Name Pid Type CHost CAddr CPid ---------- --------- ------ --------- ----- ------ ----- ----- ---- mysys5host instance3 1 database1 20233 Direct mysys4host instance2 1 database1 26529 Direct mysys3host instance1 1 database1 1600 Direct mysys4host instance4 1 database1 1678 Direct
immediateモードで再度試みます。
% ttGridAdmin dbDisconnect database1 -immediate Database database1 dbDisconnect started
ステータスを再度確認し、接続がなくなったことを確認します。
% ttGridAdmin dbDisconnectStatus database1 Database Host Instance Elem State Started --------- ---------- --------- ---- ------------ ------------------------ database1 Complete 2021-09-27T16:14:03.000Z mysys5host instance3 1 Disconnected myshs4host instance2 2 Disconnected mysys3host instance1 3 Disconnected mysys6host instance4 4 Disconnected % ttGridAdmin dbStatus database1 -connections Host Instance ConnId Name Pid Type CHost CAddr CPid ---- -------- ------ ---- --- ---- ----- ----- ---- %
ノート
-
このコマンドを実行する前に、データベースがクローズ状態である必要があります。(データベースをクローズしても既存の接続には影響しませんが、新しい接続は確立されません)。
-
TimesTen Scaleoutでは、強制切断機能は常に有効であり、
forceDisconnectEnabled
接続属性は無視されます。