不整合検出コマンド(dcccheck)について説明します。
運用中に発生しうる蓄積データファイル、蓄積添付ファイル、資源管理の管理レコードの状態との不整合を以下に示します。
Statusの意味は“3.6.2 不整合検出後の対処について”を参照してください。
管理レコードが作成中・無効状態である
dccunlockコマンドにより異常な管理レコードを無効化すると発生します。
(Status 1)
管理レコードは作成中・有効状態だが、dlofentryコマンドは実行されていない
dlofentryコマンドを強制終了した場合または資源管理に異常が発生して管理レコードの更新ができなかった場合に発生します。
そのままにすると、同じ蓄積データファイル名ではdlofentryコマンドを再実行できません。
dccunlockコマンドにより、管理レコードを無効状態に変更する必要があります。
(Status 2)
管理レコードは作成済みだが無効状態である
dccunlockコマンドで格納中の蓄積データファイルの管理レコードを無効化すると発生します。
(Status 3)
管理レコードは作成済み・有効状態だが、ファイルの実体(蓄積データファイル、または蓄積添付ファイル、またはその両方)が存在しない
利用者が誤って蓄積データファイルを削除してしまった場合またはディスク障害後のリカバリで最新状態に戻せなかった場合に発生します。
放置すると、抽出時に対象ファイルが見つからずエラーになります。
(Status 5、7、8、9)
管理レコードは削除済み・有効状態だが、ファイルの実体(蓄積データファイル、または蓄積添付ファイル、またはその両方)が存在する
dccdeleteコマンドが、何らかの理由により蓄積データファイルが削除できなかった場合に発生します。
dccdeleteコマンドは蓄積データファイルの削除に失敗しても、対応する管理レコードを“削除済み”状態に変更して終了します。
(Status 6、10、11、12)
dcccheckコマンドは、Interstage Information Storageに格納されている蓄積データファイル、蓄積添付ファイル、および資源管理の状態を相互に確認することで、これらの不整合状態を検出します。
例
sampleカテゴリに対して不整合検出コマンドを実行し、結果を/DATA/mismatch.txtに出力する
dcccheck out_file=/DATA/mismatch.txt cat_name=sample <Enter>
sampleカテゴリに対して不整合検出コマンドを実行し、結果をC:\DATA\mismatch.txtに出力する
dcccheck out_file=C:\DATA\mismatch.txt cat_name=sample <Enter>
注意
マルチサーバ構成で登録されている管理レコード数(無効状態、削除済み状態含む)が多い場合、dcccheckコマンド動作中にファイルシステムがキャッシュするファイル数が多くなります。キャッシュしたファイル数が13万ファイルを超えると、ファイルシステムのメモリ使用量が見積もりを超えて増加します。このため、目安として対象とするファイル数が5万ファイルあたりに100秒のキャッシュを破棄する時間の間隔をあけてdcccheck コマンドを実行してください。または、upd_dateオプションに更新日時を指定して、dcccheckの対象とするファイル数を、5万ファイル以下に絞ってください。なお、キャッシュの破棄は自動的に行われます。
sampleカテゴリに対して、更新日時“2010年10月20日 11時00分00秒”以降を対象とする場合
dcccheck out_file=/DATA/mismatch.txt cat_name=sample upd_date=2010/10/20/11:00:00 <Enter>
dcccheck out_file=C:\DATA\mismatch.txt cat_name=sample upd_date=2010/10/20/11:00:00 <Enter>
dcccheckコマンド実行中は、データの格納・削除、管理レコードの無効化、管理レコードの削除など運用のコマンドを実行しないでください。誤ってdcccheckコマンドと運用のコマンドを同時に実行した場合、正しくない情報が取得されることがあります。