dlofentryコマンドが異常終了するトラブル、および対処方法について説明します。
入力データファイルやロード時に指定するパラメタなどに不備があると、ロードコマンドは以下のメッセージを画面に出力して異常終了します。
FSP_INTS-IS_IIS: INFO: dla00004-i: 蓄積データファイル作成・登録処理は異常終了しました。
異常終了した原因は資源管理ログファイルに出力されているログから判断します。
ここでは、入力データファイルの形式に誤りがある場合のトラブル、および対象方法について説明します。
dlofentryコマンドが異常終了する。
資源管理ログに、以下のメッセージが出力されているか確認してください。
[日時] FSP_INTS-IS_IIS: ERROR: dlx00021-e: ([プロセスID]) in_fileパラメタに指定した入力データファイルに誤りがあります。(エラーレコード=[行番号])
このログが出力されている場合、入力データファイルの形式に誤りがあります。
ログの「エラーレコード」で指定されている行を読み込んだときにロードコマンドが入力データファイルの形式に誤りを検出しています。
[日時] FSP_INTS-IS_IIS: ERROR: dlg20010-e: ([プロセスID]) 資源管理情報のカテゴリ定義に定義したCPMキー項目名([CPMキー項目名])が、見出し行に存在していません。
このログが出力されている場合、ログの「CPMキー項目名」で指定されている項目が入力データファイルのCSVヘッダレコードに存在していません。
[日時] FSP_INTS-IS_IIS: ERROR: dlg20028-e: ([プロセスID]) in_fileパラメタに指定した入力データファイルのCPMキー項目にはNULL値が設定されています。
このログが出力されている場合、入力データファイル中のCPMキーに当たる項目の値がNULLとなっています。
Interstage Information Storageは、カテゴリの定義を元に、データ格納時に入力データファイルの解析を行います。
解析中に、XMLのタグが正しく閉じられていないなど形式の誤りを検出すると、ロードコマンドはその時点で処理を異常終了させます。
dlx00021-eのログが出力されている場合、ログの「エラーレコード」で指定されている行の前後を確認し、誤っている箇所を修正してください。
dlg20010-eのログが出力されている場合、指定したカテゴリの定義と入力データファイルの見出し行を確認し、指定するカテゴリ名、または入力データファイルの見出し行を修正してください。
dlg20028-eのログが出力されている場合、入力データファイル中のCPMキーに当たる項目を確認し、値がNULLとなっている箇所を修正してください。
ポイント
エラーレコードに出力される行番号は、ロードコマンドがフォーマットの誤りを検出した箇所を示しているため、XMLファイルの場合は必ずしもその行の内容が誤っているわけではありません。
次のようにXMLファイルでタグが正しく閉じられていない場合、親要素の終了タグが出現した箇所でロードコマンドはエラーを認識します。そのため、ログに出力されるエラーレコードは"5"になります。
<root> <order> ・・・対応する</order>が無いためエラーとなる <product_id>TY0001</product_id> <product_name>PRODUCT_A</product_name> </root> ・・・ここでエラーを検出するため、エラーレコードは"5"となる
参考
ファイル形式の誤りのうち、分かりにくいものを以下に示します。
以下の2つの場合は、dlg20010-eのログが出力されます。
入力データファイルにByte Order Mark(BOM)が含まれており、かつ先頭の項目がCPMキーに設定されている(CSV形式だけ)
[BOM]order,ship_date,product_id ・・・項目名が"[BOM]order"と判断され定義と一致せずエラーとなる TY091015001,2009/10/15,PG00001 TY091015002,2009/10/15,PG01001
改行コードがCR+LFであり、かつ最後の項目がCPMキーに設定されている(CSV形式だけ)
order,ship_date,product_id ・・・項目名が"product_id[CR]"と判断され定義と一致せずエラーとなる TY091015001,2009/10/15,PG00001 TY091015002,2009/10/15,PG01001
以下の場合は、dlg20028-eのログが出力されます。
ファイルの末尾に空行が存在する(CSV形式だけ)
order,ship_date,product_id TY091015001,2009/10/15,PG00001 TY091015002,2009/10/15,PG01001[改行] ・・・CPMキーがないレコードと判断されエラーとなる
参照
入力データファイルのファイル形式については“解説書”の“ データの形式”を参照してください。
ここでは、指定した入力データファイルに誤りがある場合のトラブル、および対象方法について説明します。
dlofentryコマンドが異常終了する。
資源管理ログファイルに以下のログが出力されているか確認してください。
[日時] FSP_INTS-IS_IIS: ERROR: dlg20035-e: ([プロセスID]) in_fileパラメタに指定した入力データファイルに有効なレコードが存在しませんでした。
ログが出力されている場合、指定した入力データファイルに誤りがあります。
dlofentryコマンド実行時に指定した入力データファイルから有効なレコードが見つかりませんでした。
XML形式のデータを格納するカテゴリに対してCSVファイルを格納しようとする、指定したファイルにデータが含まれていないなど、解析すべきレコードが見つからないとdlofentryコマンドは異常終了します。
正しい入力データファイルまたはカテゴリを指定してdlofentryコマンドを再実行してください。
ポイント
CPMキーを定義していないカテゴリの場合、ファイルの内容はチェックされません。CPMキーを定義した場合だけファイルの内容がチェックされます。
XML形式の入力データファイルを格納するとき、ロードコマンドは指定された入力データファイルからカテゴリに定義されたルートタグを探します。誤ってCSV形式のファイルを指定すると、ルートタグがファイルの末尾まで見つからないため、ロードコマンドは有効なレコードが存在しなかったと判断して異常終了します。
逆にCSVファイルを格納するカテゴリに対して、XML形式のファイルを指定してロードコマンドを実行すると、先頭行にCSVヘッダが存在しないため、dlg20010-eのログを出力して異常終了します。
ここでは、格納先カテゴリの指定に誤りがある場合のトラブル、および対象方法について説明します。
dlofentryコマンドが異常終了する。
資源管理ログファイルに以下のログが出力されているか確認してください。
[日時] FSP_INTS-IS_IIS: ERROR: dlc00004-e: ([プロセスID]) cat_nameパラメタに指定されたカテゴリ名([カテゴリ名])は資源管理情報に定義されていません。
ログが出力されている場合、格納先カテゴリの指定が誤っています。
dlofentryコマンドで指定したカテゴリが資源管理上に定義されていません。
dlofentryコマンドで指定したカテゴリに誤りがある場合、正しいカテゴリ名を指定して再実行してください。
カテゴリが定義されていなかった場合はddsdefコマンドによりカテゴリを定義してください。
参照
カテゴリの定義については、“運用ガイド”の“ カテゴリの追加”を参照してください。
ここでは、格納先カテゴリの定義と、dlofentryコマンドのオプションが矛盾している場合のトラブル、および対象方法について説明します。
dlofentryコマンドが異常終了する。
資源管理ログファイルに以下のログが出力されているか確認してください。
[日時] FSP_INTS-IS_IIS: ERROR: dld00009-e: ([プロセスID]) keep_limitパラメタが指定されています。
このログが出力されている場合、「データ格納時に保存期限を指定しない」と定義されているカテゴリに対して、dlofentryコマンドのkeep_limitオプションを指定して実行しています。
[日時] FSP_INTS-IS_IIS: ERROR: dlc00012-e: ([プロセスID]) keep_limitパラメタが指定されていません。
このログが出力されている場合、「データ格納時に保存期限を指定する」と定義されているカテゴリに対して、dlofentryコマンドのkeep_limitオプションを指定せずに実行しています。
データの保存期限の指定方法は、データ格納時にカテゴリの定義に基づき自動的に設定する方法とデータ格納時に直接指定する方法の2つがあります。
カテゴリごとにどちらの方法を採用するか選択する必要があり、カテゴリの定義に反するオプションを指定すると、dlofentryコマンドは異常終了します。
途中で変更する場合にはカテゴリ定義の修正を行います。コマンド実行時に、一時的に方式を変更することはできません。
データ格納先カテゴリの定義に従い、dlofentryコマンドのオプションを指定しなおして再実行してください。カテゴリの定義を確認するときはdcccatコマンドを使用します。
カテゴリの定義を変更したい場合は、ddsdefコマンドを使用して、カテゴリの定義を修正してください。
参照
カテゴリ定義の変更については“運用ガイド”の“カテゴリ定義の変更”を参照してください。
ここでは、CPMキーの形式に誤りがある場合のトラブル、および対象方法について説明します。
dlofentryコマンドが異常終了する。
資源管理ログファイルに以下のログが出力されているか確認してください。
[日時] FSP_INTS-IS_IIS: ERROR: dlx00010-e: ([プロセスID]) in_fileパラメタに指定した入力データファイルのCPMキー項目([CPMキー項目])に対する値の小数桁数が、資源管理情報のカテゴリ定義に定義した小数桁数を超えました。(エラーレコード=[行番号]) または [日時] FSP_INTS-IS_IIS: ERROR: dlx00011-e: ([プロセスID]) in_fileパラメタに指定した入力データファイルのCPMキー項目([CPMキー項目])に対する値の整数桁数が、資源管理情報のカテゴリ定義に定義した整数桁数を超えました。(エラーレコード=[行番号])
このログが出力されている場合、数値型のCPMキーについて、カテゴリの定義とデータに含まれているCPMキー値の桁数が一致しないため、dlofentryコマンドが異常終了しています。
[日時] FSP_INTS-IS_IIS: ERROR: dlx00008-e: ([プロセスID]) in_fileパラメタに指定した入力データファイルのCPMキー項目([CPMキー項目])に対する値の指定に誤りがあります。(エラーレコード=[行番号])
このログが出力されている場合、カテゴリの定義とデータに含まれているCPMキー値の種類が一致しない(「数値」を定義しているのにデータに日本語が含まれているなど)ため、dlofentryコマンドが異常終了しています。
データの格納時に、dlofentryコマンドは格納先カテゴリの定義と実際のデータに含まれているCPMキー値が一致するかを確認します。
dlofentryコマンドは、解析中に定義と値の不一致を検出すると、その時点で異常終了します。
入力データファイルの格納先カテゴリが正しいかを確認してください。
格納先カテゴリが正しい場合、ログの「エラーレコード」に出力されている行番号と「CPMキー項目」からエラーが発生している箇所を特定し、入力データファイルの修正を行ってください。
注意
カテゴリ作成後にCPMキーに指定した項目の形式が変更になった場合、カテゴリの再作成が必要となります。
カテゴリの再作成を行うには、すでに格納済みのデータをすべて削除する必要があります。
カテゴリの再作成については“運用ガイド”の“カテゴリの構成変更”を参照してください。
参照
CPMキーに指定できる属性とその詳細については“解説書”の“CPMキー”を参照してください。
ここでは、蓄積データファイルの保存に失敗した場合のトラブル、および対象方法について説明します。
dlofentryコマンドが異常終了する。
資源管理ログファイルに以下のログが出力されているか確認してください。
[日時] FSP_INTS-IS_IIS: ERROR: dlg20039-e: ([プロセスID]) ファイルの圧縮に失敗しました。(DEFILE-IN=[入力データファイル名] DEFILE-OUT=[蓄積データファイル名])
このログが出力されている場合、蓄積データファイルの保存時にエラーが発生しています。
このとき、以下の観点から保存先ディレクトリの状態を確認してください。
保存先ディレクトリが存在するか
保存先に十分な空き容量があるか
保存先ディレクトリに対してコマンドを実行したユーザーの書込み権限があるか
さらに、圧縮機能が正常に終了しているか資源管理ログで確認してください。
dlofentryコマンドがカテゴリの定義またはコマンド実行時に指定されたデータの格納先に蓄積データファイルを保存できなかったために異常終了しています。
データの格納先にはdlofentryコマンドを実行したユーザーに対して書込み権限が割り当てられている必要があります。
カテゴリの定義またはコマンド実行時に指定されたデータの格納先が存在しなかった場合は、ディレクトリを作成し、dlofentry実行ユーザーに対して書込み権限を割り当ててください。
保存先ディレクトリに十分な空き容量が無かった場合は、保存先ディレクトリを変更してください。
保存先ディレクトリの準備ができたら、dlofentryコマンドを再実行してください。
参照
ロードコマンド実行など各種操作に必要な権限については、“導入ガイド”の“権限の設計”を参照してください。
ここでは、すでに同名の蓄積データファイルが存在し、保存に失敗した場合のトラブル、および対象方法について説明します。
dlofentryコマンドが異常終了する。
資源管理ログファイルに以下のログが出力されているかを確認してください。
[日時] FSP_INTS-IS_IIS: ERROR: dlf00011-e: ([プロセスID]) 蓄積データファイルに重複するファイル名が存在します。
このログが出力されていた場合、同じプロセスIDをもつログの中に、以下のログがあるか確認してください。
[日時] FSP_INTS-IS_IIS: ERROR: dcx00303-e: ([プロセスID]) ファイルの操作に失敗しました。(DCR_InputFileCreatInq_0809 エラーコード=-4000241)
これらのログが出力されている場合、すでに同名の蓄積データファイルが存在しているためにコマンドが異常終了しています。
カテゴリの中に、同名の蓄積データファイルを格納することはできません。
同名の蓄積データファイルがすでに資源管理に登録されていた場合、資源管理への管理レコードの登録に失敗し、dlofentryコマンドは異常終了します。
カテゴリの定義で「ファイル名構成要素」に「ファイル登録日時」および「枝番」を使用していない場合、dlofentryコマンドのgiven_deオプションの指定や入力データファイル名によっては、すでに格納されている蓄積データファイル名とファイル名が重複します。
同名の蓄積データファイルが存在する理由を以下に示します。
・データ格納に失敗した時の無効レコードが残っている ・コマンド実行時にgiven_deオプションで指定したファイル名が誤っている ・以前に同名の入力データファイルをロードしている
dccresコマンドを実行し、無効レコードを削除してください。
カテゴリの定義で、「ファイル名構成要素」に「起動時指定ファイル名」または「入力データファイル名」を指定している場合は、以前に格納した蓄積データファイル名と重複しないよう、dlofentryコマンド実行時のパラメタを変更して再実行してください。
ここでは、資源管理に失敗する場合のトラブル、および対象方法について説明します。
dlofentryコマンドが異常終了する。
資源管理ログファイルに以下のログが出力されているかを確認してください。
[日時] FSP_INTS-IS_IIS: ERROR: dcx00308-e: ([プロセスID]) 資源管理情報の操作に失敗しました。([モジュール名]_[内部コード] エラーコード=[エラーコード],詳細コード=[詳細コード],詳細メッセージ=[詳細メッセージ])
備考. エラーコード、詳細コード、詳細メッセージは障害が発生したタイミングや原因によって異なります。
これらのログが出力されている場合、データ格納時に資源管理の操作に失敗したため、dlofentryコマンドが異常終了しています。
資源管理の操作に失敗した理由はログの「詳細メッセージ」に出力されます。
資源管理の操作が失敗する原因として、資源管理の操作を行う権限が正しく設定されていないことと、資源管理の操作がタイムアウトしたことの2つがあげられます。
資源管理の操作を行う権限が正しく設定されていないケースを以下に示します。
・資源管理とロードコマンドが同じサーバにある時、IIS管理者以外のユーザーでコマンドを実行した ・資源管理とロードコマンドが異なるサーバにある時、ロードサーバのiissqlenvrの修正を誤った
資源管理の操作がタイムアウトするケースを以下に示します。
・ファイル登録時に、資源管理状態変更コマンド(dccres)を同じカテゴリに対して同時に実行した ・資源管理との通信に異常が発生した ・資源管理に異常が発生した
資源管理とロードコマンドが同じサーバにある時は、IIS管理者でdlofentryコマンドを再実行してください。
資源管理とロードコマンドが異なるサーバにある時は、環境変数SQLRTENVの指定が正しいか、SQLRTENVで指定されているiissqlenvrの内容が正しいかを確認し、dlofentryコマンドを再実行してください。
参照
環境変数の指定については“導入ガイド”の “環境変数の設定”を参照してください。
iissqlenvrの設定については“導入ガイド”の“資源管理の接続設定の編集”を参照してください
以下の手順に従い、dlofentryコマンドを再実行してください。
抽出制御サーバ上でrdbchksanityコマンドを実行し、資源管理の動作を確認します。
ログの詳細エラーメッセージをSymfowareのメッセージ集から検索し、メッセージ集に記載されれている対処に従って異常の原因を取り除きます。
マルチサーバ構成の場合、pingなどのコマンドによりロードサーバと資源情報管理サーバ間の通信に異常が無いことを確認します。
抽出制御サーバ上でdccresコマンドが実行されていないことを確認します。
“運用ガイド”の“作成中状態の管理レコードの削除”の手順に従い、資源管理のメンテナンスを行います。
dlofentryコマンドを再実行します。
本書の“2.2.1 資源管理常駐プロセス(dcdaemon)が起動できない”の“2.2.1.2 資源管理ログ出力先の指定に誤りがある”を参照してください。
ここでは、コマンド結果ファイルの出力に失敗する場合のトラブル、および対象方法について説明します。
dlofentryコマンドが異常終了する。
資源管理ログファイルに以下のログが出力されているか確認してください。
[日時] FSP_INTS-IS_IIS: ERROR: dla00013-e: ([プロセスID]) result_fileパラメタに指定したファイルのディレクトリに誤りがあります。 または [日時] FSP_INTS-IS_IIS: ERROR: dla10007-e: ([プロセスID]) result_fileパラメタに指定したファイルにアクセス権限がありません。
このログが出力されている場合、コマンド結果ファイルまたはコマンド結果ファイルの出力先に対する権限がないためにdlofentryコマンドが異常終了しています。
dlofentryコマンドのresult_fileオプションを指定すると、コマンドの結果情報を指定したファイル(コマンド結果ファイル)に出力できます。ロードコマンドを実行するIIS管理者に対して、ファイルまたはファイルの出力先の書込み権限が割り当てられていなかったために、コマンド結果ファイルの出力に失敗しました。
パラメタに指定したファイルまたは、ファイルの所属ディレクトリに書き込み権限がない場合は、ロードコマンドの実行ユーザーの書き込み権限を付与して再実行してください。
パラメタに指定したファイルの所属ディレクトリが存在しない場合は、ロードコマンドの実行ユーザーが書き込み権限をもつディレクトリを作成して再実行してください。
ここでは、dlofentryコマンドを多重実行時に一部のコマンドだけコマンド結果ファイルの出力に失敗する場合のトラブル、および対象方法について説明します。
dlofentryコマンドが異常終了する。
資源管理ログファイルに以下のログが出力されているか確認してください。
[日時] FSP_INTS-IS_IIS: ERROR: dla00034-e: ([プロセスID]) result_fileパラメタに指定したコマンド結果ファイル(/tmp/result)は既に存在しています。
このログが出力されている場合、多重実行したdlofentryコマンドで、result_fileオプションに同じコマンド結果ファイル名を指定していないか確認してください。
同じコマンド結果ファイル名を指定していた場合、本現象が発生します。
dlofentryコマンドのresult_fileオプションを指定すると、コマンドの結果情報を指定したファイル(コマンド結果ファイル)に出力できます。ロードコマンド実行時にすでに存在するコマンド結果ファイル名を指定したために、コマンド結果ファイルの出力に失敗しました。
コマンド結果ファイルのファイル名が同じにならないよう、命名規約を見直して再実行してください。
参考
dlofentryコマンドを多重実行した場合、以下のメッセージが出力される場合があります。
[日時] FSP_INTS-IS_IIS: ERROR: dlx00026-e: ([プロセスID]) ファイル([コマンド結果ファイル名])ロック処理が失敗しました。(エラーコード=[エラーコード]) または [日時] FSP_INTS-IS_IIS: ERROR: dlh00009-e: ([プロセスID]) result_fileパラメタに指定したコマンド結果ファイル([コマンド結果ファイル名])は既に存在しています。
これらのメッセージが出力され、かつロードコマンドが条件付き正常終了した場合は、コマンド結果ファイルは出力されませんが、データの格納は正常に完了しています。
そのため、dlofentryコマンドを再実行する必要はありません。