00C90111

説明

データ管理プログラムが、データの不整合状態を検出しました。 この場合は、要求された OBID の OBD が存在しません。 これは、 Db2 カタログまたは Db2 ディレクトリのどちらかに不整合があるために発生している可能性があります。 特に OBDDMAP(OBID) 項目がゼロになっていて、 DBD の OBD へのオフセットの値になっていません。

これ以上の損傷およびデータの損失を防ぐため、 このデータベースにさらなる SQL アクセスを試みる前に、この矛盾を訂正する必要があります。

システム処置

SYS1.LOGREC にレコードが書き込まれ、SVC ダンプが要求されます。

オペレーターの応答

システム・プログラマーに通知してください。

システム・プログラマーの応答

エラー発生時に使用されていたデータベースを判別します。 このデータベースに、これ以上の SQL アクセスが行われないようにしてください。 Db2 にエラーがあると思われる場合は、問題を報告する必要があるかもしれません。 問題の特定と報告に関する情報は、「診断データの収集 」を参照してください。

問題判別

Db2 ディレクトリと Db2 カタログが一致していないため、これらのいずれかが不整合である可能性があります。 Db2 カタログとDBDの間の不整合の性質と程度が即座にわからないため、DBD全体の分析を行う必要があります。

不一致は、以下の項目が原因であると考えられます。
  • Db2 カタログおよび/または Db2 ディレクトリの不完全な復旧。
  • Db2 カタログおよび/または Db2 ディレクトリの無効な復元。
  • Db2 カタログページセットまたは Db2 ディレクトリページセットの復旧をバイパスする条件付き再起動。
  • Db2 内部エラーです。
以下の診断項目を集めてください。
  • このジョブを実行していたシステムのコンソール出力、および障害が発生していた 期間の SYSLOG データ・セットのリスト。
  • IFCEREP1 を実行して取得した SYS1.LOGREC データセットのリスト。
  • DSNDB01.DBD01 ページ・セットの不定形式の DSN1PRNT 出力。 ダンプファイルからDBDを見つけるのセクションで説明されている方法を使用して、 DSNDB01.DBD01 ページセット内の不整合なDBDを見つけます。
  • 以下のSQL文の結果、 dbid は破損したDBDのDBIDです。
    SELECT * FROM SYSIBM.SYSINDEXES 
       WHERE DBID=dbid ORDER BY OBID; 
    SELECT * FROM SYSIBM.SYSINDEXES 
       WHERE DBID=dbid ORDER BY ISOBID;
    
    SELECT * FROM SYSIBM.SYSTABLES 
       WHERE DBID=dbid ORDER BY OBID;
    SELECT * FROM SYSIBM.SYSTABLESPACE 
       WHERE DBID=dbid ORDER BY OBID;
    SELECT * FROM SYSIBM.SYSTABLESPACE 
       WHERE DBID=dbid ORDER BY PSID;

    Db2 カタログの情報とDBDを比較するために、この結果を使用します。 Db2 カタログと一致しないOBDを特定する。 「DBD の分析」 の手順を使用して DBD を分析します。

  • DBD の不整合が発生した可能性のある期間をカバーする、DBID(1) OBID(1F) の DSN1LOGP 出力。 この期間は、abendが戻った時点から、 Db2 カタログとDBDが一致していると考えられていた時点までのおよそ期間です。
  • 問題判別のために追加の DSN1LOGP 報告書を生成できるようにするための、この期間のログのコピー。