ジョブ終了コードが4の場合は、終了コードが0の場合の説明がすべて当てはまります。 これに加えて、ジョブで次のタイプの深刻な警告が1つ以上発生している可能性があります。
- tbuildベースの警告
- ジョブ スクリプトベースの警告
不要なtbuildコマンド オプション
Teradata PTは、通常は途中のステップからジョブを開始するときに使用されるtbuild -sオプションによって最初のステップからジョブを開始するように指示されたときに、警告メッセージを返します(この場合は、-sオプションを無視してジョブが開始されます)。 間違って最初の手順から開始してしまった場合に備えて、メッセージが発行されます。
原因:不要なtbuildコマンド オプション
修正処置:
- 意図的に途中のステップからジョブを開始する場合を除いて、tbuild -sは使用しないでください。
- 途中のステップから開始する予定のジョブを誤って最初のステップから開始してしまった場合は、ジョブ ログを調べて、最初のステップから開始したことで問題が発生していないかどうかを確認します。
tbuildコマンド オプションの無効な値
tbuild -hオプションで共有メモリ サイズに無効な値が指定されると、Teradata PTから警告が発行され、実際に使用する共有メモリのサイズを確認できます。
原因:tbuildコマンドで-hに無効な値が指定されています。
修正処置:共有メモリ サイズを正しく指定する方法については、ご使用のプラットフォームの<Teradata Tools and Utilitiesインストール ガイド>を参照してください。
切り捨てられるデータ
ソースのCHAR列またはVARCHAR列の値が、対応するターゲット列に適用される際に切り捨てられるか、その可能性がある場合は、Teradata PTから対象となる列ごとに警告メッセージが返されます。
原因:ジョブ スクリプトでソースとターゲットのスキーマ定義が一致していない可能性があります。
修正処置:切り捨てを容認できない場合は、ソースとターゲットのスキーマを調べて調整し、切り捨ての原因となる不一致を解消します。 通常は、このときにターゲット列の最大長のスキーマが少なくともソース列の最大長のスキーマと同じ大きさであることを確認する必要があります。
不正なソース データ
DataConnectorオペレータが、ソース ファイルで不正なデータを検出する場合があります。 RecordErrorFileName属性(従来のの「RowErrFileName」は、次期リリースの時点からマニュアルで使用されなくなります)がファイル名を指定する場合、不適切なデータがファイルに送信され、ジョブは続行します。
原因:不正なソース データ。
修正処置:データのエラーをクリーンアップし、ターゲット テーブルに手動で入力してジョブを完了します。
複数の行がある場合の削除タスク
このエラーは、次のジョブ シナリオで発生します。UpdateオペレータがTeradata Databaseからデータを削除するように設定され、DeleteTask属性が'Yes'または'Y'に設定されていますが、削除は、何らかの外部データを必要とするDELETE文のWHERE句によってトリガーされます。このデータのソースは、ソース データ ストリーム上の単一行であることが必要です。
この場合、Updateオペレータは1つの行のみをトリガーとして検索します。 データ ストリーム内に複数の行を検出した場合は、Teradata PTから警告が発行されます。
原因:データ ストリーム内に複数の行が存在します。
修正処置:後からジョブを実行したときにさらに重大な問題が発生する可能性があるので、Producerオペレータが複数の行をデータ ストリームに送信している理由を確認します。
一時停止されたジョブ
LoadオペレータまたはUpdateオペレータのPauseAcq属性がYes値に設定されている場合は、取得フェーズの完了後、つまりファイル内の全データが読み取られたときにジョブが一時停止されます。 このプロトコルは、データ ファイルを定期的に(1日に1回など)空にするスクリプトによく使用されます。 この警告は、単にジョブが一時停止されたことを通知します。 ファイルにデータが取り込まれると、ジョブが再開されます。
原因:取得フェーズ完了後にジョブを一時停止するようにユーザーが要求しました。
修正処置:なし。
Teradata Databaseでサポートされていないクエリー バンド
QueryBandSessInfo属性に値が指定されている場合は、Teradata Databaseがクエリー バンド機能をサポートしていない場合にもジョブが続行されます。
QueryBandSessInfo属性は、以下のオペレータにのみ適用されます。
- DDL
- Export
- Load
- SQL Inserter
- SQL Selector
- Stream
- Update
原因:このバージョンのTeradata Databaseはクエリー バンド機能をサポートしていません。
修正処置:クエリー バンド機能を使用する場合は、TdpId属性の値を、クエリー バンド機能をサポートするTeradata Databaseに変更します。