Oracle Application Server 高可用性ガイド 10g リリース2(10.1.2) B15817-04 |
|
この章では、Oracle Application Server中間層の構成変更および継続的なメンテナンスを行う方法について説明します。
この章の項目は次のとおりです。
Oracle Application Serverでは、Oracle Application Server中間層における高可用性をサポートするために、様々な構成オプションが用意されています。
この項の項目は次のとおりです。
DCM-Managed OracleAS Clusterを管理する場合、Application Server Controlコンソールまたはdcmctl
コマンドのいずれかを使用して、1つのOracle Application Serverインスタンスの共通の構成情報を管理および構成します。その後、DCMがDCM-Managed OracleAS Cluster内のすべてのOracle Application Serverインスタンスに共通する構成情報を伝播およびレプリケートします。そのクラスタで共通の構成情報はクラスタレベルの構成といいます。
DCM-Managed OracleAS Cluster内の各Oracle Application Serverインスタンスの基本構成は同じです。基本構成には、クラスタレベルの構成は含まれていますが、インスタンス固有のパラメータは含まれていません。
この項では、DCM-Managed OracleAS Clusterを作成および使用する方法について説明します。この項の項目は次のとおりです。
OracleAS Farmとは、Oracle Application Serverインスタンスの集合です。OracleAS Farmの中では、Application Server Controlコンソールを起動すると、全アプリケーション・サーバー・インスタンスのリストが表示されます。Application Server Controlコンソールのファーム・ホーム・ページの「スタンドアロン・インスタンス」領域に表示されるアプリケーション・サーバー・インスタンスは、DCM-Managed OracleAS Clusterに追加できます。
各Oracle Application Server Farmでは、ファイルベース・リポジトリまたはデータベースベース・リポジトリのいずれかが使用されます。アプリケーション・サーバー・インスタンスをOracleAS Farmに関連付ける手順は、リポジトリのタイプによって異なります。
この項の項目は次のとおりです。
Oracle Application Serverのインストール時に関連付けを行っていない場合は、ここで説明する手順に従って、アプリケーション・サーバー・インスタンスをOracleAS Database-based Farmに関連付けることができます。
OracleAS Database-based Farmの場合は、次の手順に従ってOracle Application ServerインスタンスをOracleAS Farmに追加します。
この項の項目は次のとおりです。
Oracle Application Serverインストーラを実行してOracle Application Serverをインストールするときに、OracleAS File-based Farmを作成することができます。インストール時にOracleAS File-based Farmを作成しなかった場合は、次の手順でOracleAS File-based Farmを作成します。
Application Server Controlコンソールのホーム・ページを開くと、OC4JインスタンスとOracle HTTP Serverが停止していることが表示され、ホーム・ページの「一般」領域には「ファーム」リンクが表示されています。
スタンドアロンのアプリケーション・サーバー・インスタンスをOracleAS File-based Farmに追加するには、次の手順を実行します。
ウィザードが完了すると、Application Server Controlコンソールの「インフラストラクチャ」ページが再び表示されます。
Application Server Controlコンソールのファーム・ホーム・ページを使用して、新しいDCM-Managed OracleAS Clusterを作成できます。
ファーム・ホーム・ページから、次の手順を実行して、新規のDCM-Managed OracleAS Clusterを作成します。
確認のページが表示されます。
ファーム・ホーム・ページの「クラスタ」領域にクラスタが表示されます。新規のクラスタは空であり、Oracle Application Serverのインスタンスを含んでいません。ファーム・ホーム・ページの「クラスタへの結合」ボタンを使用して、インスタンスをクラスタに追加します。
DCM-Managed OracleAS ClusterにOracle Application Serverインスタンスを追加するには、次の手順を実行します。
図4-6に、「クラスタへの結合」ページを示します。
クラスタに追加する他のスタンドアロンのインスタンスについても、それぞれこの手順を繰り返します。
DCM-Managed OracleAS ClusterにOracle Application Serverインスタンスを追加するときは、次の点に注意してください。
dcmctl
joinCluster
コマンドを使用します。
dcmctl
isClusterable
コマンドを使用します。クラスタリングできないインスタンスをDCM-Managed OracleAS Clusterに追加しようとすると、Application Server Controlコンソールからエラーが返されます。
クラスタからOracle Application Serverインスタンスを削除するには、次の手順を実行します。
削除するOracle Application Serverインスタンスごとに、この手順を繰り返します。
DCM-Managed OracleAS ClusterからOracle Application Serverインスタンスを削除するときは、次の点に注意してください。
dcmctl
leaveCluster
コマンドを起動するたびに、Oracle Application Serverインスタンスが1つずつクラスタから削除されます。
図4-7に、cluster1とcluster2の2つのクラスタが表示されたApplication Server Controlコンソールのファーム・ホーム・ページを示します。
表4-1は、ファーム・ホーム・ページで使用可能なクラスタ制御オプションのリストです。
HttpSessionレプリケーション機能は、Oracle Application Serverユーザーの間では一般的となっています。OracleAS Cluster(OC4J)が、クラスタ内のインスタンスにHttpSession情報をレプリケートし、アプリケーション・ユーザーに透過的にノード間でリクエストをフェイルオーバーします。ただし、この高可用性機能は、アプリケーションの通常のライフサイクルの影響を受けます。アプリケーションを再デプロイするたびに、デプロイ処理によってクラスタ内のインスタンスでアプリケーション・クラスがリロードされ、HttpSessionが失われます。最新バージョンのアプリケーションに含まれているロジックによっては、複数のデプロイ間のセッション情報に一貫性がなくなる場合があります。アプリケーション内のコードによっては、セッション情報が以前のデプロイとは異なる方法で処理される場合があります。ただし、多くの場合、アプリケーションのコードに変更があっても、ビジネス・ロジック内でのセッション情報の処理方法には影響しません。これに加え、また情報が重大である場合もあるため、複数のデプロイを使用するユーザー間でセッションに追加されたデータを保守した方がよい場合があります。
この項では、OracleAS Clusterを使用して、新規バージョンのアプリケーションをデプロイしてもHttpSession情報が失われないようにする方法について説明します。この手順では、クラスタを構成する異なるインスタンス内のアプリケーションを連続して(「ローリング」)更新します。
ファイルベースまたはデータベースベースのリポジトリを使用して管理されているOracleAS Cluster(DCM管理のクラスタともいう)を使用するメリットの1つは、DCMを使用してクラスタを作成すると、クラスタ内のすべてのインスタンスに構成が自動的に伝播されることです。これにより、単一の手順でクラスタ内のすべてのOracle Application Serverインスタンスにアプリケーションをデプロイできます。DCMは、EARファイルまたはWARファイルを伝播し、クラスタ内のすべてのノードに構成をレプリケートします。
この構成レプリケーション機能は、しばしばクラスタの「実行時の状態」のレプリケーションと取り違えられています。構成のレプリケーションはDCMを使用して実現されます。J2EEデプロイ内のHttpSession状態のレプリケーションは、OracleAS Cluster(OC4J)のIPマルチキャストおよびシリアライズのメカニズムを使用して実現されます。
Application Server Controlを使用してOracleAS Clusterを作成すると、DCMを使用した構成のレプリケーションと、クラスタ内のOracle Application Serverインスタンスに「常駐」するOC4Jコンテナの間のHttpSessionレプリケーションの、両方のメカニズムが実行されます。ただし、セッションのレプリケーションは、構成のレプリケーションとは全く別のものです。複数のOC4Jインスタンスの間でHttpSessionオブジェクトのレプリケーションを有効にするために必要な構成パラメータは次の3つだけです。
これに基づいて、同じ構成グループに所属することなく、「HttpSessionレプリケーション・グループ」に参加できます。(OracleAS Clusterにアプリケーションを再デプロイしたときに状態を維持することを目的とする)この項で説明する手順は、これら2つの概念を分離することに基づいています。この手順は、手動で構成されているOracleAS Cluster(OC4J)には該当しません。このタイプのクラスタでは、デプロイはノードごとに行われます。これらの場合、レプリケーションを実行する十分な時間(クラスタ内の各インスタンスのデプロイ間隔)があるかぎり、セッションは自動的に維持されます。
この項で説明する手順は、次の場合を想定しています。
1つのOracleAS Farmに、1つのクラスタ(クラスタ1)として構成されている2つのOracle Application Serverインスタンス(I1とI2)があり、これらのインスタンスの状態は同じ(つまり、同じOC4Jアイランド内で構成されている)です。このクラスタは、ファイルベースまたはデータベースベースのいずれかのリポジトリを使用して管理されています。
1つのアプリケーションがこのクラスタにデプロイされています。このアプリケーションは1つのOC4Jインスタンス(OC4J_Clustered)にデプロイされています。アプリケーションはすでにデプロイ済で、バージョンは0です。なんらかの状態がHttpSessionに格納されています。目標は、状態を維持しつつ、新規バージョンのアプリケーション(バージョン1)をデプロイすることです。Oracle Application Serverインスタンス内の2つのOracle HTTP Serverは、外部のロード・バランサ(通常はOracleAS Web Cacheまたはサード・パーティのハードウェアのロード・バランサ)でロード・バランスされています。
図4-8に、この使用例の最初の状態を示します。
クラスタからI2を削除し、I2のOC4J_Clusteredコンポーネントを停止しましたが、この時点ではレプリケーションの構成は同じままで、2つのインスタンスは同じIPマルチキャスト・グループ内に引き続き存在します。
図4-9に、この時点での構成を示します。
図4-13に、この時点での状態を示します。
これで、2つのノードに新規バージョンのアプリケーションがデプロイされました。HttpSession情報は、両方のデプロイで維持されています。この処理で失われた状態はありません。
前述の手順を自動化するには、関係する各インスタンスにDCMスクリプトを使用します。次のスクリプトは実装例であり、次のパラメータを使用してカスタマイズできます。
appname: デプロイおよび更新対象のアプリケーション名
app.ear: デプロイする新規EARファイルのフルパス
instance_n: 最初に更新されるOracle Application Serverインスタンスの名前
last_instance: 最後に更新されるOracle Application Serverインスタンスの名前
cluster1: アプリケーションがもともとデプロイされていたクラスタの名前
cluster2: セッションの移行に使用されるクラスタの名前
stop -i instance_n -ct OC4J stop -i instance_n -co HTTP_Server -ct HTTP_Server leaveCluster -i instance_n undeployApplication -a appname deployApplication -f app.ear -a appname joinCluster -cl cluster2 -i instance_n start -i instance_n
stop -i last_instance leaveCluster -i last_instance joinCluster -cl cluster2 -i last_instance start -i instance_1
この手順では、最後のインスタンスより前に更新されるクラスタ内のインスタンスに、まずdcmscript_instance_n
を実行します。最後のインスタンスを除くすべてのインスタンスにこれを実行した後に、最後のインスタンスからdcmscript_last_instance
を実行します。これらのスクリプトの実行方法は次のとおりです。
> cd ORACLE_HOME/dcm/bin > dcmctl shell -f filename
ここでは、filenameは、DCMスクリプトの名前(dcmscript_instance_n
またはdcmscript_last_instance
)です。
今後ステートフルにデプロイするには、元のクラスタとセッション所有者のクラスタの間でロールを切り替える必要があります。これを行うには、スクリプトをさらに作成します。
stop -i instance_n -ct OC4J stop -i instance_n -co HTTP_Server -ct HTTP_Server leaveCluster -i instance_n undeployApplication -a appname deployApplication -f app.ear -a appname joinCluster -cl cluster1 -i instance_n start -i instance_n
stop -i last_instance leaveCluster -i last_instance joinCluster -cl cluster1 -i last_instance start -i instance_1
次回の状態を含めたデプロイでは、最初のスクリプト・セットを実行する必要があり、その次のデプロイではodd_run
スクリプトを使用し、以下同様になります。
クラスタに3つ以上のインスタンスが含まれている場合は、前述の例でI1を移動した場合と同じ方法で、2つのクラスタ間でインスタンスを移動する必要があります(クラスタ内のインスタンスごとに、手順6〜9を実行する必要があります)。
後続のデプロイでは、クラスタ1とクラスタ2のロールは切り替わります。手順に従って最後のインスタンスを移動した後は、今後使用するために空のクラスタを残してください。
新規バージョンのアプリケーションによって、セッションに追加されるオブジェクトの署名が変更される場合(オブジェクトに新規の属性が追加されるなど)は、クラスタに関連しているクラスの新規バージョンがコンテナに自動的にロードされます。つまり、署名が変更された場合、セッションは失われます。再デプロイに含まれる、サーブレット、JSPおよびクラスに対するその他の変更は、インスタンスに取り入れられ、HttpSessionの状態は失われません。
この項では、DCM-Managed Oracle Application Server Clusterに対するOracle HTTP Serverのオプションについて説明します。
この項の項目は次のとおりです。
DCM-Managed OracleAS Clusterを使用するときは、Oracle HTTP Serverのモジュールmod_oc4jによって、OC4Jプロセスに対するリクエストのロード・バランシングが行われます。Oracle HTTP Serverでは、mod_oc4j構成オプションを使用して、様々なロード・バランシング・ポリシーがサポートされています。ロード・バランシング・ポリシーを指定することにより、ネットワーク・トポロジやホスト・マシンの性能に応じて、DCM-Managed OracleAS Clusterのパフォーマンス上のメリットだけでなく、フェイルオーバーや高可用性も実現します。
デフォルトでは、mod_oc4jは、重みを使用してリクエストの転送先ノードを選択します。各ノードのデフォルトの重みは1です。ノードの重みは、使用可能な他のノードの重みに対する比率として扱われ、これによって、DCM-Managed OracleAS Cluster内の他のノードと比較してそのノードが処理するリクエストの数が定義されます。特定のリクエストを処理するノードが選択されると、デフォルトでは、mod_oc4jはroundrobin
ポリシーを使用してノード上のOC4Jプロセスを選択します。受信リクエストが、確立済のセッションに属する場合、そのリクエストは、そのセッションを開始したのと同じノードおよび同じOC4Jプロセスに転送されます。
mod_oc4jのロード・バランシング・ポリシーでは、リクエストの送信先ノードを計算するときに、ノード上で実行されているOC4Jプロセスの数は考慮されません。ノードの選択は、ノードに対して構成済の重みと、その可用性に基づいて行われます。
mod_oc4jロード・バランシング・ポリシーを変更するには、mod_oc4j.conf
ファイル内のOc4jSelectMethod
およびOc4jRoutingWeight
構成ディレクティブを使用します。
次に示す手順に従い、Application Server Controlコンソールを使用してmod_oc4j.conf
ファイルを構成します。
<IfModule mod_oc4j.c>
」セクションで、Oc4jSelectMethod
ディレクティブおよびOc4jRoutingWeight
ディレクティブを追加または編集して、目的のロード・バランシング・オプションを選択します。
関連項目
Oracle HTTP Serverのポートおよびリスニング・アドレスは、Oracle HTTP Serverホーム・ページからアクセス可能な「サーバー・プロパティ」ページで変更できます。仮想ホスト情報を変更するには、Oracle HTTP Serverホーム・ページの「仮想ホスト」セクションで仮想ホストを選択します。
表4-3に、Oracle HTTP Serverインスタンス固有のパラメータを示します。
この項の項目は次のとおりです。
Oracle HTTP Serverをmod_plsql
モジュールと組み合せて使用する場合は、データベースが使用不可能になったときに、そのデータベースへの接続を検出してクリーンアップする必要があります。この項では、デッド接続を検出してクリーンアップするようにmod_plsql
を構成する方法を説明します。
mod_plsql
は、データベースへの複数の接続のプールを維持し、確立済の接続を以降のリクエストに再利用します。あるデータベース接続からレスポンスがないと、mod_plsql
はこの状態を検出し、デッド接続を破棄して新しいデータベース接続を作成し、以降のリクエストに使用します。
デフォルトでは、Real Application Clustersのノードまたはデータベース・インスタンスへの接続がmod_plsql
によって事前にプールされている場合に、そのノードまたはインスタンスが停止すると、プール内のデッド接続を使用する最初のmod_plsql
リクエストの結果として障害レスポンスHTTP-503がエンドユーザーに返されます。mod_plsql
モジュールはこの障害を処理し、これをトリガとして接続プール内のデッド接続をすべて検出し、削除します。mod_plsql
モジュールは、障害レスポンスより前に作成されたすべての接続プールに対してpingを実行します。このpingは、プールされた接続を使用する次のリクエストを処理する時点で実行されます。pingに失敗した場合は、データベース接続は廃棄され、新しい接続が作成されて処理されます。
PlsqlConnectionValidation
パラメータがAutomatic
に設定されている場合は、リクエストのエラーが発生する前に作成された、プールされたデータベース接続のすべてがmod_plsql
モジュールによってテストされます。これはデフォルトの構成です。
PlsqlConnectionValidation
パラメータがAlwaysValidate
に設定されている場合は、mod_plsql
はリクエストを発行する前に必ず、すべてのプールされたデータベース接続をテストします。構成オプションAlwaysValidate
を使用すれば可用性は高まりますが、パフォーマンスのオーバーヘッドも増えます。
mod_plsql
による接続プール内の不良データベース接続のテストに対してタイムアウト時間を指定することもできます。PlsqlConnectionTimeout
パラメータで指定された最大時間が経過してもテスト・リクエストが完了しなければ、mod_plsql
はその接続が使用不可能であると見なします。
Oracle Netクライアントは、接続記述子の検索時にディレクトリ・サーバーを使用できます。リクエストの開始時に、クライアントが接続識別子を使用してディレクトリ・サーバーにアクセスすると、接続識別子が解決されて接続記述子が取得されます。
ディレクトリ・サーバーを使用する利点は、サーバーの接続情報を集中管理できることです。ポートの変更またはホストの変更が理由で接続情報を変更する必要が生じた場合も、新しい接続情報を更新するのは一度だけです。ディレクトリ・サーバーで更新を行うだけで、その接続方式を使用するすべてのOracle Netクライアントが新しいホストに接続できるようになります。
DCM-Managed OracleAS Clusterの作成後は、Oracle Application Serverインスタンスの追加が可能です。この項では、DCM-Managed OracleAS Clusterの構成と、クラスタリング可能なOracle Application Serverインスタンスの特徴について説明します。
この項の項目は次のとおりです。
Oracle Application ServerインスタンスをDCM-Managed OracleAS Clusterに追加する順番は重要です。DCM-Managed OracleAS Cluster全体でレプリケートされる共通構成は、クラスタに最初に追加されるOracle Application Serverインスタンスによって確立されます。最初に追加されたOracle Application Serverインスタンスの構成は、その後にDCM-Managed OracleAS Clusterに結合されるすべてのOracle Application Serverインスタンスに継承されます。
共通構成には、クラスタレベルのすべての構成情報が含まれます。具体的には、DCM-Managed OracleAS ClusterおよびOracle Application Serverインスタンスの属性のことで、構成対象のコンポーネントはその一例です。たとえば、クラスタに最初に追加されるOracle Application Serverインスタンスに4つのOC4Jインスタンスがある場合は、この4つのOC4Jインスタンスと、これらのOC4Jインスタンス上にデプロイされるアプリケーションが共通構成に含まれます。その後にDCM-Managed OracleAS Clusterに結合されるOC4Jインスタンスは、これらのインスタンスおよびデプロイされるアプリケーションをレプリケートします(さらに、Oracle Application ServerインスタンスがDCM-Managed OracleAS Clusterに結合されるときに、共通構成に一致しないOC4Jコンポーネントがある場合は、DCMによってそのコンポーネントが削除されます)。また、DCM-Managed OracleAS Cluster内のOracle Application Serverインスタンスのいずれかに、OC4Jインスタンスの追加や削除などの変更を加えると、その変更はDCM-Managed OracleAS Cluster全体でレプリケートされます。構成対象のコンポーネントは、クラスタレベルでレプリケートされる共通構成の一部です。
DCM-Managed OracleAS Clusterの最後のOracle Application Serverインスタンスが削除されると、DCM-Managed OracleAS Clusterは空のDCM-Managed OracleAS Clusterとなり、次回Oracle Application Serverインスタンスが結合されるときに、DCM-Managed OracleAS Clusterの新しい共通構成が確立します。
パラメータの中には、特定のOracle Application Serverインスタンスまたは特定のコンピュータのみに適用されるものがありますが、このようなパラメータはインスタンス固有のパラメータです。インスタンス固有のパラメータは、DCMによってDCM-Managed OracleAS Cluster内の他のOracle Application Serverインスタンスに伝播されることはありません。インスタンス固有のパラメータを変更するときに、その変更をDCM-Managed OracleAS Cluster全体に適用するには、該当するOracle Application Serverインスタンスに、それぞれ変更を適用する必要があります。
パラメータ | 説明 |
---|---|
アイランド定義 |
Oracle Application Serverインスタンス固有。ステートフルOC4Jアプリケーションの状態をレプリケートするには、各OC4Jインスタンス内のアイランドの名前がすべて、DCM-Managed OracleAS Cluster全体で同じである必要があります。 |
プロセスの数 |
コンピュータ固有。コンピュータの性能に応じて、このパラメータを調整します。 |
注意: コマンドライン・オプションをインスタンス固有にする場合は、追加の構成を実行する必要があります。詳細は、第4.2.7.3項「インスタンス固有のコマンドライン・オプションの構成」を参照してください。 |
コンピュータ固有。 |
RMI、JMSおよびAJP通信用のポート番号 |
コンピュータ固有。 |
コマンドライン・オプションをインスタンス固有にするには(つまり、他のインスタンスにオプションを伝播させないようにするには)、ORACLE_HOME/opmn/conf/instspec.xml
ファイルを次のように編集する必要があります。
ORACLE_HOME/opmn/conf/instspec.xml
ファイルの次の行を削除(またはコメント・アウト)します。この作業は、クラスタ内のすべてのノードに対して行う必要があります。
<!-- for HTTP_Server and OC4J, only this is instance specific --> <InstanceScopeItem target="/opmn/process-manager/ias-instance/ias-component/ process-type/module-data/category/data[id='config-file']"/>
instspec.xml
ファイルに追加します。この作業は、クラスタ内のすべてのノードに対して行う必要があります。
<!-- for HTTP_Server and OC4J, only this is instance specific --> <InstanceScopeItem target="/opmn/process-manager/ias-instance/ias-component/ process-type/module-data/category/data"/> <InstanceScopeItem target="/opmn/process-manager/ias-instance/ias-component/ process-type/module-data/category/data[id='java-options']"/> <InstanceScopeItem target="/opmn/process-manager/ias-instance/ias-component/ process-type/module-data/category/data[id='oc4j-options']"/> <InstanceScopeItem target="/opmn/process-manager/ias-instance/ias-component/ process-type/module-data/category/data[id='java-bin']"/>
instspec.xml
に行った変更をデータベースに反映させます。Oracle Application Serverインスタンスがファイルベース・リポジトリにある場合は、このコマンドを実行する必要はありません。このコマンドは、クラスタ内のすべてのノードに対して実行する必要があります。
java -jar ORACLE_HOME/dcm/lib/dcm.jar registerplugin -f ORACLE_HOME/opmn/conf/register.xml -o ORACLE_HOME
ORACLE_HOME/opmn/bin/opmnctl reload
このコマンドは、クラスタ内のすべてのノードに対して実行する必要があります。
この項では、DCM構成リポジトリの可用性に関する考慮事項を説明します。この項の項目は次のとおりです。
この項では、DCM-Managed OracleAS ClusterをOracleAS Database-based Farmとともに使用する場合のDCM構成リポジトリの可用性に関する考慮事項を説明します。
Real Application Clustersデータベースやその他のデータベースの高可用性ソリューションとともにOracleAS Database-based Farmを使用すると、DCM構成リポジトリ・データベースに障害が発生した場合にも、高可用性、スケーラビリティ、冗長性により、システムが保護されます。
OracleAS File-based Farmを使用する場合は、DCM構成リポジトリは常に1つのOracle Application Serverインスタンス上に存在することになります。DCM構成リポジトリを保持するホストに障害が発生した場合は、手動フェイルオーバー(リポジトリ・ホストを別のホストに移行する)を行う必要があります。
この項では、DCM-Managed OracleAS ClusterをOracleAS File-based Farmとともに使用する場合のDCM構成リポジトリの可用性に関する考慮事項を説明します。
DCM-Managed OracleAS ClusterをOracleAS File-based Farmとともに使用する場合の重要な考慮事項の1つに、どのOracle Application Serverインスタンスをリポジトリ・ホストにするかという判断があります。
OracleAS File-based Farmのリポジトリ・ホストを選択するときは、次の点を考慮してください。
OracleAS File-based Farmを使用するときは、ファーム内のインスタンスの1つをリポジトリ・ホストとして指定します。このリポジトリ・ホストは、OracleAS File-based Farm内のすべてのインスタンスの構成情報を保持します。OracleAS File-based Farm内のインスタンスの構成情報を変更するときは、リポジトリ・ホストへのアクセス(書込み操作)が必要です。ただし、構成を変更しない読取り操作は、インスタンスのローカル構成キャッシュを使用して実行されます。
リポジトリ・ホストの損失時も、OracleAS File-based Farm内の他のインスタンスを新しいリポジトリ・ホストとして引き継がせることができますが、古いリポジトリ・ホストのエクスポート・コピーが必要です。リポジトリ・ホストのバックアップを定期的に取得し、バックアップを別のシステムに保存しておくことをお薦めします。
リポジトリ・ホストが使用不可能になったときは、実行できるのは読取り専用操作のみとなります。構成の変更を行うことはできません。updateConfig
コマンドの実行など、リポジトリ・ホストに対する更新を必要とする操作を試みると、次に示すようなエラー・メッセージがdcmctl
から返されます。
ADMN-100205 Base Exception: The DCM repository is not currently available. The OracleAS 10g instance, "myserver.mydomain.com", is using a cached copy of the repository information. This operation will update the repository, therefore the repository must be available.
リポジトリ・ホストが完全に停止した、つまり長期間使用不可能となる場合は、リポジトリ・ホストを移動する必要があります。リストアされたリポジトリが最新の状態でない場合は、ローカル・インスタンス・アーカイブを適用して各インスタンスの状態を更新することができます。
DCM-Managed OracleAS Cluster内の、リポジトリ・ホストではないインスタンスが停止した場合でも、他のインスタンスはすべて正常に機能します。あるインスタンスが短期間停止する場合は、そのインスタンスが再び使用可能になったときにインスタンスの構成情報が自動的に更新されます。
あるインスタンスが完全に失われてしまった場合も、OracleAS File-based Farm内の他のインスタンスへの影響はありません。ただし、整合性を維持するには、損失したインスタンスに関係するレコードをすべて削除する必要があります。
損失したインスタンスの構成情報を削除するには、次のコマンドを使用します。
> dcmctl destroyInstance
構成の変更がすべて正常に終了することと、クラスタ内の全インスタンスの同期がとれていることが重要です。ローカルの構成情報は、リポジトリに格納されている情報と一致する必要があります。DCMは構成ファイルが手動で変更されたことを認識せず、そのような変更が行われると、クラスタ内のインスタンスの同期ステータスはFALSEとなります。
次のdcmctl
コマンドを実行すると、管理対象の全コンポーネントのリストと各コンポーネントの同期ステータスが返されます。
> dcmctl getState -cl cluster_name
同期ステータスがTRUEの場合は、コンポーネントのローカルの構成情報が、リポジトリに格納されている情報と同じであることを示します。
変更されたローカルの情報によってファイルベース・リポジトリを更新する必要がある場合は、次のようにdcmctl
コマンドのupdateConfig
を使用します。
> dcmctl updateconfig > dcmctl getstate -cl cluster_name
リポジトリからの情報でローカルの情報を更新するには、resyncInstance
コマンドを使用します。たとえば、次のように入力します。
> dcmctl resyncinstance
デフォルトでは、このコマンドを実行すると、同期ステータスがFALSEであるコンポーネントの構成情報のみが更新されます。-force
オプションを使用すると、同期ステータスとは無関係にすべてのコンポーネントが更新されます。
管理のための計画停止中は、OracleAS File-based Farmを使用するDCM-Managed OracleAS Clusterが複数のホスト上で稼動していてリソースも十分であれば、リクエスト処理を続行しながら管理タスクを実行できます。この項では、リクエスト処理を中断せずにDCM-Managed OracleAS Cluster内のリポジトリ・ホストを移動する方法を説明します。
この手順は、DCM-Managed OracleAS Clusterに対して次のような管理タスクを実行するときに便利です。
DCM-Managed OracleAS Cluster内のリポジトリ・ホストを移動するには、次の手順を実行します。
> cd $ORACLE_HOME/dcm/bin > dcmctl exportRepository -f file
Windowsシステムの場合:
> cd %ORACLE_HOME%¥dcm¥bin > dcmctl exportRepository -f file
UNIXシステムでは、クラスタ内の各インスタンスで次のコマンドを使用します。
> $ORACLE_HOME/bin/emctl stop iasconsole > $ORACLE_HOME/opmn/bin/opmnctl stopproc ias-component=dcm-daemon
Windowsシステムでは、クラスタ内の各インスタンスで次のコマンドを使用します。
> %ORACLE_HOME%¥bin¥emctl stop iasconsole > %ORACLE_HOME%¥opmn¥bin¥opmnctl stopproc ias-component=dcm-daemon
この時点でも、DCM-Managed OracleAS Clusterによるリクエストの処理は引き続き可能です。
UNIXシステムでは、次のコマンドを使用します。
> cd $ORACLE_HOME/dcm/bin/ > dcmctl importRepository -file filename
Windowsシステムでは、次のコマンドを使用します。
> cd %ORACLE_HOME%¥dcm¥bin¥ > dcmctl importRepository -file filename
filenameは、exportRepository
コマンドで指定したファイルの名前です。
importRepository
がアクティブである間も、DCM-Managed OracleAS Clusterによるリクエストの処理は引き続き可能です。
UNIXシステムの場合:
> $ORACLE_HOME/opmn/bin/opmnctl startall
Windowsシステムの場合:
> %ORACLE_HOME%¥opmn¥bin¥opmnctl startall
> dcmctl repositoryRelocated
UNIXシステムでは、クラスタ内の各インスタンスで次のコマンドを使用します。
> $ORACLE_HOME/bin/emctl start iasconsole
Windowsシステムでは、クラスタ内の各インスタンスで次のコマンドを使用します。
> %ORACLE_HOME%¥bin¥emctl start iasconsole
UNIXシステムの場合:
> $ORACLE_HOME/opmn/bin/opmnctl stopall
Windowsシステムの場合:
> %ORACLE_HOME%¥opmn¥bin¥opmnctl startall
これで、次に示すような管理タスクを以前のリポジトリ・ホスト・システム上で実行できるようになりました。
以前リポジトリ・ホストであったシステム上の管理タスクが完了した後で、リポジトリ・ホストを元に戻す場合は、これらの手順をもう一度実行する必要があります。
リポジトリのファイルおよびアーカイブをエクスポートするときに、ファイルを既知の場所に保存し、エクスポートしたファイルおよびアーカイブのバックアップを定期的に取得します。また、エクスポートしたリポジトリをリポジトリでないインスタンスから利用できるようにしておくことも、バックアップだけではなく可用性の点でお薦めします。リポジトリ・インスタンスが使用不可能になったときも、エクスポートされたリポジトリ・ファイルが使用可能である場合にかぎり、新しいインスタンスを新しいリポジトリ・ホストとすることができます。
Oracle Application Serverには、リポジトリのバックアップを自動的に行う手順は用意されていません。ただし、構成データを損失しても確実にリカバリできるようにするには、リポジトリ・バックアップの計画を立てておく必要があります。リポジトリ・バックアップは定期的かつ頻繁に実行します。また、構成が変更された後や、インスタンスの追加や削除を伴うトポロジの変更が行われた後にも、リポジトリ・バックアップを実行します。
リポジトリ・バックアップを、OracleAS File-based Farm内の他のノードからアクセス可能な様々なノードに保存します。
OracleAS File-based Farmからインスタンスを追加または削除すると、そのインスタンスで管理されているすべてのプロセスが停止されます。そのインスタンスを使用可能にするには、ファームへの追加または削除の実行後にインスタンスを再起動します。
OracleAS File-based Farmに追加や削除を行う前に、ローカル構成をバックアップすることをお薦めします。たとえば、次のコマンドを使用してアーカイブを作成およびエクスポートします。
> dcmctl createarchive -arch myarchive -comment "Archive before leaving farm" > dcmctl exportarchive -arch myarchive -f /archives/myarchive
アーカイブは、OracleAS File-based Farm間で移植可能です。インスタンスを新しいファームに追加するときに、前のファームで作成されたアーカイブを適用することができます。
この項では、OracleAS Cluster(OC4J)の構成、およびDCM-Managed OracleAS Clusterとともに使用するOracleAS Cluster(OC4J)について説明します。
OracleAS Cluster(OC4J)を使用すると、Webアプリケーションでの状態のレプリケートが可能となり、OC4Jの下で実行されるアプリケーションの高可用性とフェイルオーバーが実現します。この機能は、DCM-Managed OracleAS Clusterを使用しなくても構成できます。ただし、Oracle Application Serverのこれらの機能を併用すれば、管理がしやすくなり、管理性と高可用性が向上します。この項の説明は、Oracle Application Server Cluster(OC4J)とDCM-Managed OracleAS Clusterの両方を使用することを前提とします。
この項の項目は次のとおりです。
OracleAS Cluster(OC4J)を使用すると、Webアプリケーションでの状態のレプリケートが可能となり、OC4Jの下で実行されるアプリケーションの高可用性とフェイルオーバーが実現します。DCM-Managed OracleAS Cluster内のOracle Application ServerインスタンスおよびOC4Jインスタンスには次のプロパティがあります。
dcmctl
を使用してOC4Jのクラスタレベルのパラメータを変更すると、変更内容はクラスタ内のすべてのOracle Application Serverインスタンスに伝播されます。クラスタレベルのOC4J構成を変更するには、1つのOracle Application Serverインスタンス上だけで構成パラメータを変更します。Oracle Application Serverによってクラスタ内の他のすべてのOracle Application Serverインスタンスに変更内容が伝播されます。
表4-5は、OC4Jインスタンス固有のパラメータの要約です。OC4Jのこれ以外のパラメータはクラスタレベルのパラメータであり、DCM-Managed OracleAS Cluster全体でレプリケートされます。
この項の項目は次のとおりです。
DCM-Managed OracleAS Cluster内のOracle Application Serverインスタンスのいずれかで新しいOC4Jインスタンスが作成されると、そのOC4Jインスタンスはクラスタ内のすべてのOracle Application Serverインスタンスに伝播されます。
OC4Jインスタンスを作成するには、次の手順を実行します。
Oracle Application Serverによってインスタンスが作成され、新しいOC4JインスタンスがDCMによってDCM-Managed OracleAS Cluster全体に伝播されます。
新しいOC4Jインスタンスは、指定した名前で作成されます。このOC4Jインスタンスは、クラスタ内の各アプリケーション・サーバー・インスタンスの「システム・コンポーネント」セクションに表示されます。
OC4Jインスタンスを削除するには、削除するOC4Jインスタンスの横のチェック・ボックスを選択して、「OC4Jインスタンスの削除」を選択します。DCMによって、OC4Jの削除がクラスタ全体に伝播されます。
DCM-Managed OracleAS Clusterでは、アプリケーションを1つのアプリケーション・サーバー・インスタンスにデプロイすると、クラスタ内のすべてのアプリケーション・サーバー・インスタンスにそのアプリケーションが伝播されます。
アプリケーションをクラスタ間でデプロイするには、次の手順を実行します。
dcmctl
コマンドを使用して、アプリケーションをOC4Jインスタンスにデプロイします。DCMによって、DCM-Managed Oracle Application Server Cluster全体にアプリケーションが伝播されます。
Oracle Application Serverで、DCM-Managed OracleAS Cluster全体のステートフルWebアプリケーションの状態を確実に維持できるようにするには、Webアプリケーションの状態レプリケーションを構成する必要があります。
ステートフルWebアプリケーションの状態レプリケーションを構成するには、次の手順を実行します。
オプションで、マルチキャスト・ホストのIPアドレスとポート番号を指定できます。マルチキャスト・アドレスのホストおよびポートを指定しない場合は、ホストIPアドレス230.0.0.1とポート番号9127がデフォルトで使用されます。ホストIPアドレスは、224.0.0.2〜239.255.255.255の間である必要があります。HTTP用とEJB用のマルチキャスト・アドレスには、それぞれ異なるマルチキャスト・アドレスを使用してください。
web.xml
ファイルに<distributable/>
タグを追加します。Webアプリケーションがシリアライズ可能な場合、このタグをweb.xml
ファイルに追加する必要があります。 このタグをweb.xml
に追加する場合の例は、次のようになります。
<web-app> <distributable/> <servlet> ... </servlet> </web-app>
注意
実行中のクラスタに追加されるインスタンスの起動直後にセッションをレプリケートするには(たとえば、インスタンス間のセッションのレプリケートがすでに開始されている場合)、セッションを維持するアプリケーション内のWebモジュールの構成時に、 |
EJBクラスタ(別名OracleAS Cluster(OC4J-EJB))を作成するには、どのOC4Jインスタンスをクラスタに追加するかを指定し、各インスタンスのマルチキャスト・アドレス、ユーザー名およびパスワードが同一になるように構成し、クラスタリング対象のEJBをクラスタ内の各ノードにデプロイします。
OracleAS Cluster(OC4J-EJB)に追加されるEJBは、アイランド内でサブグループ化することはできません。クラスタ内のEJBはすべて1つのグループに属します。また、Session Beanのみがクラスタリングされます。
各メソッド・コールの終了時に、すべてのBeanの状態が、マルチキャスト・トピックを使用してクラスタ内のすべてのノードにレプリケートされます。OracleAS Cluster(OC4J-EJB)の一部となるノードはそれぞれ、同じマルチキャスト・アドレスを使用するように構成されます。
EJBオブジェクトの状態がクラスタ内でレプリケートされる仕組みの概念は、『Oracle Application Server Containers for J2EE Enterprise JavaBeans開発者ガイド』を参照してください。
EJBレプリケーションを構成するには、次の手順を実行します。
図4-18に、このセクションを示します。
オプションで、マルチキャスト・ホストのIPアドレスとポート番号を指定できます。マルチキャスト・アドレスのホストおよびポートを指定しない場合は、ホストIPアドレス230.0.0.1とポート番号9127がデフォルトで使用されます。ホストIPアドレスは、224.0.0.2〜239.255.255.255の間である必要があります。Webアプリケーション用のマルチキャスト・アドレスとEJB用のマルチキャスト・アドレスには、それぞれ異なるアドレスを使用してください。
orion-ejb-jar.xml
ファイルで、EJBレプリケーションのタイプを構成します。詳細は、第4.4.2.5項「OracleAS Cluster(OC4J-EJB)用のステートフルSession Beanレプリケーションの構成」を参照してください。これらをorion-ejb-jar.xml
ファイル内で構成してからデプロイすることも、デプロイ後にApplication Server Controlコンソールの画面から追加することもできます。デプロイ後に追加するには、アプリケーション・ページからJARファイルにドリルダウンします。
ステートフルSession Beanでは、orion-ejb-jar.xml
ファイルを変更して状態レプリケーションの構成を追加する必要がある場合があります。ステートフルSession Beanのレプリケーション・タイプはBeanのデプロイメント・ディスクリプタ内で構成するため、Beanごとに異なるタイプのレプリケーションを使用することができます。
ステートフルSession Beanでは、ノード間で状態をレプリケートする必要があります。実際に、ステートフルSession Beanはノード間ですべての状態を送信する必要があり、パフォーマンスにかなりの影響が出る場合があります。そのため、次のレプリケーション・モードを使用して、レプリケーションがパフォーマンスに与える負荷の管理方法を決定することができます。
各EJBメソッド・コールの終了時に、ステートフルSession Beanの状態が、クラスタ内の同じマルチキャスト・アドレスを持つすべてのノードにレプリケートされます。あるノードの電源がオフになった場合、状態はレプリケートされています。
コール終了時のレプリケーションを使用するには、orion-ejb-jar.xml
ファイル内の<session-deployment>
タグのreplication
属性を"EndOfCall"
に設定します。
たとえば、次のように設定します。
<session-deployment replication="EndOfCall" .../>
JVM終了時に、ステートフルSession Beanの状態が、クラスタ内の同じマルチキャスト・アドレスを持つ1つのノードのみにレプリケートされます。状態は1回だけレプリケートされるため、これはパフォーマンスへの影響が最も小さいオプションです。ただし、次の理由で、信頼性はあまり高くありません。
JVM終了時のレプリケーションを使用するには、orion-ejb-jar.xml
ファイル内の<session-deployment>
タグのreplication
属性を"VMTermination"
に設定します。
たとえば、次のように設定します。
<session-deployment replication="VMTermination" .../>
この項では、DCM-Managed OracleAS Cluster全体にレプリケートされないインスタンス固有のパラメータについて説明します。この項の項目は次のとおりです。
DCM-Managed OracleAS Clusterを使用して、環境を冗長化し、高可用性を実現するには、OC4Jインスタンスごとに複数のOC4Jプロセスを構成する必要があります。
DCM-Managed OracleAS Clusterでは、OC4Jインスタンス内の同一の名前を持つOC4Jアイランド間で状態がレプリケートされ、DCM-Managed OracleAS Cluster内のインスタンス間でもレプリケートされます。ステートフル・アプリケーションで高可用性を確保するには、DCM-Managed OracleAS Cluster全体で、OC4Jインスタンス内のOC4Jアイランドの名前を、対応するOC4Jインスタンス内の名前と同一にする必要があります。DCM-Managed OracleAS Cluster内でセッション状態のレプリケーションが必要な場合にアイランド名の一致を保証することは、管理者の役割です。
DCM-Managed OracleAS Cluster内のOC4Jインスタンス上にあるOC4Jプロセスの数は、インスタンス固有のパラメータです。これは、DCM-Managed OracleAS Cluster内のアプリケーション・サーバー・インスタンスを実行するホストの性能(システム・メモリーの合計など)はホストごとに異なる可能性があるためです。したがって、1つのOC4Jインスタンス内で実行されるOC4Jプロセスの数を、DCM-Managed OracleAS Cluster内のアプリケーション・サーバー・インスタンスごとに変えたほうがよい場合もあります。
OC4Jアイランドの変更や、各OC4Jアイランドに含まれるプロセスの数の変更を行うには、次の手順を実行します。
図4-20に、OC4Jポートの変更やコマンドライン・オプションの設定を実行するためのセクションを示します。
OC4Jのポートやコマンドライン・オプションを変更するには、次の手順を実行します。
図4-20に、「サーバー・プロパティ」ページの「ポート」および「コマンドライン・オプション」領域を示します。
この項では、OracleAS Cold Failover Cluster(中間層)の管理の手順について説明します。OracleAS Cold Failover Cluster(中間層)を使用すれば、全体が使用可能な状態であるアクティブ/アクティブ構成の中間層システムよりも低コストな高可用性システムを実現できます。また、アプリケーションによってはアクティブ/アクティブのOracleAS Cluster環境では正常に機能しないものもあります(たとえば、キューイングなどの同期方式に依存するアプリケーション)。この場合は、OracleAS Cold Failover Cluster(中間層)を使用すれば、既存のアプリケーションを変更することなく高可用性が実現します。
この項の項目は次のとおりです。
この項では、「個別のOracleホーム・インストール」という用語を、各ノードのローカル記憶域に中間層のOracleホームが配置されたOracleAS Cold Failover Cluster(中間層)インストールの意味で使用します。
「単一のOracleホーム・インストール」という用語は、共有記憶域に中間層のOracleホームが配置されたOracleAS Cold Failover Cluster(中間層)インストールの意味で使用します。
個別のOracleホーム・インストールの場合、アプリケーションのデプロイや、構成の変更は、OracleAS Cold Failover Cluster(中間層)の両方のノードに反映する必要があります。これは、OracleAS Cold Failover Cluster(中間層)環境を管理する管理者の責任です。
この項の項目は次のとおりです。
個別のOracleホーム・インストールでは、中間層インストールへのアプリケーションのデプロイや構成の変更は、コールド・フェイルオーバー・クラスタの両方のノードに行う必要があります。このことを徹底するのは、環境を管理する管理者の責任です。
アプリケーションのデプロイは、他の中間層環境の場合と同様に適用されます。パッシブ・ノード上にアプリケーションをデプロイするには、そのノードをアクティブにしてからアプリケーションをデプロイします。OC4JおよびOracle HTTP ServerのJ2EEインストールでは、アプリケーションのデプロイは他の中間層環境と類似しています。デプロイ段階でパッシブ・ノードをアクティブにして、そのノードにアプリケーションをデプロイできます。同様に、アプリケーションをアクティブ・ノード上にデプロイできます。
単一のOracleホーム・インストールでは、アプリケーションのデプロイおよび構成の変更は、現在のノードにしか行う必要がありません。
個別のOracleホーム・インストールでは、OracleAS Cold Failover Cluster(中間層)の両方のノードをバックアップする必要があります。この手順は他の中間層の場合と同様で、『Oracle Application Server管理者ガイド』に記載されています。各インストールのバックアップが必要です。リストアする場合、各バックアップはそのバックアップが取得されたホストに対してのみリストアできます。他のノードにはリストアしないでください。
単一のOracleホーム・インストールでは、中間層のバックアップおよびリストアの操作は、現在のアクティブ・ノードでのみ行う必要があります。
個別のOracleホーム・インストールでは、Application Server Controlコンソールを使用してノードの監視や管理を行うには、現在のアクティブ・ノードの物理ホスト名を使用してコンソールにログインします。Application Server Controlコンソールのプロセスは、クラスタの両ノードで同時に起動して実行することができます。構成の変更やアプリケーションのデプロイなど、環境への変更を加えるときは、OracleAS Cold Failover Cluster(中間層)の両方のノードで変更を実行します。
単一のOracleホーム・インストールでは、Application Server Controlコンソールを使用してOracleAS Cold Failover Cluster(中間層)のデプロイを監視および管理するには、仮想ホスト名を使用してコンソールにログインします。
OracleAS Cold Failover Cluster(中間層)では、アクティブ・ノードで障害が発生したとき、つまりアクティブ・ノードを停止してパッシブ・ノードにフェイルオーバーすることを決断したときに、それまでパッシブであったノードをアクティブにする(フェイルオーバー操作を実行する)必要があります。
フェイルオーバーの管理そのものは、次のフェイルオーバー・プロセスのいずれかを使用して実行します。
この項の項目は次のとおりです。
単一のOracleホーム・インストールで、それまでパッシブであったノードを新しいアクティブ・ノードにするフェイルオーバー・プロセスを実行します。
個別のOracleホーム・インストールで、それまでパッシブであったノードを新しいアクティブ・ノードにするフェイルオーバー・プロセスを実行します。
OracleAS Cold Failover Cluster(中間層)内で仮想IPをフェイルオーバーするには、次の手順を実行します。
UNIXシステムの場合:
> $ORACLE_HOME/opmn/bin/opmnctl stopall
Windowsシステムの場合:
%ORACLE_HOME%¥opmn¥bin¥opmnctl stopall
> $ORACLE_HOME/bin/emctl stop iasconsole > $ORACLE_HOME/bin/emctl stop agent
Windowsシステムの場合:
> %ORACLE_HOME%¥bin¥emctl stop iasconsole > %ORACLE_HOME%¥bin¥opmnctl stop agent
Sun SPARC Solarisの場合:
# ifconfig <interface_name> removeif <virtual_IP>
# ifconfig <interface_name> addif <virtual_IP> up
Linuxの場合:
# /sbin/ifconfig <interface_name> down
# ifconfig <interface_name> netmask <netmask> <virtual_IP> up
Windowsの場合:
障害が発生したノードでOracle Fail Safeを使用して、作成されたグループを次の手順で移動します。
新しいアクティブ・ノードでの仮想IPのフェイルオーバー手順を実行した後で、次の手順を実行してOracleAS Cold Failover Cluster(中間層)システム上でのフェイルオーバーを行います。次の手順を実行してOracle Application Serverプロセスを停止し、起動します。
UNIXシステムでは、次のコマンドを実行します。
> $ORACLE_HOME/opmn/bin/opmnctl stopall > $ORACLE_HOME/opmn/bin/opmnctl start
UNIXシステムの場合:
> $ORACLE_HOME/bin/emctl stop iasconsole > $ORACLE_HOME/bin/emctl stop agent
Windowsシステムの場合:
> %ORACLE_HOME%¥bin¥emctl stop iasconsole > %ORACLE_HOME%¥bin¥opmnctl stop agent
UNIXシステムの場合:
> $ORACLE_HOME/opmn/bin/opmnctl stopall > $ORACLE_HOME/opmn/bin/opmnctl startall
Windowsシステムの場合:
> %ORACLE_HOME%¥opmn¥bin¥opmnctl stopall > %ORACLE_HOME%¥opmn¥bin¥opmnctl startall
UNIXシステムの場合:
> $ORACLE_HOME/bin/emctl start agent > $ORACLE_HOME/bin/emctl start iasconsole
Windowsシステムの場合:
> %ORACLE_HOME%¥bin¥emctl start agent > %ORACLE_HOME%¥bin¥opmnctl start iasconsole
OracleAS Cluster(OC4J-JMS)を使用している場合に、システムで例外的な障害が発生したときは、OracleAS JMSファイルベースの永続性のロック・ファイルを削除するなど、追加のフェイルオーバー手順も実行する必要があります。
関連項目
『Oracle Application Server Containers for J2EEサービス・ガイド』の「Oracle Application Server JMS」、異常終了に関する項 |
OracleAS Cold Failover Cluster(中間層)のトポロジでは、中間層のOracleホームを共有記憶域にインストールするか(「単一のOracleホーム・インストール」)、各ノードのローカル記憶域に個別にインストールする(「個別のOracleホーム・インストール」)ことができます。この項では、これら2つの種類の記憶域間でOracleホームを移動する方法について説明します。
OracleAS Wirelessは、単一のOracleホームの構成ではサポートされていません。そのため、移動元と移動先のOracleホームでは、OracleAS Wirelessが構成されていないようにする必要があります。
元のOracleホームのいずれかを保持する場合、次の手順を実行します。
chgtocfmt
変換スクリプトを再度実行して、単一のOracleホーム・インストールに変更します。この場合は、-n
オプションを指定しないでください。
元のOracleホームを保持しない場合、次の手順を実行します。
OracleAS Cold Failover Cluster(中間層)にデプロイされているアプリケーションには、仮想ホスト名を使用してアクセスする必要があります。アプリケーションは、実行元のローカル物理ホストに全く依存していない場合にのみ動作します。フェイルオーバー後に継続的に動作させるには、アプリケーションに必要なすべてのリソースをフェイルオーバー・ノードで使用可能にする必要があります。
アプリケーション(またはOracleAS Integrationなど他のOracle製品)への外部アクセスは、すべて仮想ホスト名を使用して行う必要があります。アプリケーションの公開URLには、仮想ホスト名を使用する必要があります。
高可用性環境でシステムをアップグレードするときの目標は、すべてのOracle Application Serverインスタンスを同じバージョンにアップグレードすることです。この場合はOracle Application Server 10g(10.1.2)です。すべてのOracle Application Serverインスタンスを同じバージョン・レベルで実行することは必須ではありませんが、レベルがすべて同じならば、J2EEアプリケーションおよびOracle Application Serverコンポーネントの管理、トラブルシューティングおよび保守が容易になります。
Oracle Application Serverを以前のバージョンのままにしておく場合は、どのバージョンの組合せがサポートされるかを検討する必要があります。詳細は、Oracle Application Serverのアップグレードおよび互換性ガイドを参照してください。
この項の項目は次のとおりです。
アップグレード時、Oracle Application Serverインスタンスを決められた順序でアップグレードする必要があります。これは、サポートされない構成や不安定な構成を回避するためです。詳細は、Oracle Application Serverのアップグレードおよび互換性ガイドを参照してください。
DCM-Managed OracleAS Clusterでは、クラスタに追加されるすべてのインスタンスで、同じバージョンのOracle Application Serverを使用している必要があります。DCM-Managed OracleAS Cluster内のインスタンスをアップグレードする前に、次の手順を実行する必要があります。
dcmctl
leavecluster
コマンドを使用して、Oracle Application ServerインスタンスをDCM-Managed OracleAS Clusterから削除します。
exportarchive
コマンドを使用してファイル・システムにエクスポートします。アップグレードの手順では、アーカイブはアップグレードされません。エクスポートしたアーカイブは、アップグレード・プロセスの終了後に再度インポートします。
OracleAS File-based Farmを使用するDCM-Managed OracleAS Cluster内のインスタンスをアップグレードするときの停止時間を最短にする方法は、第4.3.2.6項「DCM-Managed OracleAS Clusterの管理の実行」を参照してください。
関連項目
OracleAS Cluster(OC4J)内で実行される、HTTPSessionを使用するOC4Jアプリケーションを、セッションを失わずに状態を維持してアップグレードすることができます。詳細は、第4.2.5項「ステートフルなJ2EEアプリケーションのローリング・アップグレード」を参照してください。
OracleAS Single Sign-OnをOracleAS Clusterで使用できるようにするには、OracleAS Single Sign-OnサーバーにOracleAS Clusterへのエントリ・ポイントを認識させる必要があります。これは一般に、Oracle HTTP Serverの前面に配置されるロード・バランサです。通常、これはOracleAS Web Cache、ネットワーク・ロード・バランサ・アプライアンス、またはOracle HTTP Serverです。
OracleAS Clusterのエントリ・ポイントをOracleAS Single Sign-Onサーバーに登録するには、ssoreg.sh
スクリプト(Windowsの場合はssoreg.bat
)を使用します。
OracleAS Single Sign-Onの機能を使用するには、OracleAS Cluster内のすべてのOracle HTTP Serverインスタンスがいずれも同じOracleAS Single Sign-Onに登録されていることが必要です。
ネットワーク・ロード・バランサを使用しない場合は、受信ロード・バランサに応じて(OracleAS Web Cache、Oracle HTTP Serverなど)OracleAS Single Sign-Onを構成する必要があります。
シングル・サインオンを行うようにDCM-Managed OracleAS Clusterを構成するには、DCM-Managed OracleAS Cluster内のOracle Application Serverインスタンスのいずれか1つに対してssoreg.sh
スクリプト(Windowsの場合はssoreg.bat
)を実行します。このツールによって、OracleAS Single Sign-OnサーバーおよびリダイレクトURLが、OracleAS Cluster内のすべてのOracle HTTP Serverに登録され、OracleAS Cluster内のOracle HTTP ServerとOracleAS Single Sign-Onサーバー間でセキュアな通信を実現するあらゆる情報が設定されます。
Oracle Application Serverインスタンスのいずれかで、ssoreg.sh
(Windowsの場合はssoreg.bat
)スクリプトを使用して構成を定義します。その後、DCMによって、DCM-Managed OracleAS Cluster内にある他のすべてのOracle HTTP Serverに構成が伝播されます。
構文の情報は、『Oracle Application Server Single Sign-On管理者ガイド』の「ssoregの構文とパラメータ」の項を参照してください。
|
Copyright © 2005, 2007 Oracle. All Rights Reserved. |
|