Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド 11g リリース1 (11.1.1.4.0) B55916-03 |
|
前 |
次 |
この章では、BPELプロセス・サービス・コンポーネントとサービス・エンジンの管理方法について説明します。
この章の内容は、次のとおりです。
詳細は、次の各項を参照してください。
リカバリ可能として識別されたBPELプロセス・サービス・コンポーネントを監視し、個別のフォルト・リカバリと一括のフォルト・リカバリを実行できます。リカバリ可能として識別されたBPELプロセス・フォルトについては、(fault-bindings.xml
ファイルを介して)フォルトにバインドされ、アクションora-human-intervention
をトリガーするフォルト・ポリシーが定義されている必要があります。ただし、フォルト・ポリシーが定義されていない場合、フォルトは、リカバリ可能またはリカバリ不可のフォルトとして通常どおり処理されます。
BPELプロセス・サービス・コンポーネントのフォルトをリカバリする手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 |
---|---|
|
|
「コンポーネント・メトリック」セクションで、BPELプロセス・サービス・コンポーネントを選択します。
「フォルト」をクリックします。
「フォルト」ページに、次の詳細が表示されます。
特定のフォルトを検索するためのユーティリティ。基準を指定して「検索」をクリックします。詳細は、「ヘルプ」アイコンをクリックしてください。
サービス・コンポーネントで発生したフォルト。フォルトID、エラー・メッセージ、フォルトのリカバリが可能かどうか、フォルトの発生時間、サービス・コンポーネントのインスタンスID、フォルトが発生したアクティビティ、およびフォルトが記述されているログ・ファイルへのリンクが表示されます。
リカバリが可能として識別されたBPELプロセス・サービス・コンポーネントのフォルトはリカバリできます。
次のいずれかの方法を使用して、リカバリ対象のフォルトを選択します。BPELプロセス・サービス・コンポーネント・レベルでフォルト・リカバリ対象を選択することは、SOAインフラストラクチャ・レベル、SOAコンポジット・アプリケーション・レベルおよびOracle Mediatorサービス・コンポーネント・レベルで選択するのと同じです。
対象 | 操作 |
---|---|
単一フォルト・リカバリ | 単一フォルト・リカバリの対象を選択するには、次の3つの方法があります。
|
一括フォルト・リカバリ | 一括フォルト・リカバリの対象を選択するには、次の2つの方法があります。
|
すべてのフォルトのリカバリ |
|
注意: ほとんどの場合、フォルト・ポリシーのアクションは自動的に実行されます。ただし、アクションora-human-intervention を使用するフォルト・ポリシーを定義した場合は例外です。このアクションによって、Oracle Enterprise Manager Fusion Middleware Controlからリカバリできるリカバリ可能なフォルトが作成されます。 |
「リカバリ・アクション」リストからアクションを選択します。
アクション | 説明 |
---|---|
再試行 | インスタンスを直接再試行します。このリカバリ・アクションを使用するシナリオ例は、ネットワーク・エラーのためにサービス・プロバイダにアクセスできないことが原因でフォルトが発生した場合の例です。ネットワーク・エラーは現在解決しています。 |
中断 | インスタンス全体を終了します。 |
リプレイ | フォルトが発生したスコープ・アクティビティ全体を再度リプレイします。 |
再スロー | 現在のフォルトを再スローします。フォルトの処理に、BPELフォルト・ハンドラ(catchブランチ)が使用されます。デフォルトでは、再スロー・フォルト・ポリシーが明示的に指定されていない場合、すべての例外がフォルト管理フレームワークによって捕捉されます。 |
続行 | フォルトを無視して処理を続行します(フォルト・アクティビティには成功のマークが付けられます)。 |
フォルト表内から次の追加監視タスクを実行します。
「リカバリ可能なフォルトのみ表示」チェック・ボックスを選択すると、リカバリ可能なフォルトのみ表示されます。
「フォルト・タイプ」リストから、すべてのフォルト、システム・フォルト、ビジネス・フォルトまたはOracle Web Services Manager(OWSM)フォルトを選択して、フォルト表に表示します。これらのフォルト・タイプの詳細は、「ヘルプ」アイコンをクリックしてください。
「ビュー」リストから、「列」→「フォルトID」の順に選択し、各エラー・メッセージのフォルトIDを表示します。フォルトIDは自動的に生成され、フォルトを一意に識別します。フォルトIDは、エラー・メッセージをクリックしたときも表示されます。
「コンポーネント・インスタンスID」列で、特定のサービス・コンポーネントIDをクリックし、インスタンスに関するタスク詳細(たとえば、タスクの現在の状態)にアクセスします。拒否メッセージにはコンポーネント・インスタンスIDがないことに注意してください。
「ログ」列で、リンクをクリックし、「ログ・メッセージ」ページにアクセスします。このページには、そのインスタンスに固有のメッセージがフィルタされて表示されます。
詳細は、次のドキュメントを参照してください。
『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』
ログ・ファイルの表示および検索については、『Oracle Fusion Middleware管理者ガイド』を参照してください
現在デプロイされているSOAコンポジット・アプリケーションのBPELプロセス・サービス・コンポーネントとの間で、ポリシーをアタッチおよびデタッチできます。ポリシーでは、メッセージ配信に対してセキュリティが適用されます。Oracle Fusion Middlewareでは、ポリシー・ベースのモデルを使用してWebサービスを管理します。
注意: ポリシーをアタッチするには、その前に、使用可能なポリシーの定義と使用環境で使用するポリシーの詳細について、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。 |
BPELプロセス・サービス・コンポーネント・ポリシーを管理する手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 |
---|---|
|
|
「コンポーネント・メトリック」セクションで、BPELプロセス・サービス・コンポーネントを選択します。
「ポリシー」をクリックします。
「ポリシー」ページを使用すると、BPELプロセス・サービス・コンポーネントとの間でポリシーをアタッチおよびデタッチできます。「ポリシー」セクションには、アタッチされたポリシーの名前、切替え可能なポリシー参照ステータス(有効または無効)、カテゴリ(「管理」、「信頼できるメッセージング」、「MTOMアタッチメント」、「セキュリティ」または「WSアドレス」)、違反、およびSOAインフラストラクチャの最後の再起動以降の認証、認可、機密性および整合性の失敗が表示されます。
「アタッチ/デタッチ」をクリックします。
複数のコンポーネントが使用可能な場合は、アタッチまたはデタッチを実行するサービスまたはコンポーネントを選択するプロンプトが表示されます。
ポリシーのアタッチ先またはデタッチ先のサービスまたはコンポーネントを選択します。
ポリシーをアタッチまたはデタッチするためのダイアログが起動します。
「アタッチされたポリシー」セクションに、現在アタッチされているポリシーが表示されます。「使用可能なポリシー」セクションには、アタッチ可能な追加のポリシーが表示されます。
使用環境に適したポリシーを選択してアタッチします。
「アタッチ」をクリックします。
ポリシーのアタッチを終了した後は、「検証」をクリックします。
エラー・メッセージが表示された場合は、検証エラーがなくなるまで必要な修正を行います。
「OK」をクリックします。
アタッチしたポリシーがポリシー表に表示されます。
詳細は、次のドキュメントを参照してください。
ポリシーのアタッチで表示されるダイアログについては、第8.8項「SOAコンポジット・アプリケーションのポリシーの管理」を参照してください。
使用可能なポリシーの定義と使用環境で使用するポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。
BPELプロセス・サービス・エンジンで発生し、リカバリ可能として識別されたフォルトを監視し、個別リカバリと一括リカバリを実行できます。BPELプロセス・サービス・エンジンでは、すべてのBPELプロセス・サービス・コンポーネントのフォルトを、属しているSOAコンポジット・アプリケーション・インスタンスに関係なく表示できます。リカバリ可能として識別されたBPELプロセス・フォルトについては、(fault-bindings.xml
ファイルを介して)フォルトにバインドされ、アクションora-human-intervention
をトリガーするフォルト・ポリシーが定義されている必要があります。ただし、フォルト・ポリシーが定義されていない場合、フォルトは、リカバリ可能またはリカバリ不可のフォルトとして通常どおり処理されます。
BPELプロセス・サービス・エンジンのフォルトをリカバリする手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 |
---|---|
|
|
「フォルト」をクリックします。
「フォルト」ページに、次の詳細が表示されます。
特定のフォルトを検索するためのユーティリティ。基準を指定して「検索」をクリックします。詳細は、「ヘルプ」アイコンをクリックしてください。
サービス・エンジンで発生したフォルト。フォルトID、エラー・メッセージ、フォルトのリカバリが可能かどうか、フォルトの発生時間、フォルトが発生したSOAコンポジット・アプリケーションとサービス・コンポーネント、およびサービス・コンポーネント・インスタンスIDが表示されます。
リカバリが可能として識別されたBPELプロセス・サービス・エンジンのフォルトはリカバリできます。
次のいずれかのオプションを使用して、リカバリ対象のフォルトを選択します。SOAインフラストラクチャ・レベル、SOAコンポジット・アプリケーション・レベルおよびOracle Mediatorサービス・コンポーネント・レベルでのフォルト・リカバリと同様に、単一フォルト・リカバリ、一括フォルト・リカバリ、およびすべてのフォルトのリカバリを実行できます。フォルトを選択してこれらのタイプのリカバリを実行する手順については、第13.1項「BPELプロセス・サービス・コンポーネントのフォルトのリカバリ」のステップ4を参照してください。
注意: ほとんどの場合、フォルト・ポリシーのアクションは自動的に実行されます。ただし、アクションora-human-intervention を使用するフォルト・ポリシーを定義した場合は例外です。このアクションによって、Oracle Enterprise Manager Fusion Middleware Controlからリカバリできるリカバリ可能なフォルトが作成されます。 |
「リカバリ・アクション」リストからアクションを選択します。
アクション | 説明 |
---|---|
再試行 | 再試行成功時アクションを指定するオプション付きでインスタンスを再試行します。このリカバリ・アクションを使用するシナリオ例は、ネットワーク・エラーのためにサービス・プロバイダにアクセスできないことが原因でフォルトが発生した場合の例です。ネットワーク・エラーは現在解決しています。 |
中断 | インスタンス全体を終了します。 |
リプレイ | フォルトが発生したスコープ・アクティビティ全体を再度リプレイします。 |
再スロー | 現在のフォルトを再スローします。フォルトの処理に、BPELフォルト・ハンドラ(catchブランチ)が使用されます。デフォルトでは、再スロー・フォルト・ポリシーが明示的に指定されていない場合、すべての例外がフォルト管理フレームワークによって捕捉されます。 |
続行 | フォルトを無視して処理を続行します(フォルト・アクティビティには成功のマークが付けられます)。 |
フォルト表内から次の追加監視タスクを実行します。
「リカバリ可能なフォルトのみ表示」チェック・ボックスを選択すると、リカバリ可能なフォルトのみ表示されます。
「フォルト・タイプ」リストから、すべてのフォルト、システム・フォルト、ビジネス・フォルトまたはOWSMフォルトを選択して、フォルト表に表示します。これらのフォルト・タイプの詳細は、「ヘルプ」アイコンをクリックしてください。
「ビュー」リストから、「列」→「フォルトID」の順に選択し、各エラー・メッセージのフォルトIDを表示します。フォルトIDは自動的に生成され、フォルトを一意に識別します。フォルトIDは、エラー・メッセージをクリックしたときも表示されます。
「コンポジット」列で、特定のSOAコンポジット・アプリケーションをクリックし、そのホーム・ページにアクセスします。
「コンポーネント」列で、特定のサービス・コンポーネントをクリックし、そのホーム・ページにアクセスします。
「コンポーネント・インスタンスID」列で、特定のサービス・コンポーネントIDをクリックし、インスタンスに関するタスク詳細(たとえば、タスクの現在の状態)にアクセスします。拒否メッセージにはコンポーネント・インスタンスIDがないことに注意してください。
詳細は、次の各項を参照してください。
第1.4.3.1項「フォルト・リカバリの概要」(フォルトの概念的な詳細情報)
プロセス・インスタンスのトランザクション・ロールバックによって配信されなかった起動メッセージまたはコールバック・メッセージのリカバリは、手動で実行できます。起動メッセージのリカバリは、非同期のBPELプロセスにのみ適用されます。同期BPELプロセスは、エラーをコール側クライアントに返すため、「リカバリ」ページからはリカバリできません。リカバリ可能アクティビティは失敗したアクティビティですが、リカバリが可能です。たとえば、非同期BPELプロセスを起動するファイル・アダプタを使用しているときに、システムがインスタンスの処理中にクラッシュした場合は、すべてのメッセージ・レコードが確実にリカバリされるように、サーバーが再起動したときに手動でリカバリを実行できます。
BPELプロセス・サービス・エンジンによる自動リカバリの試行に失敗したメッセージを管理することもできます。これらのメッセージの自動リカバリが複数回試行されないようにするには、これらのメッセージを消耗済状態にします。その後、これらのメッセージに対して次のいずれかのアクションを実行できます。
自動リカバリ・キューに戻す
リカバリを試行しない
リカバリを即時に試行する
たとえば、データベース・アダプタに書き込むBPELプロセスがあるとします。データベースがダウンしている場合、これらのメッセージはリカバリ・キューに送信されます。これらのメッセージの自動リカバリは、データベースがダウンしている間は失敗します。これらのメッセージには、自動リカバリが再び試行されないように消耗済状態のマークが付けられます。データベースの実行が再び開始されたら、自動リカバリが再び試行されるように、これらのメッセージをリセットする(自動リカバリ・キューに戻す)ことができます。
BPELプロセス・サービス・エンジンのメッセージをリカバリする手順は、次のとおりです。
次のいずれかのオプションを使用して、このページにアクセスします。
「SOAインフラストラクチャ」メニューからアクセスする手順 | ナビゲータの「SOA」フォルダからアクセスする手順 |
---|---|
|
|
「リカバリ」をクリックします。
「リカバリ」ページに、次の詳細が表示されます。
「アラーム表のリフレッシュ」ボタンは、データベース内の消失したインメモリー・クォーツ・スケジュール済ジョブを再同期化する場合に選択します。たとえば、waitアクティビティ、またはpickアクティビティのonAlarmブランチでタイマーが起動され、そのトランザクションがロールバックされたと仮定します。データベースのwaitアクティビティまたはonAlarmブランチにあるBPELインスタンスを使用して、これらのジョブを再同期化できます。
特定のメッセージの失敗を検索するためのユーティリティ。基準を指定して「検索」をクリックします。詳細は、「ヘルプ」アイコンをクリックしてください。
サービス・エンジンでのメッセージの失敗。対話ID、メッセージの失敗のリカバリが可能かどうか、サービス・コンポーネント、失敗が発生したコンポジット・アプリケーション、およびフォルトの発生時間が表示されます。状態に応じて、これらのメッセージをただちにリカバリするか、これらのメッセージを取り消すか、または自動リカバリのためにこれらのメッセージをリセットできます。
注意:
|
この表でフォルトを選択します。
次のいずれかのオプションを選択します。
アクション | 説明 |
---|---|
リカバリ | フォルトが発生したメッセージを再試行します。
消耗済状態のメッセージを選択してこのボタンをクリックすると、メッセージのリカバリが即時に試行されます。このリカバリの試行も失敗となった場合、メッセージは消耗済状態に戻ります。メッセージを選択して「リセット」をクリックし、そのメッセージを自動リカバリ・キューに戻す必要があります。 関連する例外エラーが原因で、非同期BPELプロセスでトランザクション・ロールバック・シナリオが発生した場合は、最後のデハイドレーション・アクティビティにロールバックします。これが新しいインスタンスであり、かつ最初のデハイドレーション・アクティビティが受信アクティビティであった場合、BPELプロセス・サービス・エンジンはリカバリ可能な呼出しを作成します。呼出しをリカバリするために「リカバリ」をクリックすると、サービス・エンジンによって新しいインスタンスが作成されます。このインスタンスは、例外エラーなしで実行が完了する可能性があります。ただし、フォルトとして識別された古いインスタンスは引き続き表示されます。 |
取消としてマーク | 今後配信されないようにメッセージにマークする場合に選択します。消耗済状態のメッセージを選択してこのボタンをクリックすると、そのメッセージのリカバリは試行されなくなります。 |
リセット | 消耗済メッセージを未配信状態にリセットする場合に選択します。これにより、メッセージは自動リカバリ・キューに戻されます。消耗済状態で表示されたメッセージは、メッセージ表に表示されなくなります。「メッセージの状態」リストで「未配信」を選択して「検索」をクリックすると、これらのメッセージが表示されます。また、消耗済状態のコールバック・メッセージを解決状態にリセットし、かつ、引き続きリカバリ可能にすることもできます。 |
リカバリのためにメッセージが送信されると、そのアクションがBPELプロセス・サービス・エンジンによって完了するのに時間がかかる場合があります。通常、この時間は数秒以内となります。この間、メッセージは「リカバリ」ページに表示されたままになります。この期間内に、同じメッセージのリカバリをもう1回実行しても、無視されます。最新のリカバリ・ステータスを受信するには、ページを数秒ごとに更新します。
注意: ora-retry アクションを使用してBPELプロセスにフォルト・ポリシーを定義した場合は、フォルトが発生すると、BPELプロセスではフォルトからのリカバリをretryCount パラメータに指定した回数試行します。この期間の後、プロセスは実行中の状態のままになります。完了していないプロセスのアクティビティ(呼出し、受信など)のステータスは、保留中の手動リカバリとして表示されます。これは予期されている動作です。 |
起動メッセージおよびコールバック・メッセージのリカバリを試行する最大回数を構成する方法の詳細は、第11.3項「起動メッセージおよびコールバック・メッセージの自動リカバリ試行の構成」を参照してください。