4

私はチェーンを運営する仕事をしています。チェーンは 5 つのステップで構成されます。最初のステップが実行され、それが成功すると、他の 3 つのステップが (独立して、並行して) 実行されます。3 つのステップがすべて成功した場合にのみ、最後のステップが開始されます。すべて正常に動作します。

エラーのあるケースをテストしたいと思います。上記の 3 つの手順のいずれかで意図的にエラーを提供しました。その結果、最初のステップが成功したため、3 つのステップが実行されました。予想通り、成功したのは 2 つだけで、3 つ目は失敗しました。すべてのステップは、自動的に生成された job_name に対して機能していました (user_scheduler_job_run_details を照会して job_name を確認しました)。意図的なエラーを削除し、次を使用して失敗したステップのみを実行しました。

dbms_scheduler.run_chain(chain_name => 'MY_CHAIN', start_steps => 'MY_FAILED_STEP');

もちろん、以前に失敗したステップは成功しました (エラーが削除されたため)。しかし、このステップは別の自動的に生成された job_name で実行され、残念ながら最後のステップ (上記の 3 つのステップがすべて成功した後に実行される予定でした) は実行されませんでした。失敗したステップを特定の (前の) job_name で実行したいので、最後のステップを自動的に実行する必要があります。

以前の特定のジョブ名を使用して、Oracle で失敗したステップをチェーンで実行するにはどうすればよいですか?

4

0 に答える 0