IBM Support

[Db2] 表スペースの「静止モードでの共有」/「静止モードでの排他」状態のリセット方法

Question & Answer


Question

表スペースの状態を確認したところ、「静止モードでの共有」 (または「静止モードでの排他」) 状態になっていました。リセット方法を教えてください。

Answer

表スペースの「静止モードでの共有」または「静止モードでの排他」状態をリセットするには、QUIESCE TABLESPACES FOR TABLE コマンドを使用します。以下の手順に従ってコマンドを実行してください。
 
  1. コマンド実行時に表名を指定する必要があるため、まず LIST TABLESPACES SHOW DETAIL コマンドを実行し、静止モードが取られているオブジェクトの表スペース ID と オブジェクト ID を確認してください。
    例)
    db2 list tablespaces show detail
    
     表スペース ID                     = 2
     名前                              = USERSPACE1
     タイプ                            = データベース管理スペース
     内容                              = すべての永続データ。LARGE 表スペース。
     状態                              = 0x0001
       詳しい説明:
         静止モードでの共有
     合計ページ数                      = 8192
     使用できるページ数                = 8160
     使用したページ                    = 3424
     フリー・ページ                    = 4736
     最高水準点 (ページ)               = 4800
     ページ・サイズ (バイト)           = 4096
     エクステント・サイズ (ページ)     = 32
     プリフェッチ・サイズ (ページ)     = 32
     コンテナー数                      = 1
     静止状態の数                      = 1
       静止プログラム 1:
         表スペース ID                 = 2
         オブジェクト ID               = 4
  2. 1 で確認した表スペース ID とオブジェクト ID を使用して、以下の例のように、SYSCAT.TABLES に対する SELECT ステートメントの出力から、スキーマ名と表名を確認してください。(TABLEID 列にオブジェクト ID を指定します。)
    例)
    db2 "select char(tabschema,10), char(tabname,10) from syscat.tables where tableid=4 and tbspaceid=2"
    
    1          2
    ---------- ----------
    DB2INST1   T1
    
      1 レコードが選択されました。
  3. 表スペースの静止モードを設定したユーザーでデータベースに接続し、2) で確認したスキーマ名、表名を指定して、QUIESCE TABLESPACES FOR TABLE コマンドを実行し、表スペースの状態をリセットします。
    例)
    db2 connect to testdb user db2inst1
    db2 quiesce tablespaces for table db2inst1.t1 reset
    DB20000I  QUIESCE TABLESPACES コマンドが正常に完了しました。


補足 1:静止プログラム許可 ID
表スペースの静止モードを設定したユーザーが不明な場合、表スペース・スナップショットを取得してユーザー名を確認できます。スナップショット出力の「静止プログラム許可 ID 」を確認してください。
  • 例)
    db2 get snapshot for tablespaces on sample
    
    表スペース名                                  = USERSPACE1
      表スペース ID                               = 2
      表スペース・タイプ                          = データベース管理スペース
      表スペース・コンテンツ・タイプ              = すべての永続データ。LARGE 表スペース。
      表スペース・ページ・サイズ (バイト)         = 4096
      表スペース・エクステント・サイズ (ページ)   = 32
      有効な自動プリフェッチ・サイズ              = はい
      現在使用中のバッファー・プール ID           = 1
      次回始動のバッファー・プール ID             = 1
      自動ストレージの使用                        = はい
      自動サイズ変更有効                          = はい
      ファイル・システム・キャッシング            = いいえ
      表スペース状態                              = 0x'00000001'
       詳しい説明:
         静止モードでの共有
      表スペース・プリフェッチ・サイズ (ページ)   = 32
      合計ページ数                                = 8192
      使用できるページ数                          = 8160
      使用済みページ数                            = 3424
      ペンディング中フリー・ページの数            = 0
      フリー・ページ数                            = 4736
      最高水準点 (ページ)                         = 4800
      初期表スペース・サイズ (バイト)             = 33554432
      現行表スペース・サイズ (バイト)             = 33554432
      最大表スペース・サイズ (バイト)             = NONE
      増加サイズ (バイト)                         = AUTOMATIC
      サイズ変更が最後に正常に行われた時刻        =
      最後に試行されたサイズ変更は失敗            = いいえ
      Rebalancer モード                           = 再平衡化なし
      最小リカバリー時間                          =
      静止状態の数                                = 1
    
      静止プログラム許可 ID                       = DB2INST1
          静止プログラム・エージェント ID         = 7
          静止プログラム表スペース ID             = 2
          静止プログラム・オブジェクト ID         = 4
          静止状態                                = 4
補足 2:ファントム静止
表スペースの静止は接続によって所有されます。 接続が失われた場合、静止は残りますが、非所有の状態に移り、ファントム静止と呼ばれます。ファントム静止を取り除くには、 静止モードが設定されたときに使用されたのと同じユーザー ID による接続が必要です。

ファントム静止を取り除くには、次のようにします。
    1. 静止モードを設定したユーザー ID でデータベースに接続します。
    2. LIST TABLESPACES コマンドを使用して、静止させる表スペースを決定します。
    3. 現行の静止状態を使用して、表スペースを再静止させます。
      db2 quiesce tablespaces for table 表名 exclusive
    4. これで新しい接続が静止を所有するようになり、静止をリセットできます。
      db2 quiesce tablespaces for table 表明 reset
    5. 静止のリセットが完了すると、他の接続でもこの表スペースへアクセスできるようになります。

関連情報
QUIESCE TABLESPACES FOR TABLE コマンド
LIST TABLESPACES コマンド
GET SNAPSHOT コマンド
 
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート
 

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PlZAAU","label":"Database Objects-\u003ETablespaces"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
25 August 2023

UID

swg21595190