Oracle Fusion Middleware Oracle SOA Suiteエンタープライズ・デプロイメント・ガイド 11g リリース1(11.1.1) B55899-05 |
|
前 |
次 |
この章の項目は次のとおりです。
この項では、BPELやメディエータなどのサービス・エンジンの失敗したインスタンスの有無を調べてリカバリする方法について説明します。
注意: この手順でSQL文を実行するときは、データベースにsoainfra スキーマとして接続してください。 |
リカバリ可能インスタンスの有無を調べるには、データベース内で次のSQL文を実行します。
// Find recoverable activities SQL> select * from work_item where state = 1 and execution_type != 1; // Find recoverable invoke messages SQL> select * from dlv_message where dlv_type = 1 and state = 0; // Find recoverable callback messages SQL> select * from dlv_message where dlv_type = 2 and (state = 0 or state = 1);
失敗したBPELインスタンスをリカバリするには:
Enterprise Managerで、「Farm_<domain_name>」を選択し、「SOA」を展開し、「soa-infra (server_soa)」を右クリックして、「サービス・エンジン」→「BPEL」→「リカバリ」を選択します。
失敗したメディエータ・コンポジットをリカバリするには:
Enterprise Managerで、「Farm_<domain_name>」を選択し、「SOA」を展開し、「soa-infra (server_soa)」を右クリックして、「サービス・エンジン」→「メディエータ」→「フォルト」を選択します。
拒否メッセージの有無を調べるには:
SQL> select * from rejected_message
インスタンス・トラッキング表のデータを調べるには、次のSQL問合せを実行します。
SQL> select ID, STATE from COMPOSITE_INSTANCE where CREATED_TIME > datetime
datetimeには、問合せを絞り込むための日時を指定します。例:
'04-NOV-09 03.20.52.902000000 PM'
アダプタからのデータは、まずCOMPOSITE_INSTANCE
表に入力されます。
アダプタからのデータがアダプタBCに公開されると、STATEが0
のエントリ1個がCOMPOSITE_INSTANCE
表に挿入されます。そのメッセージの処理が完了すると、STATEは1
になります。エラーの場合は、STATE >= 2
になります。
Webサービスに対するDoS攻撃や再帰的ノード攻撃を防ぐための構成は、SCABindingProperties.xml
およびoracle-webservices.xml
で行います。
SCABindingProperties.xmlの構成
DoS攻撃や再帰的ノード攻撃を防ぐには、エンベロープ・サイズおよびネスト制限を例12-1のようにSCABBindingProperties.xml
で設定します。
例12-1 SCABBindingProperties.xmlでのエンベロープ・サイズとネスト制限の構成
<bindingType type="ws"> <serviceBinding> <bindingProperty> <name>request-envelope-max-kilobytes</name> <type>xs:integer</type> <defaultValue>-1</defaultValue> </bindingProperty> <bindingProperty> <name>request-envelope-nest-level</name> <type>xs:integer</type> <defaultValue>-1</defaultValue> </bindingProperty> </serviceBinding>
oracle-webservices.xmlの構成
スタンドアロンのWebサービスについては、エンベロープ・サイズとネスト制限をoracle-webservices.xml
で構成します。例:
<request-envelope-limits kilobytes="4" nest-level="6" />
注意: エンベロープ・サイズとネスト制限の値が極端に大きい場合や、値がまったく設定されていない場合は、DoS攻撃を受けるおそれがあります。 |
エンタープライズ・デプロイメント・ガイドで説明されている環境でFusion Order Demo(FOD)アプリケーションを実行するには、FODのcreateJMSResources.seed
ファイル(./bin/templates
にある)を更新する必要があります。このファイルに記述されているシステム・リソース名SOAJMSModuleをSOAJMSModuleUDDSに置き換えてください。これは、FulFillment Mediatorデモ・アプリケーションに必要なJMSアーティファクトを作成するANTタスクを実行する前に行う必要があります。
BAMによる、Oracle RACフェイルオーバー後の処理中トランザクションの再試行回数を変更するには、MaxDBNodeFailoverRetries
設定をデフォルトの5回から別の値に変更します。ただし、UseDBFailover
およびMaxDBNodeFailoverRetries
の設定はデフォルトのままにしておくことをお薦めします。BAMのOracle RACフェイルオーバー再試行サポートを無効化するには、UseDBFailover
をfalseに設定します。(この設定のデフォルト値はtrue)。これらの設定の使用法の詳細は、Oracle Fusion Middleware Oracle SOA Suite管理者ガイドのOracle BAM構成プロパティ・リファレンスに関する項を参照してください。
SOAクラスタ内のSOAインフラストラクチャ・アプリケーションまたはリソース・アダプタを再デプロイするときは、デプロイメント・プランとアプリケーション・ビットに、クラスタ内の全サーバーからアクセスできる必要があります。SOAのアプリケーションおよびリソース・アダプタは、nostageデプロイメント・モードを使用してインストールされます。nostageデプロイメント・モードを選択した場合、管理サーバーはアーカイブ・ファイルをソースの場所からコピーしないため、各サーバーが同じデプロイメント・プランにアクセスできるようにしておく必要があります。デプロイメント・プランおよびアプリケーションの場所として、ORACLE_BASE/admin/<domain_name>/<cluster_name>/dp
を指定します。これらは、エンタープライズ・デプロイメント・トポロジ内の全ノードからアクセスできるようにしておく必要があります(第2.3項「共有記憶域と推奨ディレクトリ構造」で推奨されています)。