INSPECT と db2dart の比較

INSPECT コマンドは、データベースのアーキテクチャーの保全性を検査して、データベース内のページの整合性をチェックします。 INSPECT コマンドでは、表オブジェクトと表スペースの構造が有効であることをチェックします。 オブジェクト間妥当性検査により、オンラインで索引とデータの整合性検査を実行できます。 db2dart コマンドは、データベースのアーキテクチャーの正確さを検査し、検出されたあらゆるエラーを報告します。

INSPECT コマンドは、db2dart コマンドと同じく、データベース、表スペース、表をチェックします。 この 2 つのコマンドの大きな違いは、db2dart を実行する前にはデータベースを非アクティブ化する必要がありますが、INSPECT ではデータベース接続が必要で、データベースへのアクティブ接続が同時に存在する場合でも実行できるという点です。

データベースを非アクティブ化しなかった場合、db2dart の実行結果は信頼できません。

db2dart コマンドと INSPECT コマンドが実行するテストの違いを以下の表にまとめます。

表 1. 表スペースに対する db2dart と INSPECT のフィーチャーの比較
実行されるテスト db2dart INSPECT
SMS 表スペース
表スペース・ファイルの検査 はい いいえ
内部ページ・ヘッダー・フィールドの内容の妥当性検査 はい はい
DMS 表スペース
複数のオブジェクトが指し示すエクステント・マップの検査 はい いいえ
すべてのエクステント・マップ・ページでの整合性ビット・エラーの検査 いいえ はい
すべてのスペース・マップ・ページでの整合性ビット・エラーの検査 いいえ はい
内部ページ・ヘッダー・フィールドの内容の妥当性検査 はい はい
エクステント・マップが表スペース・マップと一致することの検査 はい いいえ
表 2. データ・オブジェクトに対する db2dart と INSPECT のフィーチャーの比較
実行されるテスト db2dart INSPECT
データ・オブジェクトでの整合性ビット・エラーの検査 はい はい
特殊制御行の内容の検査 はい いいえ
可変長列の長さと位置の検査 はい いいえ
表の行での LONG VARCHAR、LONG VARGRAPHIC、およびラージ・オブジェクト (LOB) の記述子の検査 はい いいえ
サマリー合計ページ、使用済みページ、およびフリー・スペースの割合の検査 いいえ はい
内部ページ・ヘッダー・フィールドの内容の妥当性検査 はい はい
各行レコード・タイプとその長さの検査 はい はい
行がオーバーラップしていないことの検査 はい はい
表 3. 索引オブジェクトに対する db2dart と INSPECT のフィーチャーの比較
実行されるテスト db2dart INSPECT
整合性ビット・エラーの検査 はい はい
索引キーの位置と長さ、およびオーバーラップがあるかどうかの検査 はい はい
索引におけるキーの順序付けの検査 はい いいえ
サマリー合計ページと使用済みページの判別 いいえ はい
内部ページ・ヘッダー・フィールドの内容の妥当性検査 はい はい
ユニーク・キーの一意性の検査 はい いいえ
指定された索引項目のデータ行が存在するかどうかの検査 いいえ はい
データ値に照らした各キーの検査 いいえ はい
RANDOM 配列のキー・パーツのハッシュ値の検査 はい YES (INSPECT の INDEXDATA オプションが使用されている場合)
表 4. ブロック・マップ・オブジェクトに対する db2dart と INSPECT のフィーチャーの比較
実行されるテスト db2dart INSPECT
整合性ビット・エラーの検査 はい はい
サマリー合計ページと使用済みページの判別 いいえ はい
内部ページ・ヘッダー・フィールドの内容の妥当性検査 はい はい
表 5. 長いフィールドおよび LOB オブジェクトに対する db2dart と INSPECT のフィーチャーの比較
実行されるテスト db2dart INSPECT
割り振り構造の検査 はい はい
サマリー合計ページと使用済みページの判別 (LOB オブジェクトのみ) いいえ はい
さらに、db2dart コマンドを使用すると、以下のアクションを実行できます。
  • データ・ページのフォーマット設定とダンプ
  • 索引ページのフォーマット設定とダンプ
  • 区切り付き ASCII でのデータ行のフォーマット設定
  • 索引に無効のマークを付ける
INSPECT コマンドを使用して、これらのアクションを実行することはできません。