コマンド解説書

QUIESCE TABLESPACES FOR TABLE

表の表スペースを静止させます。 共用、更新意図、排他の 3 つの有効な静止モードがあります。 静止機能の結果として生じる状態には、 次の 3 つの状態、QUIESCED SHARE、QUIESCED UPDATE、および QUIESCED EXCLUSIVE があります。

効力範囲

単一区画環境では、ロード操作中に排他モードのロード操作を起動すると、 このコマンドは表スペースをすべて静止します。 区分データベース環境では、このコマンドはノードでローカルに活動します。 このコマンドは、ロード操作を実行しているノードに属する表スペースの部分のみを静止します。

許可

以下のどれかが必要です。

必須接続

データベース

コマンド構文

>>-QUIESCE TABLESPACES FOR TABLE----+-tablename--------+-------->
                                    '-schema.tablename-'
 
>-----+-SHARE------------+-------------------------------------><
      +-INTENT TO UPDATE-+
      +-EXCLUSIVE--------+
      '-RESET------------'
 

コマンド・パラメーター

TABLE

tablename
非修飾表名を指定します。 システム・カタログ表を指定することはできません。

schema.tablename
修飾表名を指定します。 schema が指定されない場合には、CURRENT SCHEMA が使用されます。 システム・カタログ表を指定することはできません。

SHARE
静止が共用モードであることを指定します。

『静止モードでの共用』 要求を行うと、トランザクションは、 表スペースに対して専用共用ロックを、および表に対して共用ロックを要求します。 トランザクションがロックを獲得すると、 表スペースの状態が QUIESCED SHARE に変更されます。 他のユーザーによって保留されているような対立状態がない場合には、 その状態は、そのユーザーにのみ付与されます。 表スペースの状態は、その状態が持続されるように、 許可 ID およびそのユーザーのデータベース・エージェント ID とともに、 表スペースにある表に記録されます。 表の表スペースが QUIESCED SHARE 状態である間は、その表を変更できません。 表および表スペースに要求するその他の共用モードは、認められます。 トランザクションがコミットまたはロールバックされる際、 ロックは解放されますが、その表の表スペースはその状態が明示的にリセットされるまで、 QUIESCED SHARE 状態のまま残ります。

INTENT TO UPDATE
静止モードが更新意図モードであることを指定します。

『静止モードでの更新意図』 要求を行うと、表スペースは意図排他 (IX) モードでロックされ、 表は更新 (U) モードでロックされます。 表スペースの状態は、表スペースの表に記録されます。

EXCLUSIVE
静止が排他モードであることを指定します。

『静止モードでの排他』 要求を行うと、トランザクションは、 表スペースに対する特別な排他ロックと、表に対する特別な排他ロックを要求します。 トランザクションがロックを獲得すると、表スペースの状態が QUIESCED EXCLUSIVE に変更されます。 表スペースの状態は、許可 ID およびそのユーザーのデータベース・エージェント ID とともに、 表スペースにある表に記録されます。 表スペースは、特別な排他モードで保護されているため、 その表スペースへのアクセスが認められているその他のアクセスはありません。 静止機能を呼び出すユーザー (静止者) は、 その表と表スペースへの排他的アクセスを行うことができます。

RESET
表スペースの状態が、正常にリセットされることを指定します。

   db2 quiesce tablespaces for table staff share
 
   db2 quiesce tablespaces for table boss.org intent to update

使用上の注意

このコマンドは、宣言一時表に対してはサポートされていません。

静止は持続ロックです。 その利点は、それがトランザクション障害、接続障害、 およびシステム障害 (電源障害や、リブートなど) が生じても持続することです。

静止は接続によって所有されます。 接続が失われた場合、静止は残りますが、非所有の状態に移り、 ファントム静止 と呼ばれます。 ファントム静止は、同じ表スペースまたは表に対して、 QUIESCE TABLESPACES FOR TABLE コマンドを発行した次の接続によって 『所有』 されるようになります。 たとえば、削除フェーズ中に停電によってロード操作が割り込まれると、 ロードされていた表の表スペースは削除保留、静止排他状態で残ります。 データベースの再始動時に、この静止は非所有 (ファントム) の状態になります。

ファントム静止を取り除くには、次のようにします。

  1. データベースに接続する。
  2. LIST TABLESPACES コマンドを使用して、静止させる表スペースを決定する。
  3. 現行の静止状態を使用して、表スペースを再静止させる。 たとえば、次のようにします。
       db2 quiesce tablespaces for table mytable exclusive
    

完了すると、新しい接続が静止を所有するようになり、ロード操作を再開できるようになります。

いつでも、表スペース上での静止者の限度は 5 つです。

静止者は表スペースの状態を、制限の少ない状態から、より制限のある状態 (たとえば、 S から U へ、または U から X へ) へアップグレードすることができます。 ユーザーがすでに保持されている状態より低い状態を要求すると、元の状態に戻されます。 状態は、ダウングレードされません。

以下も参照

LOAD


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]