8 クラスタ化MDBの移行とリカバリ

クラスタ化されたMDBの移行とリカバリについて学習します。Oracle WebLogic Serverは、クラスタ化されたJMS宛先の移行とリカバリをサポートします。障害の発生時に、異なるJVM上でJMS宛先をオンラインに復帰させることが可能です。サーバー・インスタンスでエラーが発生したとき、JMS宛先をクラスタ内の障害が発生したサーバーから使用可能なサーバー・インスタンスに自動的に移行するように、クラスタを設計できます。

その結果、移行したJMS宛先に関連付けられたMDBデプロイメントは自動的に更新されます。このような更新には、MDBプールの終了と再初期化および/またはJMS宛先への再接続が含まれます。

警告:

サービスの移行は、次の場合にはお薦めできません。このような場合、移行はメッセージの損失またはメッセージ処理の重複という結果になる可能性があります。

ケース1 次のすべてがtrueの場合。

  • MDBのtopicMessagesDistributionModeOne-Copy-Per-Serverです

  • MDBのdistributedDestinationConnectionLocalOnlyです

  • MDBがDurableです

  • 宛先が重複した分散トピックの論理名として構成されています

ケース2 次のすべてがtrueの場合。

  • MDBのtopicMessagesDistributionModeCompatibilityです

  • MDBがDurableです

  • 宛先が分散トピックの論理名として構成されています

ケース3 次のすべてがtrueの場合。

  • MDBのtopicMessagesDistributionModeOne-Copy-Per-Applicationです

  • MDBのdistributedDestinationConnectionLocalOnlyです

  • 移行ターゲット・サーバーにMDBインスタンスが含まれていません。この問題を避けるためのベスト・プラクティスは、MDBデプロイメントをクラスタ全体にターゲット指定することです。

トピック・メッセージ処理の詳細は、JMSトピックを使用したMDBの構成とデプロイを参照してください。

ノート:

移行可能サービスは、クラスタ化サーバーを使用する場合にのみ機能します。WebLogic JMS宛先は、クラスタ内の別のサーバーに移行できますが、異なるクラスタには移行できません。

WebLogic JMS宛先が別のサーバーに移行した後、MDBデプロイメントまたは「接続ポーラー」は移行されたJMS宛先に再接続し、JMS宛先からメッセージをもう一度受信を開始します。MDBは、必要に応じてプールを作成して終了することも可能です。

MDBは、クラスタまたは個別のOracle WebLogic Serverインスタンスにターゲット指定できますが、移行可能ターゲットには指定できません。MDBが同一のクラスタで移行可能な宛先として稼働している場合、MDBのソース宛先がホストされる可能性がある場所にMDBがデプロイされていることを確認する必要があります。それは、次の2つの方法で行うことができます。

  • MDBを均一にクラスタにデプロイします。(推奨)

  • 宛先をホストするJMSサーバーによって使用されるconfig.xmlファイル内の移行可能ターゲットの候補リストに存在するすべてのOracle WebLogic ServerインスタンスがMDBのターゲット・セットに含まれていることを確認します。移行可能ターゲットの構成の詳細は、『Oracle WebLogic Serverクラスタの管理』クラスタ内の移行可能ターゲット・サーバーの理解に関する項を参照してください。

移行可能サービスの実装手順、およびクラスタ化されたアーキテクチャのWebLogic JMSの移行サービスおよび回復サービスの背景情報については、『Oracle WebLogic Server JMSリソースの管理』クラスタ内での移行可能サービスとしてのJMSサービスに関する項を参照してください。