データの不整合の問題は、内部 Db2 の問題、入出力エラー、またはシステムの問題など、さまざまな理由で発生します。
このタスクについて
データ不整合問題は、参照整合性制約違反の結果として発生する可能性があります。 参照整合性は、ページ内のデータに対するすべての参照が有効である条件について記述します。 Db2 データに参照制約を適用することで、参照整合性を確保します。 参照整合性制約違反では異常終了は発生しません。これは、Db2 が作動するために参照制約に依存していないためです。 ただし、参照制約違反は、誤った処理の結果を引き起こします。
データ不整合問題は、以下のカテゴリーの 1 つ以上に分類されます。
- 使用できないデータ
- 内部不整合
- 不整合ページ
- 不整合ページ・セット
これらの条件は、単独または組み合わせで存在する可能性があります。 これらは、さまざまな症状で示され、多くのメッセージおよびコードによって識別することができます。 ユーザー・データまたは Db2 システム・データでの不整合の検出は、問題の複雑性によっては困難な可能性があります。
プロシージャー
Db2 データ不整合問題を識別するには、以下のようにします。
- 不整合データが含まれるデータベースのデータベース名(dbname) とテーブルスペースのテーブルスペース名(tsname) を特定します。
- -START DATABASE(dbname ) ACCESS(RO) と入力して、不整合の解決を試みる前にデータへのアクセスを制限します。
このアクションにより、不整合データに対する後続の更新によって問題が悪化することが防止されます。
不整合データへの更新を禁止することは、Db2 カタログまたはディレクトリーが問題に関連している場合に特に重要です。 カタログまたはディレクトリーの問題が疑われる場合は、-START DATABASE(DSNDB06) ACCESS(RO) を発行して DDL、GRANT、REVOKE、および BIND のアクティビティーを禁止します。
- データ不整合の症状と対応」 のガイドラインに従って、または 「RECOVER TABLESPACE」および「RECOVER INDEX」による不整合の解決、または 「手動による不整合の解決」 の詳細手順に従って、問題の解決方法を確認します。
- -START DATABASE(dbname ) SPACENAM(tsname ) ACCESS(UT) と入力して、ユーティリティ処理を許可します。
- 表1 の情報が示す内容に応じて、RECOVERまたはREPAIRを実行します。
- 損傷が修正されたかどうかを判別します。
- データの一貫性が確保された後、 -START
DATABASE(db) SPACENAM(ts) ACCESS(RW) を発行して、データへのフルアクセスを復元します。