db2ckbkp - バックアップの検査コマンド

このユーティリティーを使用して、バックアップ・ヘッダーに格納されているメタデータを表示できます。 また、バックアップ・イメージの保全性をテストしたり、 イメージがリストア可能かどうかを調べたりすることもできます。 このツールによって実行される妥当性検査では、データ・ページ、索引ページ、XML オブジェクト・ページのチェックサム妥当性検査エラーや、これらのページのメタ情報の異常など、多くのタイプの構造保全性の問題を識別できます。

ただし、考えられるすべての保全性の問題を識別できるわけではありません。 制限には以下のようなものがありますが、これだけに限定されるわけではありません。
  • データ・ページのバージョンが、DB2 が最後にディスク上の表スペース・コンテナー・ファイルに書き込んだものを反映しているかどうか (つまり、書き込み I/O の欠落) が識別されない。
  • ページ上のデータとこのデータと相関関係にあるオブジェクト (索引、制約、または MQT など) 間の論理的不連続が識別されない。
  • 場所の誤ったデータ・ページが同じオブジェクト ID が想定されている場所の異なる表スペースにある場合に、データ・ページのバージョンが、Db2 が書き込むディスク上の表スペース・コンテナー・ファイル内の場所にあるかどうか (つまり、書き込み I/O の場所の誤り) が、検出されない。
  • LOB または長フィールド・データ・ページの保全性の妥当性検査が実行されない。
  • SMS 表スペースの場合、保全性の妥当性検査は、オブジェクトごとにページ・カウントが正しいことの確認に限定され、それ以上の妥当性検査が実行されない。
注: db2ckbkp は、上位の Db2® バージョン・リリースで作成されたオブジェクトではサポートされません。

許可

このユーティリティーにはすべてのユーザーがアクセス可能ですが、 イメージ・バックアップに対してこのユーティリティーを実行するには、 それらの読み取り権限がなければなりません。

必要な接続

なし

コマンド構文

Read syntax diagramSkip visual syntax diagramdb2ckbkp,-a-c-d-e-h-l-n-o-p-s-t-v-cldecompressionLib-codecompressionOpts-kspasswordpassword-kspassargfd: file_descriptorfilename: file_name-ksprompt-H-S-T,filename

コマンド・パラメーター

-a
使用できるすべての情報を表示します。
-c
チェックビットおよびチェックサムの結果を表示します。
-d
DMS 表スペースおよび自動ストレージ表スペースのデータ・ページのヘッダーのメタ情報を表示します。
-e
イメージからファイルにページを抽出します。 ページを抽出するには、入力ファイルと出力ファイルが必要です。 デフォルトの入力ファイル名はextractPage.inです。 DB2LISTFILE 環境変数をフルパスに設定することで、デフォルトの入力ファイル名をオーバーライドできます。 入力ファイルの形式は、次のとおりです。
SMS 表スペースの場合、
  S <tbspID> <objID> <objType> <startPage> <numPages>
注:
  1. <startPage> は、指定された表内の指定されたオブジェクト・タイプのページ番号です。 これは、そのオブジェクトの先頭からの 0 ベースのオフセットを表します。
DMS 表スペースの場合、
  D <tbspID> <objType> <startPage> <numPages>
注:
  1. <objType> が必要なのは、DMS ロード・コピー・イメージを検証する場合だけです。
  2. <startPage> は、表スペースの先頭からの 0 ベースのオフセットを表すページ番号です。
ログ・ファイルの場合、
   L <log num> <startPos> <numPages>
その他のデータ (初期データなど) の場合、
   O <objType> <startPos> <numBytes>

デフォルトの出力ファイルはextractPage.outです。 DB2EXTRACTFILE 環境変数をフルパスに設定することで、デフォルトの出力ファイル名をオーバーライドできます。

