5 高可用性
この章の内容は次のとおりです。
自動サービス移行に関する問題
この項の内容は、次のとおりです。
Oracle User Messaging Service 12c (12.1.3)は自動サービス移行をサポートしない
高可用性を活用できるエンタープライズ・デプロイメントでは、Oracle BAMを構成して、サーバーに障害が発生した場合に特定のサービスをクラスタ内の別の管理対象サーバーに移行する自動サービス移行を使用することをお薦めしています。
ただし、Oracle BAMが恒常的に負荷の高いUser Messaging Service (UMS)メッセージを生成しているいくつかのシナリオでは、管理対象サーバーの障害によっていくつかのアラート・メッセージがUMSキューにスタックされたままになる可能性があります。これは、現在UMS 12c (12.1.3)は自動サービス移行をサポートしていないためです。
この問題を回避するには、障害が発生したOracle BAM管理対象サーバーを再起動してUMSキューのメッセージをリカバリします。BAMサーバーの障害発生後に適切な容量と負荷持続性を復旧させるには、次の2つのことを行う必要があります。
-
障害が発生した管理対象サーバーを再起動します。
-
移行されたサービスを元の管理対象サーバーにフェイルバックします。
詳細は、『Oracle SOA Suiteエンタープライズ・デプロイメント・ガイド』の自動サービス移行発生後のOracle BAMサービスのフェイルバックに関する項を参照してください。
BAMサーバーを再起動するとご使用のシステムのリカバリ時間目標(RTO)を満たさなくなる場合は、デフォルトのJMSプロバイダのかわりにアドバンスト・キューイング(AQ) JMSでUMSを構成できます。詳細は、『Oracle User Messaging Serviceの管理』の付録BにあるAQ JMSによるUser Messaging Serviceの構成に関する項を参照してください。
親トピック: 自動サービス移行に関する問題
Oracle BAMに関する問題
この項の内容は、次のとおりです。
スケールアップ後のOracle BAMの構成
ドメインの構成後、Oracle BAMに追加構成ステップが必要です。バージョン12.1.3の『Oracle Fusion Middleware高可用性ガイド』の高可用性用のBAMの構成に関する項を参照してください。
親トピック: Oracle BAMに関する問題
動的SOAクラスタを使用してBAMをドメインに追加する際にBAM JNDI外部プロバイダが作成されない
BAMをドメインに追加する際には、外部のJNDIプロバイダがいくつか作成されます。そのうちの1つBAMForeignJndiProviderは、SOAクラスタを指すように構成されます。
SOAクラスタが動的の場合、JNDIプロバイダは正しく指定されず、構成ウィザード中に外部JNDIプロバイダは作成されません。
BAMを追加するようにドメインを拡張した後、BAMForeignJNDIProviderおよびBPMForeignJNDIProviderの2つのJNDIプロバイダをドメインに作成する必要があります。
-
BAMForeignJNDIProviderを作成します。
-
Weblogicコンソールにログインします。「ドメイン」→「環境」→「サービス」→「外部JNDIプロバイダ」にナビゲートします。
-
「新規」をクリックします。
-
名前をBAMForeignJNDIProviderに変更し、「次へ」をクリックします。
-
ターゲットとしてSOAクラスタを選択します。「終了」をクリックします。外部JNDIプロバイダBAMForeignJNDIProviderが作成されます。
-
BAMForeignJNDIProviderリンクをクリックします。「一般」タブで次のプロパティを入力します。
初期コンテキスト・ファクトリ : weblogic.jndi.WLInitialContextFactory
プロバイダURL : BAMサーバーのURL例 t3://host1:9001,host2:9001
-
「保存」をクリックします。
-
「リンク」タブをクリックします。次の表に示すように、BAM永続サービスおよびBAM構成サービスのそれぞれに、リンクを2つ作成します。
-
SOAサーバーを再起動します(これは、必須です。再起動しないと、外部JNDIは動作せず、stackoverflowエラーが発生します)。
サービス ローカルJNDI名 リモートJNDI名 BAM永続サービス
OracleBeam#oracle.beam.common.client.service.persistence.BeamPersistence
OracleBeam#oracle.beam.common.client.service.persistence.BeamPersistence
BAM構成サービス
ConfigSession#oracle.beam.config.common.ConfigSession
ConfigSession#oracle.beam.config.common.ConfigSession
-
-
BPMForeignJNDIProviderを作成します。
-
WebLogicコンソールにログインします。ホームページで「外部JNDIプロバイダ」リンクをクリックします。
-
「新規」をクリックします。名前をBPMForeignJNDIProviderに変更し、「次へ」をクリックします。
-
ターゲットとしてBAMクラスタを選択します。「終了」をクリックします。外部JNDIプロバイダBPMForeignJNDIProviderが作成されます。
-
BPMForeignJNDIProviderリンクをクリックします。「一般」タブで次のプロパティを入力します。
初期コンテキスト・ファクトリ: weblogic.jndi.WLInitialContextFactory
プロバイダURL: BPMサーバーのURLの例t3://soahost1:8001,soahost2:8001など
-
「保存」をクリックします。
-
「リンク」タブをクリックします。次の表に示されているBPMサービスのそれぞれにリンクを作成します。
-
BAMサーバーを再起動します。
サービス ローカルJNDI名 リモートJNDI名 UserMetadataService
UserMetadataService
UserMetadataService
TaskEvidenceService
TaskEvidenceServiceBean
TaskEvidenceServiceBean
RuntimeConfigService
RuntimeConfigService
RuntimeConfigService
BPMProcessModelService
ejb/bpm/services/ProcessModelServiceBean
ejb/bpm/services/ProcessModelServiceBean
BPMProcessMetadataService
ejb/bpm/services/ProcessMetadataServiceBean
ejb/bpm/services/ProcessMetadataServiceBean
BPMProcessDashboardService
ejb/bpm/services/ProcessDashboardServiceBean
ejb/bpm/services/ProcessDashboardServiceBean
BPMProcessAnalyticsServiceBean
ejb/bpm/services/ProcessAnalyticsServiceBean
ejb/bpm/services/ProcessAnalyticsServiceBean
BPMInstanceQueryService
ejb/bpm/services/InstanceQueryServiceBean
ejb/bpm/services/InstanceQueryServiceBean
BPMInstanceManagementService
ejb/bpm/services/InstanceManagementServiceBean
ejb/bpm/services/InstanceManagementServiceBean
BPMUserAuthenticationService
ejb/bpm/services/BPMUserAuthenticationServiceBean
ejb/bpm/services/BPMUserAuthenticationServiceBean
TaskService
ejb/bpel/services/workflow/TaskServiceBean
ejb/bpel/services/workflow/TaskServiceBean
TaskMetadataService
ejb/bpel/services/workflow/TaskMetadataServiceBean
ejb/bpel/services/workflow/TaskMetadataServiceBean
BPMDataObjectSecurityService
BPMAnalytics#oracle.bpm.metrics.dataobject.security.IBPMDataObjectSecurityServiceRemote
BPMAnalytics#oracle.bpm.metrics.dataobject.security.IBPMDataObjectSecurityServiceRemote
-
親トピック: Oracle BAMに関する問題
OSB拡張機能後、UMSJMSJDBCSTORE_AUTO_2で誤った移行ポリシー
SOA動的クラスタを含むドメインにOSB動的クラスタを追加していて、UMSJMSJDBCSTORE_AUTO_1永続ストアのポリシーをすでにoffではないものに変更している場合、OSB_Cluster用に作成されたUMSJMSJDBCSTORE_AUTO_2は移行ポリシーを継承します。この継承により、OSB_Clusterにデフォルトでリース構成はないため構成エラーが発生し、管理サーバーは起動に失敗します。
管理サーバーは起動に失敗して、次のエラーを表示します。
weblogic.management.ManagementException: [Management:141266]Parsing failure in config.xml: The following failures occurred: -- An attempt was made to set the migration-policy of JDBCStore UMSJMSJDBCStore_auto_2 to "On-Failure". Before automatic migration of any kind can be used, the MigrationBasis must be set in the ClusterMBean.
この問題を修正するには、次に示すオプションに従います。
config.xmlを手動で修正します。ドメインのconfig.xml
を編集します。
-
OSBクラスタをターゲットとするUMSJMSJDBCSTORE_AUTO_2要素を検索します。
-
<migration-policy>をoffに設定します。
-
たとえば:
<jdbc-store> <name>UMSJMSJDBCStore_auto_2</name> .. <migration-policy>off</migration-policy> ..... </jdbc-store>
親トピック: 高可用性