表の DATALINK データについてファイルへの参照を妥当性検査します。 ファイルへの参照を確立できない行が例外表 (指定されている場合) にコピーされ、 入力ファイルで変更されます。
RECONCILE を使用すると、UNIX ベース・システムのインスタンス・パスと Windows NT および OS/2 のインストール・パスに、 メッセージ・ファイル (reconcil.msg) が生成されます。 このファイルには、例外表の妥当性検査で生成された警告およびエラー・メッセージが入ります。
許可
以下のどれかが必要です。
必須接続
データベース
コマンド構文
>>-RECONCILE--table-name---DLREPORT--filename-------------------> >-----+----------------------------+--------------------------->< '-FOR EXCEPTION--table-name--'
コマンド・パラメーター
例
以下のコマンドを実行すると、表 DEPT の調整が行われ、 ユーザーがすでに作成している例外表 EXCPTAB に例外が書き込まれます。 調整時にリンク解除されたファイルについての情報は、 /u/johnh ディレクトリーに作成される report.ulk ファイルに書き込まれます。 FOR EXCEPTION excptab を指定しなかった場合は、 /u/johnh ディレクトリーに作成される report.exp ファイルに例外情報が書き込まれます。
db2 reconcile dept dlreport /u/johnh/report for exception excptab
使用上の注意
調整時には、存在するファイルのリンクは表データに従って試みられますが、 存在しないファイルのリンクはデータ・リンク・ファイル・マネージャーのメタデータに従って試みられます (他の矛盾が存在しなければ)。
調整は表内のすべての DATALINK データに関して実行されます。 ファイル参照を再確立できない場合は、違反行が例外表 (指定されている場合) に挿入されます。 これらの違反行は入力表から削除されます。 ファイル参照の保全性を保証するため、問題となっている DATALINK 値はヌルにされます。 列がヌル不可として定義されている場合には、 DATALINK 値が長さゼロの URL によって置換されます。
例外表を指定しなかった場合、ファイル参照を再確立できなかった DATALINK 列値は、 列 ID および注釈とともに、 例外報告ファイル (<filename>.exp) にコピーされます。
調整処理の終了時に、表はデータ・リンク調整保留 (DRP) 状態から解放されます。
例外表 (指定されている場合) を作成してからでないと、調整ユーティリティーは実行できません。 調整ユーティリティーで使用される例外表は、 ロード・ユーティリティーで使用される例外表と同じです。
例外表は、調整する表の定義を模倣します。 例外表では、データ列の後に 1 つか 2 つのオプション列を加えることもできます。 最初のオプション列は、TIMESTAMP 列です。 この列には、調整操作が開始された時刻のタイム・スタンプが含まれます。 2 番目のオプション列は、タイプ CLOB (32KB 以上) にする必要があります。 この列には、リンク障害の発生した列の ID と、その障害の理由が含まれます。 例外表の DATALINK 列は NO LINK CONTROL を指定しなければなりません。 そのように指定することにより、行 (DATALINK 列を含む) が挿入されてもファイルはリンクされず、 例外表から行が選択されてもアクセス・トークンが生成されずに済みます。
MESSAGE 列の情報は、以下の構造に従って編成されます。
----------------------------------------------------------------- フィールド 番号 内容 サイズ 注釈 ----------------------------------------------------------------- 1 違反の数 5 文字 右寄せ '0' を埋め込む ----------------------------------------------------------------- 2 違反のタイプ 1 文字 'L' - DATALINK 違反 ----------------------------------------------------------------- 3 違反の長さ 5 文字 右寄せ '0' を埋め込む ----------------------------------------------------------------- 4 違反している 4 文字 右寄せ DATALINK 列の数 '0' を埋め込む ----------------------------------------------------------------- 5 DATALINK 列番号 4 文字 右寄せ (最初の違反列の) '0' を埋め込む ----------------------------------------------------------------- 6 違反の理由 5 文字 右寄せ '0' を埋め込む ----------------------------------------------------------------- フィールド 5 と 6 を、それぞれの 違反列ごとに繰り返す -----------------------------------------------------------------
以下に示すのは、可能性のある違反のリストです。
00001 - DB2 データ・リンク・マネージャーがファイルを見つけられない。 00002 - ファイルはすでにリンクされている。 00003 - ファイルは変更された状態にある。 00004 - 接頭部の名前が登録されていない。 00005 - ファイルが検索できなかった。 00006-File entry missing. This will happen for recovery = no, partial control 1 DATALINK columns. Use update to relink the file. 00007 - ファイルがリンク解除状態にある。 00008 - 復元されたが変更されていないファイルは <filename>.MOD にコピーされている。 00009 - ファイルはすでに別の表にリンクされている。 00999 - ファイルをリンクできなかった。 例: 00001L000120002000400002000500001 00001 - 違反の数が 1 であることを指定する。 L - 違反のタイプが 'DATALINK 違反' であることを指定する。 00012 - 違反の長さが 12 バイトであることを指定する。 0002 - リンク違反を検出した行には 2 つの列があることを指定する。 0004,00002 0005,00001 - 列 ID と違反の理由を指定する。
メッセージ列がある場合は、タイム・スタンプ列もあるはずです。 例外表の詳細については、SQL 解説書 を参照してください。