QUIESCE コマンド
QUIESCE コマンドは、すべてのメンバーにわたって、指定されたインスタンスまたはデータベースのいずれかからすべてのユーザーを強制的に切断し、それらを静止モードにします。
インスタンスまたはデータベースが静止モードにある間、 それに対して管理タスクを実行できます。 管理タスクの完了後、UNQUIESCE コマンドを使用してインスタンスまたはデータベースを活動化して、 他のユーザーがデータベースに接続できるようにします。
このモードでは、この制限モード中に権限を持つユーザーだけがインスタンスまたはデータベースにアタッチまたは接続することができます。 SYSADM、SYSMAINT、および SYSCTRL 権限を持つユーザーは、 インスタンスの静止中に常にそのインスタンスにアクセスでき、 SYSADM および DBADM 権限を持つユーザーは、 データベースの静止中に常にそのデータベースにアクセスできます。
範囲
QUIESCE DATABASE を使用すると、データベース内のすべてのオブジェクトは静止モードに入ります。 許可が与えられたユーザー/グループ、 および SYSADM、SYSMAINT、DBADM、または SYSCTRL だけが、 データベースまたはそのオブジェクトにアクセスできます。
QUIESCE INSTANCE instance-name は、インスタンスと、インスタンス instance-name 内のデータベースが静止モードになることを意味します。 インスタンスにアクセスできるのは、 SYSADM、SYSMAINT、および SYSCTRL と、 許可が与えられているグループだけです。
インスタンスが静止モードにある場合、 インスタンス内のデータベースを静止モードにすることはできません。
データベースが SUSPEND_WRITE 状態の場合、そのデータベースを静止モードにはできません。
許可
以下の権限のいずれか。
- SYSADM
- DBADM
- SYSADM
- SYSCTRL
必要な接続
データベース
(インスタンスの静止ではデータベース接続は必須ではありません。)
コマンド構文
コマンド・パラメーター
- DEFER
- QUISCE の実行をアプリケーションが現行の作業単位をコミットするまで待ちます。
- WITH TIMEOUT minutes
- アプリケーションが現在の作業単位をコミットするのを待機する時間を分単位で指定します。 値を指定しない場合、 単一パーティション・データベース環境では、 デフォルト値が 10 分になります。 パーティション・データベース環境では、データベース・マネージャー構成パラメーター start_stop_time によって指定された値が使用されます。
- IMMEDIATE
- トランザクションがコミットされるのを待たず、 即時にトランザクションをロールバックします。
- FORCE CONNECTIONS
- 接続を強制的にオフにします。
- DATABASE
- データベースを静止します。 データベース内のすべてのオブジェクトを静止モードにします。 指定したグループの指定したユーザーと、SYSADM、SYSMAINT、DBADM および SYSCTRL 権限を持つユーザーだけが、データベースまたはそのオブジェクトにアクセスすることができます。
- INSTANCE instance-name
- インスタンス instance-name、
およびインスタンス内のデータベースを静止モードにします。 インスタンスにアクセスできるのは、
SYSADM、SYSMAINT、および SYSCTRL 権限を持つユーザーと、
指定したグループのユーザーだけです。
静止インスタンス内のデータベースは、データベースへのすべての接続試行に対する許可検査を行うためにアクティブ化されます。 こうする必要があるのは、接続しようとするユーザー ID が DBADM 権限を持っているかどうかを判別するためです。この権限はデータベース・カタログに保管されているので、ユーザー ID がこの権限を持っているかどうかを判別するためには、そのデータベースをアクティブ化することが必要になります。 この許可検査が行われないようにするには、RESTRICTED ACCESS オプションを指定します。
- USER user-name
- インスタンスの静止中にそのインスタンスへのアクセスが許可されているユーザーの名前を指定します。
- GROUP group-name
- インスタンスの静止中にそのインスタンスへのアクセスが許可されているグループの名前を指定します。
- RESTRICTED ACCESS
- このオプションは、静止インスタンスのデータベースへのすべての接続試行に対する許可検査 (ユーザー ID が DBADM 権限を持っているかどうかを判別するための許可検査) が行われないようにする場合に指定します。 この場合でも、インスタンス・レベルの許可検査は行われます。ユーザー ID の SYSADM、SYSCTRL、または SYSMAINT 権限の検査は、データベースのアクティブ化を必要としないからです。注: このコマンド・オプションは、 Db2® バージョン 9.7 フィックスパック 2 以降で使用可能です。
例
以下に示すのは、接続の強制がデフォルトの動作であるため、 明示的な説明は必要なく、この例から省くことができる例です。
db2 quiesce instance crankarm user frank immediate force connections
以下の例は、データベースに接続しているすべてのユーザーを、強制的に切断にします。
db2 quiesce db immediate
- 最初の例は、インスタンス
crankarm
を静止し、 ユーザーfrank
は引き続きデータベースを使用できるようにします。2 番目の例は、アタッチしているデータベースを静止し、 以下のいずれかの権限をもつユーザー以外のユーザーは、すべてアクセスできないようにします。 SYSADM、SYSMAINT、SYSCTRL、または DBADM
- このコマンドとともに FORCE CONNECTIONS オプションを指定すると、データベースまたはインスタンスからすべてのユーザーを強制的に切断します。 FORCE CONNECTIONS はデフォルトの動作です。 コマンドのパラメーターは、互換性の理由により許容されています。
- コマンドは FORCE CONNECTIONS と同期され、FORCE CONNECTIONS が完了しないと完了しません。
使用上の注意
- QUIESCE INSTANCE の後、SYSADM、SYSMAINT、または SYSCTRL 権限を持つユーザー、またはコマンドにパラメーターとして指定するユーザー名およびグループ名だけが、インスタンスに接続できます。
- RESTRICTED ACCESSこのオプションは、静止インスタンス内のデータベースが認証チェックを行うためにアクティブ化されるのを防ぎます。 データベースに接続しようとしているユーザー ID が、そのデータベースに対する DBADM 権限または QUIESCE_CONNECT 特権を持っていても、接続は許可されません。 SYSADM、SYSCTRL、または SYSMAINT 権限を持つユーザー ID、およびこのコマンドで指定されたユーザーまたはグループのみが、データベースへの接続を許可されます。
- RESTRICTED ACCESS オプションは、静止インスタンスのデータベースへの排他的接続が必要な場合に使わなければなりません。 このようなケースとしては、オフライン・バックアップを行う場合や、他の保守アクティビティーを実行する場合が挙げられます。
- QUIESCE DATABASE の後、SYSADM、
SYSMAINT、SYSCTRL、または DBADM 権限、および GRANT または REVOKE 特権を持つユーザーは、接続可能なユーザーを指定できます。 この情報は永続的にデータベース・カタログ表に保管されます。
以下に例を示します。
grant quiesce_connect on database to username/groupname revoke quiesce_connect on database from username/groupname
- Db2 pureScale® 環境では、データベースを静止してインスタンスを再始動した後も、データベースはすべてのメンバーで静止したままになります。 静止状態を除去するには、明示的な UNQUIESCE DATABASE コマンドが必要です。
- Db2 pureScale 環境では、インスタンスを静止してインスタンスを再始動した後も、インスタンスはすべてのメンバーにわたって静止したままになります。 静止状態を解除するには、明示的な UNQUIESCE INSTANCE コマンド呼び出しが必要です。