コマンド解説書

RECONCILE

表の DATALINK データについてファイルへの参照を妥当性検査します。 ファイルへの参照を確立できない行が例外表 (指定されている場合) にコピーされ、 入力ファイルで変更されます。

RECONCILE を使用すると、UNIX ベース・システムのインスタンス・パスと Windows NT および OS/2 のインストール・パスに、 メッセージ・ファイル (reconcil.msg) が生成されます。 このファイルには、例外表の妥当性検査で生成された警告およびエラー・メッセージが入ります。

許可

以下のどれかが必要です。

必須接続

データベース

コマンド構文

>>-RECONCILE--table-name---DLREPORT--filename------------------->
 
>-----+----------------------------+---------------------------><
      '-FOR EXCEPTION--table-name--'
 

コマンド・パラメーター

RECONCILE table-name
調整が実行される表を指定します。 別名、完全修飾、または未修飾の表名は指定できます。 修飾子付き表名は、schema.tablename の形式です。 未修飾の表名を指定すると、その表は現行許可 ID で修飾されます。

DLREPORT filename
調整時にリンク解除されたファイルに関する情報が入るファイルを指定します。 名前は完全修飾する必要があります (例: /u/johnh/report)。 調整ユーティリティーは、指定されたファイル名に .ulk 拡張子を付け加えます (例:report.ulk)。

FOR EXCEPTION table-name
DATALINK 値が関係したリンク障害が発生した行のコピー先となる例外表を指定します。

以下のコマンドを実行すると、表 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 解説書 を参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]