-h
メディア・ヘッダー情報を表示します。 これには、リストア・ユーティリティーで要求されるイメージの名前およびパスも含みます。
-l
ログ・ファイル・ヘッダー (LFH) およびミラー・ログ・ファイル・ヘッダー (MFH) データを表示します。
-n
テープ・マウントのプロンプトを出します。 1 つの装置につき 1 つのテープが前提となります。
-o
オブジェクト・ヘッダーからの詳細情報を表示します。
-p
各オブジェクト・タイプのページ数を表示します。 DMS 表スペース・データに関するバックアップが実行された場合には、このオプションはさまざまなオブジェクト・タイプすべてのページ数を表示するものではありません。 これは、すべてのページの合計をSQLUDMSTABLESPACEDATAとしてのみ表示します。 SQLUDMSLOBDATASQLUDMSLONGDATAオブジェクト・タイプは、DMS 表スペースの場合はゼロになります。
-s
イメージ内の自動ストレージ・パスを表示します。
-t
コンテナー情報など、イメージ中の表スペースに関する詳細情報を表示します。
-v
DMS 表スペースおよび自動ストレージ表スペースのデータ・ページの拡張ページ妥当性検査を実行します。 このオプションは、(すべての)-aオプションによって暗示または有効化されることはありません。

拡張妥当性検査では、データ・ページに対して基本的なチェックサム検査および構造検査が実行されるほか、ページ・ヘッダー内のメタ情報が有効で正常動作範囲を表しているかどうかが検証されます。

-cl decompressionLib
解凍を実行するために使用するライブラリーの名前。 この名前は、サーバー上の 1 個のファイルを参照する完全修飾パスでなければなりません。 このパラメーターを指定しない場合、 Db2 はイメージ内に格納されているライブラリーの使用を試みます。 バックアップが圧縮されていなかった場合、このパラメーターの値は無視されます。 指定されたライブラリーをロードできない場合、操作は失敗します。
-co decompressionOpts
バイナリー・データのうち、 解凍ライブラリーの初期設定ルーチンに渡すブロックを記述します。 Db2 はこのストリングをクライアントからサーバーに直接渡すため、 バイト反転やコード・ページ変換の問題がある場合は解凍ライブラリーで処理する必要があります。 データ・ブロックの最初の文字が「@」である場合、Db2 は、データの残りの部分をサーバー上に存在するファイルの名前と解釈します。 その場合 Db2 は、 string の内容をそのファイルの内容で置き換え、 そのようにして得られる新しい値を初期設定ルーチンに渡します。 string の最大長は 1024 バイトです。
-kspassword password
鍵ストアを開くときに使用するパスワードを指定します。
-kspassarg fd:file_descriptor | filename:file_name
鍵ストア・パスワード引数を指定します。 file_descriptor パラメーターは、使用するパスワードが含まれている、読み取り可能なオープン状態のファイルまたはパイプを示すファイル記述子を指定します。 file_name パラメーターは、使用するパスワードが含まれているファイルの名前を指定します。
-ksprompt
パスワードのプロンプトをユーザーに出すことを指定します。
-H
-hと同じ情報を表示しますが、画像の先頭から4Kメディアヘッダー情報のみを読み取ります。 イメージの妥当性検査は実行しません。 このオプションは他のオプションと併用できません。
-S
-s と同じ情報を表示しますが、画像の検証は行いません。 このオプションは他のオプションと併用できません。
-T
-t と同じ情報を表示しますが、画像の検証は行いません。 このオプションは他のオプションと併用できません。
filename
バックアップ・イメージ・ファイルの名前。 1 つ以上のファイルを一度に検査できます。
注:
  1. 完全バックアップが複数のオブジェクトで構成されている場合には、 同時にすべてのオブジェクトを db2ckbkp を使用して妥当性検査する場合にのみ、 妥当性検査は正常に実行できます。
  2. イメージの複数の部分を検査する場合には、 最初のバックアップ・イメージ・オブジェクト (.001) を最初に指定しなければなりません。

例 1 (UNIX オペレーティング・システムの場合)
db2ckbkp SAMPLE.0.krodger.DBPART000.19990817150714.001
      SAMPLE.0.krodger.DBPART000.19990817150714.002  
      SAMPLE.0.krodger.DBPART000.19990817150714.003

      [1] Buffers processed:  ## 
      [2] Buffers processed:  ##
      [3] Buffers processed:  ##
      Image Verification Complete - successful.
