ここではdcccheckコマンドにより検出された不整合の種類ごとに、対処方法を説明します。
管理レコードの不整合状態は、dcccheckコマンドが出力する不整合チェックリストで確認します。
不整合チェックリストには、以下の書式で不整合状態にある管理レコードの一覧が出力されます。
[Status],[カテゴリ名],[ファイル登録日時],[格納先ディレクトリ],[蓄積データファイル名],[排他獲得番号],[排他獲得番号獲得日時]
不整合チェックリストに出力される情報を以下に示します。
No | 出力情報 | 説明 |
---|---|---|
1 | Status | 不整合状態を表す、以下の数字が出力されます。 1:作成中・無効状態 2:作成中・有効状態 3:作成済み・無効状態 5:作成済み・有効状態だがファイル実体なし 6:削除済み・有効状態だがファイル実体あり |
2 | カテゴリ名 | カテゴリ名が出力されます |
3 | ファイル登録日時 | 管理レコードが登録された日時が出力されます |
4 | 格納先ディレクトリ | 蓄積データファイルが格納されたディレクトリが出力されます |
5 | 蓄積データファイル名 | 管理レコードが管理している蓄積データファイルのファイル名が出力されます |
6 | 排他獲得番号 | データ格納時に払い出された排他獲得番号が出力されます |
7 | 排他獲得番号獲得日時 | 排他獲得番号を獲得した日時が出力されます |
不整合状態と、不整合チェックリストに出力されるStatusの値の関係を以下に示します。
不整合状態 | Status | 備考 | |
---|---|---|---|
管理状態 | ファイルの実体 | ||
作成中・無効 | - | 1 | 無効状態の管理レコードについて、ファイルの実体が存在するかは確認しません。 |
作成中・有効 | - | 2 | 作成中状態の管理レコードについて、ファイルの実体が存在するかは確認しません。 |
作成済み・無効 | - | 3 | |
作成済み・有効 | 存在しない | 5 | |
削除済み・有効 | 存在する | 6 |
例
不整合チェックリストの出力例
1,sample,2010/01/10/11:34:30, ,SAMPLE_2010011011_00005.gz ,1234,2010/01/10/11:34:01.410 5,sample,2010/01/10/11:35:30,/DATA/infile/, SAMPLE_2010011011_00007.gz,1234,2010/01/10/11:35:01.410 1,sample,2010/01/10/11:36:30, , SAMPLE_2010011011_00012.gz,1234,2010/01/10/11:36:01.410
Statusが"2"の管理レコードは以下の手順により削除します。
実行中のdlofentryコマンドが存在しないことを確認する
dcccheckコマンドの対象としたカテゴリに対してdlofentryコマンドが実行されていないことを確認してください。実行されていた場合は以降の対処は行わわず、dlofentryコマンドの終了を待って再度dcccheckコマンドを実行してください。
再度不整合状態が検出された場合は、以降の操作に進んでください。
作成途中のファイルが存在するか確認する
不整合チェックリストに出力された蓄積データファイル名から、次の場所に作成途中のファイルが存在するか確認します。ファイルが存在した場合は、rmコマンドで削除してください。
カテゴリに定義した格納先ディレクトリ
dlofentryコマンド実行時にde_dirパラメタで指定したディレクトリ
dccunlockコマンドにより管理レコードを作成中・無効状態に変更する
dccunlockコマンドを使って管理レコードを無効化します。
dccunlockコマンドを実行するために必要な排他獲得番号と排他番号獲得日時は、不整合チェックリストに出力されているものを使用します。
dccresコマンドにより無効レコードを削除する
dccresコマンドを無効レコード削除モードで実行し、無効レコードを削除します。
詳細は本書の"3.5.2 無効レコードの削除"を参照してください。
Statusが"3"の管理レコードは以下の手順により削除します。
rmコマンドなどOSのコマンドにより蓄積データファイルを削除する
削除対象となるファイル名は、不整合チェックリストに出力されます。
dccresコマンドにより無効レコードを削除する
dccresコマンドを無効レコード削除モードで実行し、無効レコードを削除します。
詳細は本書の"3.5.2 無効レコードの削除"を参照してください。
Statusが"5"になっている管理レコードは蓄積データファイルのバックアップの有無により対処方法が異なります。
蓄積データファイルのバックアップがある場合
蓄積データファイルのバックアップがない場合
バックアップがない場合は、以下の手順により、不整合状態になっている管理レコードを削除します。蓄積データファイルのリカバリは、入力データファイルを再格納することにより行います。
dccdeleteコマンドを個別削除モードで実行する
Statusが"5"になっている蓄積データファイルを対象に、dccdeleteコマンドを個別削除モードで実行します。
実体ファイルがないためdccdeleteコマンドは必ず条件つき正常終了(復帰値:1)になります。
詳細は"3.4 個別データの削除"を参照してください。
dccresコマンドを削除済み削除モードで実行する
dccresコマンドを削除済み削除モードで実行します。
詳細は本書の"3.5.1 削除済みレコードの削除"を参照してください。
入力データファイルを再格納する
dlofentryコマンドにより、入力データファイルを再格納します。
データの格納方法の詳細は本書の"1.4 データの格納"を参照してください。
Statusが"6"になっている管理レコードは、rmコマンドなどOSのコマンドにより蓄積データファイルを削除してください。
削除対象となるファイル名は、不整合チェックリストに出力されます。