スケーラビリティおよび高可用性を目的とした Oracle Content Database 中間層の構成 : そのベスト プラクティス オラクル ホワイト ペーパー 2006 年 8 月
概要 このホワイト ペーパーでは Oracle Content Database(Oracle Content DB) の中間層を複数インスタンス構成する際に 特にスケーラブルで高可用性が必要な環境でのベスト プラクティスについて説明します ここでは ユーザーが Oracle Content Database 10g Release 1 を使用しており 高可用性のニーズに合せ Oracle Database と Oracle Application Server Infrastructure が構成済であること 中間層構成ごとに異なるハードウェアを使用しており 中間層の追加準備ができていることを前提としています さらに Oracle Content DB を Linux/UNIX 環境で使用していることが前提です 次のセクションでは 中間層の設定方法を説明します 1 最初の Oracle Content DB 中間層のインストール Oracle Content Database Installation Guide Oracle Content DB 中間層のインストール の章の手順に従って Oracle Content DB 中間層の最初のインスタンスをインストールします Web Cache は初期の構成のまま利用することをお薦めします オラクル社カスタマ サポート センターから指定がないかぎり Web Cache の構成は変更しないでください 1.1 ロード バランサを使用した Oracle Content DB の最初の中間層の構成 次の 3 つのセクションでは ロード バランサを使用した Oracle Content DB の最初の中間層の構成方法を説明し ます 1.1.1 ロード バランサの構成 Oracle Content DB の中間層との連携を可能にするために 次のようにロード バランサを構成します ポート 80(HTTP) に対する要求をリスニングし Oracle HTTP Server ポートにあるこのポートに要求をルーティングする仮想サーバー名 ( たとえば contentdb_virtual.mycompany.com) を設定します この例では Oracle Content DB 中間層の Oracle HTTP Server は ポート 7777 の cdb_middletier1.mycompany.com で稼働しています また ポート 7777(HTTP) に対する要求をリスニングし この要求を Oracle Application Server Web Cache (OracleAS Web Cache) の HTTP Listen ポートにルーティングする仮想サーバー名 ( たとえば contentdb_virtual.mycompany.com) も構成します この例では Oracle Content DB 中間層の OracleAS Web Cache HTTP リスナーは ポート 7777 の cdb_middletier1.mycompany.com で稼働しています セキュリティを維持するために ロード バランサのポート 7777 は 外部ユーザーから隠す必要があります ロード バランサでは Cookie ベースのパーシステンス (Cookie を使用して接続を維持する機能 ) を必ず使用してください たとえば F5 Networks の BigIP ロード バランサを使用している場合 Active HTTP Cookie persistence with the Insert method を使用します 注意 : Oracle Enterprise Manager の Application Server Control により Oracle HTTP Server と OracleAS Web Cache で使用しているポートを調べることができます スケーラビリティおよび高可用性を目的とした Oracle Content Database 中間層の構成 : そのベスト プラクティス 2
1.1.2 ロード バランサを使用した Oracle HTTP Server の構成ロード バランサを使用して Oracle HTTP Server を構成するには 次の手順を実行します 1. Oracle Enterprise Manager の Application Server Control にアクセスします 2. cdb_middletier1.mycompany.com インストールのリンクをクリックします 3. HTTP Server リンクをクリックします 4. Administration ( 管理 ) リンクをクリックします 5. Advanced Server Properties ( 拡張サーバー プロパティ ) をクリックします 6. httpd.conf ファイルを開きます 7. httpd.conf ファイルに次の行を追加し contentdb_virtual.mycompany.com のポート 80 用の VirtualHost コンテナを作成します 次の例では ポート 7778 は Oracle HTTP Server の Listen ポートに対応します NameVirtualHost *:7778 <VirtualHost *:7778> ServerName contentdb_virtual.mycompany.com Port 80 ServerAdmin you@mycompany.com RewriteEngine On RewriteOptions inherit </VirtualHost> 別の VirtualHost コンテナを cdb_middletier1.mycompany.com のポート 7777 用に 作成します 次 の例では ポート 7778 は Oracle HTTP Server の Listen ポートに またポート 7777 は OracleAS Web Cache HTTP の Listen ポートに対応します <VirtualHost *:7778> ServerName cdb_middletier1.mycompany.com Port 7777 ServerAdmin you@mycompany.com RewriteEngine On RewriteOptions inherit </VirtualHost> 8. httpd.conf ファイルを保存し 画面の指示に従って Oracle HTTP Server を再起動します 1.1.3 mod_osso への仮想ホストの登録 次の手順に従い 新しい仮想ホストを mod_osso に登録します 1. ORACLE_HOME 環境変数を現在の Oracle ホームに設定します 2. $ORACLE_HOME/Apache/Apache/conf/osso/osso.conf ファイルのバックアップを作成します 次に例を示します cd $ORACLE_HOME/Apache/Apache/conf/osso/ cp -p osso.conf osso.conf.orig スケーラビリティおよび高可用性を目的とした Oracle Content Database 中間層の構成 : そのベスト プラクティス 3
3. SSO 登録スクリプト ssoreg.sh を実行します このスクリプトは $ORACLE_HOME/sso/bin にあります 例 : ORACLE_HOME/sso/bin/ssoreg.sh \ -site_name partner_application_site_name \ -mod_osso_url protocol://host.domain:port_of_mod_osso_partner \ -config_mod_osso TRUE \ -oracle_home_path absolute_path_to_oracle_home \ -config_file config_file_path \ -admin_info cn=orcladmin \ -virtualhost イタリック体のパラメータ名は 実際の値に置き換えてください SSO への登録の詳細は Oracle Application Server Single Sign-On Administrator's Guide 10g Release 2 の第 4 章 パートナ アプリケーションの構成と管理 を参照してください $ORACLE_HOME/sso/bin/ssoreg.sh -help には ssoreg.sh のすべてのオプションが記載されていま す この手順が完了すると cdbapps.contentdb_virtual.mycompany.com というパートナ アプリケー ションが SSO パートナ アプリケーションとして作成されます サンプル スクリプト (Linux/UNIX 用 ) $ORACLE_HOME/sso/bin/ssoreg.sh -oracle_home_path $ORACLE_HOME -site_name contentdb_virtual.mycompany.com -config_mod_osso TRUE -mod_osso_url http://contentdb_virtual.mycompany.com -admin_info cn=orcladmin -u root - virtualhost 1.1.4 Oracle Content DB のドメイン プロパティの構成 contentdb_virtual.mycompany.com:80 でロード バランサの仮想サーバー名とポートを使用するには 次の手順で Oracle Content DB ドメイン プロパティを変更します 1. Application Server Control にアクセスします 2. cdb_middletier1.mycompany.com インストールのリンクをクリックします 3. Content リンクをクリックします 4. Administration ( 管理 ) セクションの Domain Properties ( ドメインのプロパティ ) をクリックします 5. IFS.DOMAIN.APPLICATION.ApplicationHost をクリックし 値を contentdb_virtual.mycompany.com に設 定して OK をクリックします 6. IFS.DOMAIN.APPLICATION.ApplicationPort をクリックし ロード バランサの contentdb_virtual.mycompany.com ポートである 80 に値を設定します OK をクリックします 7. すべての opmn プロセスを再起動します スケーラビリティおよび高可用性を目的とした Oracle Content Database 中間層の構成 : そのベスト プラクティス 4
1.1.5 構成および設定の確認これで ロード バランサを使用して Oracle Content DB 中間層の最初のインスタンスが設定できました 次に Oracle Content DB アプリケーションが設定どおり機能するか確認します 新しい仮想ロード バランサのアドレスを使用して Oracle Content DB の Web アプリケーションにアクセスしテストします 次に例を示します http://contentdb_virtual.mycompany.com/content 2 ロード バランサを使用した Oracle Content DB の後続の中間層の構成 次のセクションでは ロード バランサを使用した Oracle Content DB の後続中間層の構成手順を説明します Oracle Content Database Installation Guide Oracle Content DB 中間層のインストール の章の手順に従って Oracle Content DB の後続中間層をインストールします その後 次のセクションの手順に従い ロード バランサを使用してその他の中間層を構成します 2.1 ロード バランサを使用した Oracle HTTP Server の構成前述の 1.1.2 ロード バランサを使用した Oracle HTTP Server の構成 の手順に従い ロード バランサを使用して新しい中間層に Oracle HTTP Server を登録し 仮想ホスト コンテナに正しい中間層サーバー名とポートが反映されることを確認します 2.2 仮想ホストの mod_osso への登録 次の手順に従って仮想ホストを mod_osso に登録します 1. opmnctl stopall コマンドを使用して すべての OPMN プロセスを停止します 2. cdb_middletier2.mycompany.com に $ORACLE_HOME/Apache/Apache/conf/osso/osso.conf ファイルの バックアップを作成します 次に例を示します cd $ORACLE_HOME/Apache/Apache/conf/osso/ cp -p osso.conf osso.conf.orig 3. UNIX コピーまたは FTP( バイナリ モード ) により 次のファイルを cdb_middletier1.mycompany.com から cdb_middletier2.mycompany.com の同じ場所にコピーします $ORACLE_HOME/Apache/Apache/conf/osso/osso.conf 4. 次のコマンドを使用して DCM リポジトリとファイルを同期させます $ORACLE_HOME/Apache/Apache/bin/ssotransfer $ORACLE_HOME/Apache/Apache/conf/osso/osso.conf 注意 : この操作では 新しいパートナ アプリケーションは作成されませんが SSO に登録されたパートナ アプリケーション cdbapps.contentdb_virtual.mycompany.com が複数の中間層で使用できます スケーラビリティおよび高可用性を目的とした Oracle Content Database 中間層の構成 : そのベスト プラクティス 5
5. cdb_middletier2.mycompany.com の $ORACLE_HOME/opmn/bin ディレクトリから次のコマンドを実行して cdb_middletier2.mycompany.com のコンポーネントを起動します opmnctl stopall opmnctl startall 6. 管理者として OracleAS Single Sign-On Administration ページにログインし Administer Partner Applications ページで新しい中間層 cdbapp2.cdb_middletier2.mycompany.com に関連したパートナ アプリケーションのエン トリを削除します 2.3 構成の確認 構成を確認するには 1 つの中間層を稼働状態に もう 1 つを停止状態にし ( またはその逆 ) ロード バランサ の仮想サービス URL を使用してアプリケーションにアクセスします 3 構成および設定 次のセクションでは Oracle Content DB の中間層の推奨される構成と設定について説明します ただし この構 成と設定は 中間層のインストール後 変更する必要があります 3.1 Oc4jCacheSize パラメータ Apache エラー ログで MOD_OC4J_0087 などのエラーの発生回数を低減するために Oc4jCacheSize パラメータの設定をお薦めします このパラメータを変更するには 次の手順を実行します 1. 中間層の OPMN プロセスを停止します 2. 中間層マシンで端末ウィンドウを開き $ORACLE_HOME/Apache/Apache/conf に移動します 3. 次のコマンドを入力します cp mod_oc4j.conf mod_oc4j.conf.pre3604573 4. </IfModule> 行と Oc4Jmount /j2ee/* 行の間に 次の行を追加し mod_oc4j.conf ファイルを編集します Oc4jCacheSize 0 5. 中間層で OracleOPMN プロセスを起動します 3.2 すべてのノードの構成 Oracle Content DB の中間層のインストールと構成が完了すると デフォルトの Java ヒープ サイズ パラメータは-Xmx256m として構成されます Content DB のユーザー数が 70 名を超える場合 このパラメータ値を大きくする必要があります 詳細は Oracle Content Database Administrator's Guide の サービスの構成および Java メモリー サイズ変更 を参照してください Java メモリー使用量に関する情報をログ出力するために Java パラメータに verbose:gc オプションを追加することもお薦めします 詳細は Oracle Content Database Administrator's Guide の ノード構成の変更 を参照してください スケーラビリティおよび高可用性を目的とした Oracle Content Database 中間層の構成 : そのベスト プラクティス 6
3.3 ログのローテート Oracle Content DB 中間層環境には アプリケーションに関する情報の取得に役立つ複数のログがあります 次に ログ ファイルの一部が格納されているフォルダのリストを示します $ORACLE_HOME/j2ee/OC4J_Content/application-deployments/content/OC4J_Content_default _island_1 $ORACLE_HOME/content/log/Content $ORACLE_HOME/Apache/Apache/logs $ORACLE_HOME/webcache/logs $ORACLE_HOME/opmn/logs これらのログ ファイルの一部は大容量になる可能性があるため これらのファイルを適切に管理し定期的にローテートする必要があります Oracle Content DB と Oracle Application Server のログ ファイルの管理方法は Oracle Content Database Administrator's Guide および Oracle Application Server Release 2 のドキュメント セットを参照してください 4 まとめ このホワイト ペーパーでは Oracle Content Database(Oracle Content DB) の中間層を複数インスタンス- 構成する際に 特にスケーラブルで高可用性が必要な環境でのベスト プラクティスについて説明しました スケーラビリティおよび高可用性を目的とした Oracle Content Database 中間層の構成 : そのベスト プラクティス 7
スケーラビリティおよび高可用性を目的とした Oracle Content Database 中間層の構成についてのベスト プラクティス 2006 年 8 月著者 : Hareesh Kolpuru 寄稿者 : Prakash Jaganathan Alan Wiersba Mallu Venkatesh Marla Azriel Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問合せ窓口 : 電話 : +1.650.506.7000 ファックス : +1.650.506.7200 www.oracle.com Copyright 2006, Oracle. 無断転載を禁ず この文書はあくまで参考資料であり 掲載されている情報は予告なしに変更されることがあります オラクル社は 本ドキュメントの無謬性を保証しません また 本ドキュメントは 法律で明示的または暗黙的に記載されているかどうかに関係なく 商品性または特定の目的に対する適合性に関する暗黙の保証や条件を含む一切の保証または条件に制約されません オラクル社は 本書の内容に関していかなる保証もいたしません また 本書により 契約上の直接的および間接的義務も発生しません 本書は 事前の書面による承諾を得ることなく 電子的または物理的に いかなる形式や方法によっても再生または伝送することはできません Oracle は Oracle Corporation の登録商標です その他の名称は それぞれの所有者の商標です Oracle JD Edwards PeopleSoft および Siebel は Oracle Corporation および関連会社の登録商標です 他の製品名は それぞれの所有者の商標です