チェックポイントの失敗を回復すると、あるプロセスによって読み込まれたメッセージが、そのプロセスに対して同じ順序で再現されない可能性があります。これは、別のプロセスが、待ち行列にロールバックされたメッセージをすでに読み込んでいるために生じます。最新のチェックポイントのリクエスト後にTeradataユーティリティに送信されたすべてのメッセージがメッセージ待ち行列にロールバックされるのは、次の場合です。
- データベースの回復後に再位置付けが要求される。
- 異常終了により、クライアントの処理が失敗する。
再現が必要な場合は、保存済みの待ち行列の命名規則を設定する必要があります。この規則により、TPumpなどの1つのリーダー プロセスが、排他的オプションを使用して、ある待ち行列の唯一のリーダーとなります。 それ以外のプロセスが、その保存された待ち行列名を使用することはありません。
チェックポイント ファイルが存在し、名前付き待ち行列を開いた後のアクセス モジュールに対する最初のリクエストが再配置指定である場合には、返される最初のメッセージはチェックポイント ファイルから取り出されます。 それ以外の場合は、チェックポイント ファイルには1つのレコードしか保存されていないため、影響はありません。 クライアントの異常終了の場合には、その他のすべてのメッセージは暗黙でロールバックされます。