注: 「CATN####」の使用は、この形式の命名規則を使用した以前のバージョンにのみ適用されます。
例 2
db2ckbkp -h SAMPLE2.0.krodger.NODE0000.CATN0000.19990818122909.001

   =====================
   MEDIA HEADER REACHED:
   =====================
           Server Database Name           -- SAMPLE2
           Server Database Alias          -- SAMPLE2
           Client Database Alias          -- SAMPLE2
           Timestamp                      -- 19990818122909
           Database Partition Number      -- 0
           Instance                       -- krodger
           Sequence Number                -- 1
           Release ID                     -- 900
           Database Seed                  -- 65E0B395
           DB Comment's Codepage (Volume) -- 0
           DB Comment (Volume)            --                               
           DB Comment's Codepage (System) -- 0
           DB Comment (System)            --                               
           Authentication Value           -- 255
           Backup Mode                    -- 0
           Include Logs                   -- 0  
           Compression                    -- 0
           Backup Type                    -- 0
           Backup Gran.                   -- 0
           Status Flags                   -- 11
           System Cats inc                -- 1
           Catalog Database Partition No. -- 0
           DB Codeset                     -- ISO8859-1
           DB Territory                   -- 
           LogID                          -- 1074717952
           LogPath                       -- /home/krodger/krodger/NODE0000/
                                             SQL00001/LOGSTREAM0000
           Backup Buffer Size             -- 4194304
           Number of Sessions             -- 1
           Platform                       -- 0

   The proper image file name would be:
   SAMPLE2.0.krodger.NODE0000.CATN0000.19990818122909.001
   
   [1] Buffers processed:  ####
   Image Verification Complete - successful.
注: 「CATN####」の使用は、この形式の命名規則を使用した以前のバージョンにのみ適用されます。
例 3: Db2 pureScale® 環境の 3 つの メンバー のバックアップ・イメージから表示される出力例を以下に示します。
BufAddr  MemberNum PoolID Token Type Offset FileSize ...
-------- --------- ------ ----- ---- ------ -------- ...
00000000:        0      0     0   19      0      268 ...
出力 (続き):
... ObjectSize OrigSize Object Name                 
... ---------- -------- -----------                 
...        268        0 "BACKUP.START.RECORD.MARKER"
       
  numTbspsInDB  : 3       
  numTbspsInImg : 3

  Total members : 3
  Member numbers: 0,1,2

使用上の注意

  1. 複数のセッションを使用してバックアップ・イメージを作成した場合には、 db2ckbkp は同時にすべてのファイルを検査できます。 ユーザーは、シーケンス番号001のセッションが最初に指定されたファイルであることを確認する責任があります。
  2. このユーティリティーは、テープに保管されているバックアップ・イメージ (変数ブロック・サイズを指定して作成されたイメージは除く) も検査できます。 これは、リストア操作の場合のようにテープを準備し、 テープ装置名を指定してユーティリティーを起動することにより行えます。 例えば、 Linux® および UNIX オペレーティング・システムの場合は、以下のようにします。
       db2ckbkp -h /dev/rmt0
    Windows の場合:
       db2ckbkp -d \\.\tape1
  3. イメージがテープ装置上にある場合、テープ装置パスを指定します。 オプション-n が指定されない場合は、それがマウントされていることを確認するプロンプトが出されます。 テープが複数存在する場合、 最初のテープを指定された最初の装置パスにマウントしなければなりません (これは、ヘッダー内の順序 001 のテープです)。
    デフォルトでは、テープ装置が検出されるとテープのマウントを促すプロンプトが出されます。 ユーザーは、プロンプトで選択します。 以下に、プロンプトとオプションを示します。(ここで、指定装置 I は装置パス/dev/rmt0にあります)
        Please mount the source media on device /dev/rmt0. 
        Continue(c), terminate only this device(d), or abort this tool(t)? 
        (c/d/t) 
    指定した装置ごとに、テープの終了時にプロンプトが出されます。
  4. このユーティリティは、リモートストレージに保存されているバックアップ画像を検証できます。 これを行うには、バックアップ画像のロケーションを指定します。 以下に例を示します。
    db2ckbkp -H DB2REMOTE://ibmcos/db2-bkp-test/images/SAMPLE.0.db2inst1.DBPART000.20210804193955.001
  5. SMS および DMS 表スペースで db2ckbkp -e を実行すると、以下のエラー・メッセージを受け取る場合があります。
    Could not find the specified page range in the image
    エラー・メッセージの原因は、以下のとおりです。
    1. 指定されたページは、バックアップ時にデータベースに存在しません。
    2. バックアップ・イメージは増分イメージまたは差分イメージであり、指定されたページはデータベースに存在しますが、最後のバックアップ以降に変更されていません。

      db2ckbkp -o を実行して、イメージ内のページを確認してから、正しい startPageを使用して db2ckbkp -e を再実行することができます。