20 エンタープライズ・デプロイメントの共通の構成および管理タスク

この項では、エンタープライズ・デプロイメント環境で実行する必要がある構成および管理タスクについて説明します。

すべてのエンタープライズ・デプロイメントの構成および管理タスク

ここに示すのは、Oracle Fusion Middlewareエンタープライズ・デプロイメントで実行する必要性が高い一般的な構成および管理タスクです。

WLSSchemaDataSourceの適切なサイズ変更および構成の確認

WLSSchemaDataSourceは、JMS JDBCストア、JTA JDBCストアおよびリース・サービスのFMWコンポーネントで使用するために予約されている共通データベースです。WLSSchemaDataSourceは、クリティカルなWLSインフラストラクチャ・サービスで競合を回避し、デッドロックに備えるために使用されます。

WLSSchemaDataSourceの接続使用量を削減するには、JMS JDBCおよびTLOG JDBCストア接続キャッシュ・ポリシーを、各接続キャッシュ・ポリシー設定を使用して「デフォルト」から「最小」に変更します。バックエンド・データベース・システム内の接続数を削減する必要がある場合、キャッシュ・ポリシーを「最小」に設定することをお薦めします。キャッシュ・ポリシー「なし」を使用するとパフォーマンスが低下する可能性があるため、このポリシーは使用しないでください。JDBCストアで使用される接続についての詳細な推奨事項については、『WebLogic永続ストアの管理』で、JDBCストア接続キャッシュ・ポリシーの構成に関する項を参照してください。

WLSSchemaDataSource接続プールのデフォルト・サイズは75です(GridLinkデータ・ソースの場合はサイズが2倍になります)。FMWの各クラスタのサイズと、移行に構成する候補に応じて、このサイズは高い値にチューニングすることができます。たとえば、ストア当たりのワーカー・スレッドがデフォルト値である一般的なSOA EDGデプロイメントを考えてみます。25個を超えるJDBCストアまたはTLOG-in-DBインスタンス(あるいはその両方)が同じWebLogicサーバーにフェイルオーバーでき、「接続キャッシュ・ポリシー」が「デフォルト」から「最小」に変更されていない場合は、接続の競合問題が発生する可能性があります。このような場合は、デフォルトのWLSSchemaDataSourceプール・サイズ(最大容量)を増やす必要があります(各JMSストアは、最小で2つの接続を使用し、リースとJTAが追加されてもプールの競合が発生します)。

管理サーバーの手動フェイルオーバーの検証

ホスト・コンピュータで障害が発生した場合は、管理サーバーを別のホストにフェイルオーバーできます。SOAHOST1およびSOAHOST2からの管理サーバーのフェイルオーバーおよびフェイルバックを検証するステップは、これ以降の項で詳細に説明します。

前提条件:

  • 管理サーバーを、localhostまたは他のホストのアドレスではなく、ADMINVHN上でリスニングするように構成します。

    ADMINVHN仮想IPアドレスの詳細は、「エンタープライズ・デプロイメント用の必須IPアドレスの予約」を参照してください。

  • この手順では、管理サーバーのドメイン・ホーム(ASERVER_HOME)が両方のホスト・コンピュータにマウントされていることを前提にしています。これにより、管理サーバーのドメイン構成ファイルと永続ストアが、共有記憶域デバイスに保存されるようになります。

  • 管理サーバーはSOAHOST1からSOAHOST2アプリケーションにフェイルオーバーし、これら2つのノードには次のIPが割り当てられています。

    • SOAHOST1: 100.200.140.165

    • SOAHOST2: 100.200.140.205

    • ADMINVHN : 100.200.140.206これは管理サーバーを実行している場所の仮想IPであり、SOAHOST1またはSOAHOST2で使用可能になるように仮想サブインタフェース(eth0:1など)に割り当てられます。

  • Oracle WebLogic ServerとOracle Fusion Middlewareのコンポーネントが、このガイドの個々の構成の章で示すように、SOAHOST2にインストールされています。

    具体的には、両方のホスト・コンピュータは、まったく同じパスを使用してOracleホームのバイナリ・ファイルを参照します。

次の項では、管理サーバーのフェイルオーバー手順のテストを実行する方法について詳しく説明します。
ホストごとのノード・マネージャを使用している場合の管理サーバーのフェイルオーバー

次の手順は、管理サーバーを別のノード(SOAHOST2)にフェイルオーバーする方法を示します。フェイルオーバー後でも、管理サーバーは引き続き同じOracle WebLogic Serverマシン(物理マシンではなく論理マシン)を使用することに注意してください。

この手順では、「ホストごとのノード・マネージャ構成の作成」の説明に従って、エンタープライズ・トポロジにホストごとのノード・マネージャが構成されていることを前提としています。詳細は、「標準的なエンタープライズ・デプロイメントのノード・マネージャ構成について」を参照してください。

管理サーバーを別のホストにフェイルオーバーするには:

  1. SOAHOST1で管理サーバーを停止します。

  2. SOAHOST1でノード・マネージャを停止します。

    NM_HOMEで作成されたスクリプトstopNodeManager.shを使用できます。

  3. ADMINVHN仮想IPアドレスを第2ホストに移行します。

    1. SOAHOST1上で次のコマンドをroot権限で実行し(XはADMINVHNで現在使用しているインタフェース)、そのCIDRで仮想IPアドレスを確認します。

      ip addr show dev ethX

      たとえば:

      ip addr show dev eth0
    2. SOAHOST1で次のコマンドをroot権限で実行します(XはADMINVHNで現在使用しているインタフェース)。

      ip addr del ADMINVHN/CIDR dev ethX
      

      たとえば:

      ip addr del 100.200.140.206/24 dev eth0
    3. 次のコマンドをSOAHOST2でrootとして実行します。

      ip addr add ADMINVHN/CIDR dev ethX label ethX:Y 
      

      たとえば:

      ip addr add 100.200.140.206/24 dev eth0 label eth0:1 

      ノート:

      使用するCIDRとインタフェースは、SOAHOST2で使用可能なネットワーク構成と一致している必要があります

  4. arpingを使用してルーティング表を更新します。たとえば:

    arping -b -A -c 3 -I eth0 100.200.140.206
  5. SOAHOST1で、ディレクトリをノード・マネージャ・ホーム・ディレクトリに変更します。

    cd NM_HOME
  6. nodemanager.domainsファイルを編集し、ASERVER_HOMEへの参照を削除します。

    SOAHOST1 nodemanager.domainsファイルで次のようなエントリが生成されます。

    soaedg_domain=MSERVER_HOME;
  7. SOAHOST2で、ディレクトリをノード・マネージャ・ホーム・ディレクトリに変更します。

    cd NM_HOME
  8. nodemanager.domainsファイルを編集し、ASERVER_HOMEへの参照を追加します。

    SOAHOST2 nodemanager.domainsファイルで次のようなエントリが生成されます。

    soaedg_domain=MSERVER_HOME;ASERVER_HOME
  9. SOAHOST1でノード・マネージャを起動し、SOAHOST2でノード・マネージャを再起動します。

  10. SOAHOST2で管理サーバーを起動します。

  11. 次の方法でSOAHOST2上の管理サーバーにアクセスできることをテストします。

    1. 次のURLを使用してOracle WebLogic Server管理コンソールにアクセスできることを確認します。

      http://ADMINVHN:7001/console
      
    2. 次のURLを使用して、Fusion Middleware Controlのコンポーネントにアクセスできることを確認し、そのステータスを検証します。

      http://ADMINVHN:7001/em
Oracle HTTP Serverを介したSOAHOST2上の管理サーバーへのアクセスの検証

AdminServerにアクセスするようにWeb層を構成してある場合、標準の管理URLを使用して、管理サーバーの手動フェイルオーバーを実行した後で管理サーバーにアクセスできるかどうかを確認することが重要です。

ロード・バランサから次のURLにアクセスして、SOAHOST2で稼働中の管理サーバーにアクセスできることを確認します。

  • http://admin.example.com/console

    このURLはWebLogic Server管理コンソールを表示するはずです。

  • http://admin.example.com/em

    このURLはOracle Enterprise Manager Fusion Middleware Controlを表示するはずです。

ホストごとのノード・マネージャを使用する場合の管理サーバーのSOAHOST1へのフェイルバック

管理サーバーの手動フェイルオーバーをテストし、フェイルオーバー後に管理URLにアクセスできることを確認したら、管理サーバーを元のホストに戻すことができます。

この手順では、「ホストごとのノード・マネージャ構成の作成」の説明に従って、エンタープライズ・トポロジにホストごとのノード・マネージャが構成されていることを前提としています。詳細は、「標準的なエンタープライズ・デプロイメントのノード・マネージャ構成について」を参照してください。

  1. SOAHOST2で管理サーバーを停止します。
  2. SOAHOST2でノード・マネージャを停止します。
  3. 次のコマンドをSOAHOST2上でrootとして実行します。
    ip addr del ADMINVHN/CIDR dev ethX
    
    たとえば:
    ip addr del 100.200.140.206/24 dev eth0
  4. 次のコマンドをSOAHOST1上でrootとして実行します。
    ip addr add ADMINVHN/CIDR dev ethX label ethX:Y  
    たとえば:
    ip addr add 100.200.140.206/24 dev eth0 label eth0:1

    ノート:

    使用するCIDRとインタフェースは、SOAHOST1で使用可能なネットワーク構成と一致している必要があります

  5. SOAHOST1上でarpingを使用して、ルーティング表を更新します。
    arping -b -A -c 3 -I eth0 100.200.140.206
    
  6. SOAHOST2で、ディレクトリをノード・マネージャ・ホーム・ディレクトリに変更します。
    cd NM_HOME
  7. nodemanager.domainsファイルを編集し、ASERVER_HOMEへの参照を削除します。
  8. SOAHOST1で、ディレクトリをノード・マネージャ・ホーム・ディレクトリに変更します。
    cd NM_HOME
  9. nodemanager.domainsファイルを編集し、ASERVER_HOMEへの参照を追加します。
  10. SOAHOST2でノード・マネージャを起動し、SOAHOST1でノード・マネージャを再起動します。
  11. SOAHOST1で管理サーバーを起動します。
  12. 次のURLを使用して、Oracle WebLogic Server管理コンソールにアクセスできることをテストします。
    http://ADMINVHN:7001/console
    
  13. 次のURLを使用して、Oracle Enterprise Managerにアクセスできることと、そこでのコンポーネントのステータスを確認できることを確認します。
    http://ADMINVHN:7001/em

動的クラスタ・サーバー・テンプレートでのリスニング・アドレスの構成

動的クラスタにおける動的な管理対象サーバーのデフォルト構成では、使用可能なネットワーク・インタフェースすべてでリスニングするようになっています。ほとんどの場合、これでは不適切です。

障害時リカバリに備えて、別のデータ・センター内の別のIPにマップできるホスト名別名(たとえば、SOAHOST1SOAHOST2)を使用して、それぞれのサーバーのリスニング・アドレスを特定のネットワーク・インタフェースに設定することをお薦めします。動的クラスタでは、それぞれのサーバーを限定的に構成することはできません。リスニング・アドレス構成は、クラスタのserver-templateに1つのみ存在します。クラスタ内の各動的サーバーのlisten-addressプロパティを効率的に設定するために、計算されるマクロを使用する必要があります。

WebLogic Serverには、クラスタ内の動的サーバーの索引番号に対応する"${id}"マクロがあります。この索引は、数字の"1"から始まり、現在のクラスタの管理対象サーバー数だけ増加されます。この連続採番されるサーバーIDマクロは、動的サーバーごとに特定のネットワーク・インタフェースでリスニングするようにリスニング・アドレスが計算される、推奨のホストのネーミング・パターンに使用できます。

このアプローチは、クラスタ当たりのホストごとに管理対象サーバーが1つのみ存在し、クラスタのスケールアウトが水平方向に限定されると見込まれるエンタープライズ・デプロイメント環境にお薦めします。

${id}マクロを使用してserver-templateのリスニング・アドレスを構成するには:

  1. /etc/hostsで、必要なSOAHOSTnエントリが、意図したマシンの適切なIPアドレスに構成されていることを確認します。
    たとえば:
    10.229.188.205 host1.example.com host1 SOAHOST1
    10.229.188.206 host2.example.com host2 SOAHOST2
    10.229.188.207 host3.example.com host3 WEBHOST1
    10.229.188.208 host4.example.com host4 WEBHOST2

    名前解決の要件の詳細は、「DNSまたはホスト・ファイルでのIPアドレスとホスト名の確認」を参照してください。

  2. Oracle WebLogic Server管理コンソールに移動して、管理者の資格証明でサインインします。
    http://adminvhn:7001/console
  3. ドメインをロックして編集します。
  4. 「クラスタ」「サーバー・テンプレート」に移動し、変更するサーバー・テンプレートを選択します。
  5. 「リスニング・アドレス」値を、抽象化された適切なリスナー・ホスト名に設定し、所定の変数を割り当てます。

    たとえば:

    wsmpm-server-template Listen Address = SOAHOST${id}

    図20-1 リスニング・アドレス値をSOAHOST${id}に設定した図

    図20-1の説明が続きます
    「図20-1 リスニング・アドレス値をSOAHOST${id}に設定した図」の説明
  6. 「保存」をクリックします。
  7. その他のサーバー・テンプレートを変更する必要がある場合は、ステップ4以降を繰り返します。
  8. 「変更のアクティブ化」をクリックします。
  9. テンプレートを使用するサーバーを再起動して、変更内容を有効にします。
マシン名を使用したサーバー・テンプレートのリスニング・アドレスの構成

ホストのネーミングまたは別名指定の規則が各動的サーバーの内部ID番号と相関する1から始まる連続採番パターンに従っていない場合、またはクラスタ当たりのホストごとに複数の管理対象サーバーでクラスタをスケールアップしようとしている場合は、別の構成が必要になります。この場合、ホスト名の接頭辞とサーバーIDのマクロ・パターンを使用するかわりに、${machineName}マクロの値を使用して特定のリスニング・アドレスを指定できます。${machineName}マクロは、サーバーに動的に割り当てられるマシンの表示名を使用します。そのマシン名は、IPアドレスに解決される必要があります。

${machineName}マクロでserver-templateのリスニング・アドレスを構成するには:

  1. Oracle WebLogic Server管理コンソールに移動し、管理者の資格証明を使用してサインインします。

    http://adminvhn:7001/console
  2. 「マシン」に移動して、マシン名のリストを確認します。

  3. それらの名前がネットワーク・アドレスとして解決されることを確認するために、OSのコマンド(pingなど)を使用します。

  4. ドメインをロックして編集します。

  5. 「クラスタ」「サーバー・テンプレート」の順に移動して、変更するserver-templateを選択します。

  6. 「リスニング・アドレス」の値を${machineName}に設定します。ここに示したとおりに設定します。その他の値を代用しないでください。

  7. 「保存」をクリックします。

  8. 別のserver-templateも変更する場合は、ステップ5を繰り返します。

  9. 「変更のアクティブ化」をクリックします。

  10. 変更したserver-templateを使用するサーバーを再起動して、変更内容を有効にします。

エンタープライズ・デプロイメントでのuploadおよびstageディレクトリの絶対パスへの変更

ドメインを構成し、すべてのホスト上の管理対象サーバー・ドメイン・ディレクトリにそのドメインを解凍した後、新しいクラスタ内の管理対象サーバーのuploadディレクトリとstageディレクトリを検証および更新します。また、AdminServerのアップロード・ディレクトリを、相対パスではなく同じ絶対パスを持つように更新します。そうしないとデプロイメントの問題が発生する可能性があります。動的クラスタを実装する場合、新しく追加した各クラスタに割り当てられたサーバー・テンプレートの構成を検証および更新する必要があります。そうでない場合、新しく追加したクラスタの静的に定義された各管理対象サーバーを検証および構成します。

このステップは、リモート・デプロイメントの実行時の潜在的な問題の回避と、ステージ・モードが必要なデプロイメントのために必要です。

デプロイメント・ステージとアップロード場所のディレクトリ・パスを更新するには、次のステップを実行します。

  1. Oracle WebLogic Server管理コンソールにログインします。

  2. 左側のナビゲーション・ツリーで、「ドメイン」「環境」を開きます。

  3. 「ロックして編集」をクリックします。

  4. 使用するクラスタ・タイプに適したオブジェクトに移動して編集します。

    1. 静的クラスタの場合は「サーバー」にナビゲートし、編集する管理対象サーバーの名前をクリックします。

    2. 動的クラスタの場合、「クラスタ」「サーバー・テンプレート」に移動し、編集するサーバー・テンプレートの名前をクリックします。

  5. 編集する新しい管理対象サーバーまたはサーバー・テンプレートごとに、次の手順を実行します。
    1. 「構成」タブをクリックし、「デプロイメント」タブをクリックします。

    2. 「ステージング・ディレクトリ名」が次のように設定されていることを確認します。

      MSERVER_HOME/servers/server_or_template_name/stage
      

      MSERVER_HOMEを、MSERVER_HOMEディレクトリのフルパスで置き換えます。

      静的クラスタを使用する場合、編集対象の管理対象サーバーの正しい名前を使用して更新します。

      動的クラスタを使用する場合、テンプレート名はそのままにしておきます。たとえば: /u02/oracle/config/domains/soaedg_domain/servers/XYZ-server-template/stage

    3. 「アップロード・ディレクトリ名」を次の値に更新します。

      ASERVER_HOME/servers/AdminServer/upload
      

      ASERVER_HOMEASERVER_HOMEディレクトリのディレクトリ・パスに置き換えます。

    4. 「保存」をクリックします。

    5. 「サーバーのサマリー」または「サーバー・テンプレートのサマリー」画面(該当する方)に戻ります。

  6. 新しい管理対象サーバー、または動的クラスタのサーバー・テンプレートそれぞれについて前述のステップを繰り返します。

  7. 移動して、AdminServerの「アップロード・ディレクトリ名」の値を更新します。

    1. 「サーバー」に移動して「AdminServer」を選択します。

    2. 「構成」タブをクリックし、「デプロイメント」タブをクリックします。

    3. 「ステージング・ディレクトリ名」が次の絶対パスに設定されていることを確認します。

      ASERVER_HOME/servers/AdminServer/stage

    4. 「アップロード・ディレクトリ名」を次の絶対パスに更新します。

      ASERVER_HOME/servers/AdminServer/upload

      ASERVER_HOMEASERVER_HOMEディレクトリのディレクトリ・パスに置き換えます。

    5. 「保存」をクリックします。

  8. 該当するすべてのオブジェクトを変更したら、「変更のアクティブ化」をクリックします。

  9. 変更内容を有効にするためにすべての管理対象サーバーを再起動します。EDGのステップを順に実行しており、すぐには何もデプロイしない場合は次の再起動まで待つこともできます。

ノート:

次のドメインの構成を直接続行する場合は、ステージおよびアップロード・ディレクトリの変更を有効にするための再起動が、ここで必ず必要なわけではありません。

WebLogicクラスタのフロントエンド・ホストおよびポートの設定

Oracle SOA SuiteサーバーをホストするOracle WebLogic Serverクラスタについて、フロントエンドHTTPのホストとポートを設定する必要があります。これらの値は、ドメインのプロパティを指定する際に構成ウィザードで指定できます。ただし、Oracle SOA Suiteエンタープライズ・デプロイメントの一部にSOAクラスタを追加する場合、このタスクはSOA管理対象サーバーの検証後に実行することをお薦めします。

Weblogic Server管理コンソールでフロントエンド・ホストおよびポートを設定するには:

  1. WebLogic Server管理コンソールにログインします。
  2. 「チェンジ・センター」で「ロックして編集」をクリックします。
  3. 「ドメイン構造」パネルで、「環境」を開き、「クラスタ」をクリックします。
  4. 「クラスタ」ページで、変更するクラスタをクリックし、「HTTP」タブを選択します。
  5. 表20-1の情報を利用して、必要なフロントエンド・ホスト名およびポートを各クラスタに追加します。

    表20-1 各クラスタのフロントエンド・ホスト名およびポート

    名前 クラスタ・アドレス フロントエンド・ホスト フロントエンドHTTPポート フロントエンドHTTPS

    SOA_Cluster

    空白のままにします

    soa.example.com

    80

    443

    WSM-PM_Cluster

    空白のままにします

    soainternal.example.com

    80

    空白のままにします

    OSB_Cluster

    空白のままにします

    osb.example.com

    80

    443

    ESS_Cluster

    空白のままにします

    soa.example.com

    80

    443

    BAM_Cluster

    空白のままにします

    soa.example.com

    80

    443

    MFT_Cluster

    空白のままにします

    mft.example.com

    80

    443

  6. 「保存」をクリックします。
  7. 「変更のアクティブ化」をクリックします。
  8. クラスタの管理対象サーバーを再起動します。

中間層とハードウェア・ロード・バランサ間のSSL通信の有効化

中間層とハードウェア・ロード・バランサ間のSSL通信を有効にする方法を理解することが重要です。

ノート:

次のステップは、ハードウェア・ロード・バランサにSSLが構成されており、その結果システムのフロント・エンド・アドレスが保護されている場合に使用できます。

中間層とロード・バランサ間のSSL通信が必要になるとき

エンタープライズ・デプロイメントには、中間層で実行されているソフトウェアが、ハードウェア・ロード・バランサのフロントエンドSSLアドレスにアクセスしなければならないシナリオがあります。このシナリオでは、ロード・バランサと起動サーバー間で、適切なSSLハンドシェイクが行われる必要があります。中間層の管理サーバーと管理対象サーバーが適切なSSL構成を使用して起動されていない場合は、このハンドシェイクを実行できません。

たとえば、Oracle SOA Suiteエンタープライズ・デプロイメントでは、次のような例が該当します。

  • Oracle Business Process ManagementおよびSOA Composerでは、特定のWebインスタンス経由でロール情報やセキュリティ情報を取得しようとするときに、フロントエンド・ロード・バランサのURLにアクセスする必要があります。一部の呼出しについては、LBR証明書をWebLogicサーバーの信頼ストアに追加する必要があるだけでなく、SOAサーバーのリスニング・アドレス用に適切なアイデンティティ・キー証明書を作成する必要もあります。

  • Oracle Service Busは、ロード・バランサのSSL仮想サーバーで公開されているエンドポイントに対する呼出しを実行する。

  • Oracle SOA Suiteのコンポジット・アプリケーションとサービスは、ロード・バランサで公開されているSSLアドレスを使用して呼出しを実行する必要のあるコールバックを、頻繁に生成する。

  • Oracle Enterprise Manager Fusion Middleware ControlでSOA Webサービスのエンドポイントをテストするとき、管理サーバーで実行されているFusion Middleware Controlソフトウェアは、ロード・バランサのフロントエンドにアクセスして、エンドポイントを検証する必要がある。

utils.CertGenユーティリティを使用した自己署名証明書の生成

この項では、SOAHOST1に自己署名証明書を作成する手順を説明します。各ホストのネットワーク名または別名を使用して、各アプリケーション層ホストの証明書を作成します。

キーストアおよびトラスト・キーストアを保持するディレクトリは、すべてのノードからアクセスできる共有記憶域に配置して、サーバーが(手動またはサーバー移行により)フェイルオーバーしたときにフェイルオーバー・ノードから適切な証明書にアクセスできるようにする必要があります。様々な目的(HTTPを起動するためのSSL設定など)で使用される証明書には、中央ストアまたは共有ストアを使用することをお薦めします。「エンタープライズ・デプロイメント用の推奨ディレクトリ構造について」に示した、KEYSTORE_HOMEの場所のファイルシステム仕様に関する情報を参照してください。

かわりに信頼できるCA証明書を使用する方法は、『Oracle WebLogic Serverセキュリティの管理』のアイデンティティとトラストの構成に関する情報を参照してください。

パスワードについて

このマニュアルで使用するパスワードは、あくまでも例にすぎません。本番環境ではセキュアなパスワードを使用してください。たとえば、大文字と小文字の両方および数字を含むパスワードを使用します。

自己署名証明書を作成するには:

  1. 一時的に、次のスクリプトを実行して環境を設定します。
    . WL_HOME/server/bin/setWLSEnv.sh

    現在のシェルでシェル・スクリプトを参照するために、スクリプト名の前にドット(.)と空白( )があることに注意してください。

  2. CLASSPATH環境変数が設定されていることを確認します。
    echo $CLASSPATH
    
  3. 共有構成ディレクトリ・フォルダが作成され、「エンタープライズ・デプロイメント用のファイル・システムの準備」で説明されているように共有記憶域に正しくマウントされていることを確認します。

    たとえば、次のコマンドを使用して、各ホストで共有構成ディレクトリが使用できることを確認します。

    df -h | grep -B1 SHARED_CONFIG_DIR

    SHARED_CONFIG_DIRを、共有構成ディレクトリへの実際のパスに置き換えます。

    ディレクトリを表示して、ホストで使用できることを確認することもできます。

    ls -al SHARED_CONFIG_DIR
  4. キーストア・ホーム・フォルダ構造が存在しない場合は、作成します。

    たとえば:

    cd SHARED_CONFIG_DIR
    mkdir keystores
    chown oracle:oinstall keystores
    chmod 750 keystores
    export KEYSTORE_HOME=SHARED_CONFIG_DIR/keystores
  5. ディレクトリを、キーストア・ホームに変更します。
    cd KEYSTORE_HOME
  6. utils.CertGenツールを実行して、管理対象サーバーおよびノード・マネージャによって使用されるホスト名または別名の証明書を、ポストごとに1つずつ作成します。

    ノート:

    utils.CertGenツールを実行して、管理対象サーバーを実行する他のホストすべての証明書を作成する必要があります。

    構文:

    java utils.CertGen key_passphrase cert_file_name key_file_name [export | domestic] [hostname]

    例:

    java utils.CertGen password ADMINVHN.example.com_cert \
          ADMINVHN.example.com_key domestic ADMINVHN.example.com
    
    java utils.CertGen password SOAHOST1.example.com_cert \
          SOAHOST1.example.com_key domestic SOAHOST1.example.com
    
  7. システムで使用される残りのすべてのホストに対して、前のステップを繰り返します。
  8. 動的クラスタの場合は、ADMINVHNと、ホストごとに1つの証明書に加えて、ワイルドカードURLに証明書も生成する必要があります。

    たとえば:

    java utils.CertGen password WILDCARD.example.com_cert \ 
    WILDCARD.example.com_key domestic \*.example.com 
    
utils.ImportPrivateKeyユーティリティを使用したアイデンティティ・キーストアの作成

この項では、SOAHOST1.example.comでアイデンティティ・キーストアを作成する方法について説明します。

前の項では、証明書とキーを作成して、それを共有記憶域に配置しました。この項では、すべてのホストとADMINVHNのために作成した証明書と秘密キーを新しいアイデンティティ・ストアにインポートします。インポートする証明書とキーの各組合せに対して異なる別名を使用してください。

ノート:

アイデンティティ・ストアは、utils.ImportPrivateKeyユーティリティを使用して証明書および対応するキーをインポートすることで作成されます(存在していない場合)。

  1. ADMINVHNおよびSOAHOST1の証明書と秘密キーをアイデンティティ・ストアにインポートします。インポートする証明書とキーの各組合せに対して異なる別名を使用してください。

    構文:

    java utils.ImportPrivateKey
          -certfile cert_file
          -keyfile private_key_file
          [-keyfilepass private_key_password]
          -keystore keystore
          -storepass storepass
          [-storetype storetype]
          -alias alias 
          [-keypass keypass]

    ノート:

    デフォルトのkeystore_typeはjksです。

    例:

    java utils.ImportPrivateKey \ 
         -certfile KEYSTORE_HOME/ADMINVHN.example.com_cert.pem \
         -keyfile KEYSTORE_HOME/ADMINVHN.example.com_key.pem \
         -keyfilepass password \
         -keystore appIdentityKeyStore.jks \ 
         -storepass password \
         -alias ADMINVHN \
         -keypass password
    
    java utils.ImportPrivateKey \ 
         -certfile KEYSTORE_HOME/SOAHOST1.example.com_cert.pem \
         -keyfile KEYSTORE_HOME/SOAHOST1.example.com_key.pem \
         -keyfilepass password \
         -keystore appIdentityKeyStore.jks \
         -storepass password \ 
         -alias SOAHOST1 \
         -keypass password
  2. 残りのホスト固有の証明書とキーの各組合せに対して、java importPrivateKeyコマンドを繰り返します。(たとえば、SOAHOST1SOAHOST2に対して実行します)。

    ノート:

    インポートする証明書とキーの各組合せに対して一意の別名を使用してください。

  3. 動的クラスタの場合は、WILDCARDのカスタムID別名を使用して、ワイルドカード証明書と秘密キーのペアをインポートします。

    例:

    ${JAVA_HOME}/bin/java utils.ImportPrivateKey \ 
    -certfile ${KEYSTORE_HOME}/WILDCARD.example.com_cert.pem \ 
    -keyfile ${KEYSTORE_HOME}/WILDCARD.example.com_key.pem \ 
    -keyfilepass password \ 
    -keystore ${KEYSTORE_HOME}/appIdentityKeyStore.jks \ 
    -storepass password \
    -alias WILDCARD \ 
    -keypass password
keytoolユーティリティを使用した信頼キーストアの作成

SOAHOST1.example.comに信頼キーストアを作成するには:

  1. 新しい信頼キーストアを作成するには、標準のJavaキーストアをコピーします。これは、必要なほとんどのルートCA証明書がこのJavaキーストアに存在しているからです。

    標準のJava信頼キーストアを直接変更することはお薦めしません。WL_HOME/server/libディレクトリにある標準のJavaキーストアのCA証明書を、証明書のあるディレクトリにコピーします。たとえば:

    cp WL_HOME/server/lib/cacerts KEYSTORE_HOME/appTrustKeyStore.jks
    
  2. キーツール・ユーティリティを使用してデフォルト・パスワードを変更します。

    標準のJavaキーストアのデフォルトのパスワードはchangeitです。デフォルトのパスワードは次のように必ず変更することをお薦めします。

    keytool -storepasswd -new NewPassword -keystore TrustKeyStore -storepass Original_Password
    

    たとえば:

    keytool -storepasswd -new password -keystore appTrustKeyStore.jks -storepass changeit
    
  3. キーツール・ユーティリティを使用してCA証明書をappTrustKeyStoreにインポートします。

    CA証明書CertGenCA.derは、utils.CertGenツールによって生成されるすべての証明書の署名に使用され、WL_HOME/server/libディレクトリに置かれています。

    次の構文を使用して、証明書をインポートします。

    keytool -import -v -noprompt -trustcacerts -alias AliasName -file CAFileLocation -keystore KeyStoreLocation -storepass KeyStore_Password
    

    たとえば:

    keytool -import -v -noprompt -trustcacerts -alias clientCACert -file WL_HOME/server/lib/CertGenCA.der -keystore appTrustKeyStore.jks -storepass password
    
トラスト・ストアへのロード・バランサ証明書のインポート

SSLハンドシェイクが適切に行われるようにするには、ロード・バランサの証明書をWLSサーバーのトラスト・ストアに追加する必要があります。ロード・バランサの証明書を追加するには:

  1. ブラウザでSSLのサイトにアクセスします(これにより、サーバーの証明書がブラウザのリポジトリに追加されます)。
  2. ロード・バランサから証明書を取得します。ロード・バランサの証明書は、Firefoxなどのブラウザを使用して取得できます。ブラウザの証明書管理ツールから、証明書を、サーバーのファイル・システム上のファイル(ファイル名soa.example.com.crtなど)にエクスポートします。または、opensslコマンドを使用して、証明書を取得することもできます。コマンドの構文は、次のとおりです。
    openssl s_client -connect LOADBALANCER -showcerts </dev/null 2>/dev/null|openssl x509 -outform PEM > KEYSTORE_HOME/LOADBALANCER.pem

    たとえば:

    openssl s_client -connect soa.example.com:443 -showcerts </dev/null 2>/dev/null|openssl x509 -outform PEM > KEYSTORE_HOME/soa.example.com.crt

  3. keytoolを使用して、ロード・バランサの証明書をトラスト・ストアにインポートします。

    たとえば:

    keytool -import -file /oracle/certificates/soa.example.com.crt -v -keystore appTrustKeyStore.jks -alias aliasSOA -storepass password
    keytool -import -file /oracle/certificates/osb.example.com.crt -v -keystore appTrustKeyStore.jks -alias aliasOSB -storepass password
    
  4. デプロイメント内の各SSLロード・バランサ仮想ホストについて、この手順を繰り返します。

ノート:

WLSサーバー・トラスト・ストアにロード・バランサ証明書を追加する必要があるのは、自己署名証明書の場合のみです。サードパーティの認証局が発行したロード・バランサ証明書の場合は、ルートの公開証明書と中間証明書をトラスト・ストアにインポートする必要があります。

Oracle WebLogic Server起動スクリプトへの更新済トラスト・ストアの追加
setDomainEnv.shスクリプトは、Oracle WebLogic Serverによって提供され、ドメイン内の管理サーバーと管理対象サーバーの起動に使用されます。各サーバーが更新済のトラスト・ストアにアクセスできるようにするには、エンタープライズ・デプロイメント内の各ドメイン・ホーム・ディレクトリのsetDomainEnv.shスクリプトを次のように編集します。
  1. SOAHOST1にログインして、テキスト・エディタで次のファイルを開きます。
    ASERVER_HOME/bin/setDomainEnv.sh
    
  2. 既存のDemoTrust.jksエントリへの参照を、次のエントリに置き換えます :

    ノート:

    EXTRA_JAVA_PROPERTIESのすべての値をファイル内に1行で記述し、その後の新規行にexportコマンドを記述する必要があります。

    EXTRA_JAVA_PROPERTIES="-Djavax.net.ssl.trustStore=/u01/oracle/config/keystores/appTrustKeyStore.jks ${EXTRA_JAVA_PROPERTIES} ......." 
    export EXTRA_JAVA_PROPERTIES
  3. SOAHOST1およびSOAHOST2MSERVER_HOME/binディレクトリにあるsetDomainEnv.shファイルに、同じ変更を行います。

    ノート:

    ASERVER_HOME/binMSERVER_HOME/binの間でsetDomainEnv.shファイルをコピーすることはできません。この2つのドメイン・ホームの場所ではファイルに相違があるためです。MSERVER_HOME/bin/setDomainEnv.shファイルは、ホスト間でコピーできます。

    ドメイン拡張のたびに、WebLogic Serverは自動的にsetDomainEnv.shファイルを上書きします。パッチの一部も、このファイルを置き換える場合があります。これらのタイプのメンテナンス操作を行うたびに、setDomainEnv.shに対するカスタマイズ内容を検証してください。

カスタム・キーストアを使用するためのOTDノード・マネージャの構成
Web層のOracle Traffic Directorインスタンスのノード・マネージャは、SSLを使用して、アプリケーション層のAdminServerと通信します。WEBHOSTはDMZにあるので、セキュリティ上の理由から、DMZでSSLプロトコルを使用することをお薦めします。カスタム・キーストアを使用するようにこれらのノード・マネージャを構成するには、各Web層ノードのWEB_DOMAIN_HOME/nodemanagerディレクトリにあるnodemanager.propertiesファイルの最後に、次の行を追加します。
KeyStores=CustomIdentityAndCustomTrust
CustomIdentityKeyStoreFileName=Identity KeyStore
CustomIdentityKeyStorePassPhrase=Identity KeyStore Passwd
CustomIdentityAlias=Identity Key Store Alias
CustomIdentityPrivateKeyPassPhrase=Private Key used when creating Certificate

ノード・マネージャのリスニング・アドレスのCustomIdentityAliasには必ず正しい値を使用してください。「utils.ImportPrivateKeyユーティリティを使用したアイデンティティ・キーストアの作成」での説明に従って、WEBHOST1で別名WEBHOST1を使用し、WEBHOST2で別名WEBHOST2を使用します。

WEBHOST1の場合の例:

KeyStores=CustomIdentityAndCustomTrust
CustomIdentityKeyStoreFileName=WEB_KEYSTORE_HOME/appIdentityKeyStore.jks
CustomIdentityKeyStorePassPhrase=password
CustomIdentityAlias=WEBHOST1
CustomIdentityPrivateKeyPassPhrase=password

この例では、WT_KEYSTORE_HOMEがWEBHOSTのローカル・フォルダです(表7-3を参照)。アプリケーション層から各Web層のWT_KEYSTORE_HOMEの場所へ、必ずappIdentityKeyStore.jksをコピーしてください。セキュリティを強化するために、Webホスト・キーのみを含むappIdentityKeyStore.jksを使用することもできます。

変更を有効にするには、ノード・マネージャを起動する必要があります。「WEBHOST1およびWEBHOST2でのノード・マネージャの起動」の説明に従ってノード・マネージャを起動すると、nodemanager.propertiesファイルにあるパスフレーズのエントリは暗号化されます。セキュリティ上の理由から、nodemanager.propertiesファイルのエントリが暗号化されていない状態になる時間は最小限に抑えてください。ファイルを編集した後、速やかにノード・マネージャを再起動し、エントリを暗号化します。

カスタム・キーストアを使用するためのWebLogic Serverの構成
Oracle WebLogic Server管理コンソールを使用して、カスタム・キーストアを使用するようにWebLogic Serverを構成します。SSL上のフロント・エンドLBRへのアクセスが必要な管理サーバーおよび管理対象サーバーに対して、次の手順を実行します。

IDキーストアおよび信頼キーストアを構成するには:

  1. 管理コンソールにログインして「ロックして編集」をクリックします。
  2. 管理対象サーバーのタイプに基づいて移動します。
    構成済の管理対象サーバーの場合:
    1. 「ドメイン構造」ペインで「環境」を開き、「サーバー」を選択します。
    2. IDキーストアおよび信頼キーストアを構成するサーバーの名前をクリックします。
    動的な管理対象サーバーの場合:
    1. 「ドメイン構造」ペインで、「環境」「クラスタ」を開いて、「サーバー・テンプレート」を選択します。
    2. アイデンティティ・キーストアおよび信頼キーストアを構成する適切なサーバー・テンプレートの名前をクリックします。
  3. 「構成」を選択して、「キーストア」を選択します。
  4. 「キーストア」フィールドで、「変更」をクリックし、秘密キー/デジタル証明書のペアおよび信頼できるCA証明書の格納および管理に使用するための「カスタム・アイデンティティとカスタム信頼」方法を選択して、「保存」をクリックします。
  5. 「ID」セクションで、アイデンティティ・キーストアの属性を定義します。
    • カスタムIDキーストア: アイデンティティ・キーストアの完全修飾パスを入力します。

      KEYSTORE_HOME/appIdentityKeyStore.jks 
      
    • カスタムIDキーストアのタイプ: このフィールドは空白のままにします(デフォルトのJKSになります)。

    • カスタムIDキーストアのパスフレーズ: 「utils.ImportPrivateKeyユーティリティを使用したアイデンティティ・キーストアの作成」で指定したパスワードKeystore_Passwordを入力します

      この属性はオプションの場合も必須の場合もあります。どちらになるかはキーストアのタイプによって決まります。すべてのキーストアで、キーストアに書き込むためにはパスワードが必須です。ただし、一部のキーストアでは、キーストアからの読取りにパスフレーズは不要です。WebLogic Serverはキーストアからの読取りのみを行うため、このプロパティを定義するかどうかは、キーストアの要件によって決まります。

  6. 「信頼」セクションで、トラスト・キーストアの次のプロパティを定義します。
    • カスタム信頼キーストア: トラスト・キーストアの完全修飾パスを入力します。

      KEYSTORE_HOME/appTrustKeyStore.jks 
      
    • カスタム信頼キーストアのタイプ: このフィールドは空白のままにします(デフォルトのJKSになります)。

    • カスタム信頼キーストアのパスフレーズを確認: Keytoolユーティリティを使用した信頼キーストアの作成でNew_Passwordの値として指定したパスワード。

      前のステップで説明したとおり、この属性はオプションの場合も必須の場合もあり、どちらになるかはキーストアのタイプによって決まります。

  7. 「保存」をクリックします。
  8. 管理コンソールのチェンジ・センターで「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。
  9. 「ロックして編集」をクリックします。
  10. 「構成」をクリックし、「SSL」をクリックします。
  11. 次のように、SSLアイデンティティの詳細を更新します。
    1. 「秘密キーの別名」フィールドに、適切な秘密キーの別名値を入力します。
      • 静的クラスタに対して: 管理対象サーバーがリスニングするホストに対応する別名を入力します。

      • 動的クラスタに対して: 動的な管理対象サーバーが任意のサーバーに一致するように、ワイルドカード別名を入力します。

    2. 「秘密キーのパスフレーズ」フィールドと「秘密キーのパスフレーズを確認」フィールドで、「utils.ImportPrivateKeyユーティリティを使用したIDキーストアの作成」で作成したキーストアのパスワードを入力します。
  12. 「保存」をクリックします。
  13. 動的クラスタのサーバー・テンプレートのSSL構成を更新する場合は、次の追加タスクを実行します。
    1. SSLビューの下部にある「詳細」リンクをクリックします。
    2. 「ホスト名の検証」メニューから「カスタム・ホスト名の検証」オプションを選択します。
    3. 「カスタム・ホスト名の検証」の値をweblogic.security.utils.SSLWLSWildcardHostnameVerifierに設定します。
    4. 「保存」をクリックします。
  14. 「管理コンソール」の「チェンジ・センター」で、「変更のアクティブ化」をクリックして、これらの変更を有効にします。
  15. 管理サーバーを再起動します。
  16. キーストアが更新された管理対象サーバーを再起動します。

    ノート:

    管理コンソール/ノード・マネージャを使用してサーバーを再起動できるということは、ノード・マネージャ、管理サーバーおよび管理対象サーバー間の通信が正常であるということです。

  17. Oracle Traffic Directorを使用する場合は、ノード・マネージャ・キーストアが更新されたOTDインスタンスを再起動します。
SSLエンドポイントを使用したコンポジットのテスト

SSLが有効になると、Oracle Enterprise Manager FMW Controlから、SSL上のコンポジット・エンドポイントを検証できます。SSLエンドポイントをテストするには、次のステップに従います。

  1. ブラウザに次のURLを入力し、Fusion Middleware Controlログイン画面を表示します。
    http://ADMINVHN:7001/em
    

    この例では、次のようになります。

  2. 管理ユーザー資格証明を使用してFusion Middleware Controlにログインします。
  3. 左側のツリーから、SOAを展開し、「soa-infra」 (WLS_SOA1)をクリックします。
  4. 「デプロイ済コンポジット」ナビゲーション・タブ・リンクをクリックします。
  5. 「コンポジット」をクリックして、コンポジットのダッシュボード・ビューを開きます。
  6. 「テスト」ボタンをクリックし、ドロップダウンからサービスの1つを選択します。
  7. WSDLまたはWADLのアドレスで、ベースURL (http://SOAHOST1:8001)をフロントエンド・ロードバランサのベースURL (https://soa.example.com:443)で置き換え、URIリソース・パスと問合せ文字列は変更しないでおきます。
  8. 「WSDLまたはWADLの解析」をクリックします。
  9. 表示されるエンドポイントURLがSSLであり、エラーが返されないことを確認します。
  10. コンポジットをテストします。Webサービスのレスポンスが期待どおりであれば、管理サーバーとロード・バランサ間のSSL通信は正常に構成されています。

エンタープライズ・デプロイメントの管理用のロールの構成

1つのエンタープライズ・デプロイメント・ドメインで各製品を効果的に管理するには、どの製品が特定の管理ロールまたはグループを必要とするか、また製品固有の管理ロールをエンタープライズ・デプロイメント管理グループにどのように追加するかを理解する必要があります。

各エンタープライズ・デプロイメントは複数の製品で構成されています。製品の一部には、各製品への管理アクセスの制御に使用される、特定の管理ユーザー、ロールまたはグループが存在します。

ただし、複数の製品で構成されているエンタープライズ・デプロイメントでは、単一のLDAPベースの認可プロバイダと、単一の管理ユーザーおよびグループを使用して、デプロイメントのあらゆる側面に対するアクセスを制御できます。「新しいLDAPオーセンティケータの作成と新しいエンタープライズ・デプロイメント管理者ユーザーおよび管理者グループのプロビジョニング」を参照してください。

単一のエンタープライズ・デプロイメント・ドメイン内で各製品を効率的に管理できるようにするには、特定の管理ロールまたはグループを必要とする製品を理解すること、単一の共通エンタープライズ・デプロイメントの管理グループに特定の製品管理ロールを追加する方法を知ること、さらに必要な場合は、必須の製品固有の管理グループにエンタープライズ・デプロイメントの管理ユーザーを追加する方法を知ることが必要になります。

詳細な情報は、次のトピックを参照してください

特定の管理ロールを持つ製品のサマリー

次の表に、エンタープライズ・デプロイメント用にLDAP認可プロバイダで定義した、エンタープライズ・デプロイメントの管理グループ(SOA Administrators)に追加する必要のある特定の管理ロールを持つ、Fusion Middleware製品のリストを示します。

次の表の情報と「エンタープライズ・デプロイメントの管理グループへの製品固有の管理ロールの追加」の手順を使用して、必要な管理ロールをエンタープライズ・デプロイメントの管理グループに追加します。

製品 アプリケーション・ストライプ 割り当てられる管理ロール

Oracle Web Services Manager。

wsm-pm

policy.updater

SOAインフラストラクチャ

soa-infra

SOAAdmin

Oracle Service Bus

Service_Bus_Console

MiddlewareAdministrator

エンタープライズ・スケジューラ・サービス

ESSAPP

ESSAdmin

Oracle B2B

b2bui

B2BAdmin

Oracle MFT

mftapp

MFTAdmin

Oracle MFT

mftes

MFTESAdmin

特定の管理グループを持つOracle SOA Suite製品のサマリー

表20-2には、特定の管理グループを使用する必要のあるOracle SOA Suite製品のリストを示します。

これらのコンポーネントごとに、共通エンタープライズ・デプロイメントの管理ユーザーを製品固有の管理グループに追加する必要があります。追加しなければ、「エンタープライズ・デプロイメント管理ユーザーおよび管理グループのプロビジョニング」で作成したEnterprise Manager管理ユーザーを使用して製品リソースを管理できません。

表20-2の情報と「製品固有の管理グループへのエンタープライズ・デプロイメントの管理ユーザーの追加」の手順を使用して、必要な管理ロールをエンタープライズ・デプロイメントの管理グループに追加します。

表20-2 製品固有の管理グループを持つOracle SOA Suite製品

製品 製品固有の管理グループ

Oracle Business Activity Monitoring

BAMAdministrator

Oracle Business Process Management

Administrators

Oracle Service Bus統合

IntegrationAdministrators

MFT

OracleSystemGroup

ノート:

MFTでは、集中LDAPに特定のユーザー(OracleSystemUser)を追加する必要があります。このユーザーは、OracleSystemGroupグループに属している必要があります。MFTジョブの作成および削除が適切に動作するように、ユーザー名とユーザー・グループの両方を集中LDAPに追加する必要があります。
エンタープライズ・デプロイメントの管理グループへの製品固有の管理ロールの追加

製品固有の管理ロールを必要とする製品では、次の手順を使用して、その管理ロールをエンタープライズ・デプロイメントの管理グループに追加します。

  1. 管理者のアカウント(たとえば: weblogic_soa)を使用してFusion Middleware Controlにサインインして、アプリケーションのホーム・ページに移動します。

    これらは、最初にドメインを構成し、Oracle WebLogic Server管理ユーザー名(通常weblogic_soa)とパスワードを作成したときに作成した資格証明です。

  2. 「WebLogicドメイン」メニューから、「セキュリティ」「アプリケーション・ロール」を選択します。
  3. 製品固有のアプリケーション・ロールごとに、「アプリケーション・ストライプ」ドロップダウン・メニューから対応するアプリケーション・ストライプを選択します。
  4. 「アプリケーション・ロールの検索」アイコン検索アイコンをクリックして、ドメインで利用できるすべてのアプリケーション・ロールを表示します。
  5. エンタープライズ・デプロイメントの管理グループに追加するアプリケーション・ロールの行を選択します。
  6. 「編集」アイコンアプリケーション・ロールの「編集」アイコンをクリックして、ロールを編集します。
  7. 「アプリケーション・ロールの編集」ページの「追加」アイコンアプリケーション・ロールの「追加」アイコンをクリックします。
  8. 「プリンシパルの追加」ダイアログ・ボックスで、「タイプ」ドロップダウン・メニューから「グループ」を選択します。
  9. 「プリンシパル名」の「次で始まる」フィールドにグループ名(SOA Administratorsなど)を入力し、右矢印をクリックして検索を開始して、エンタープライズ・デプロイメントの管理者グループを検索します。
  10. 検索結果で管理者グループを選択し、「OK」をクリックします。
  11. 「アプリケーション・ロールの編集」ページで、「OK」をクリックします。
製品固有の管理グループへのエンタープライズ・デプロイメントの管理ユーザーの追加

製品固有の管理グループを持つ製品では、次の手順を使用して、エンタープライズ・デプロイメントの管理ユーザー(weblogic_soa)をグループに追加します。これにより、Enterprise Managerの管理者ユーザーを使用して製品を管理できるようになります。

  1. 以下に示すような、product_admin_group.ldifというldifファイルを作成します。
    dn: cn=product-specific_group_name, cn=groups, dc=us, dc=oracle, dc=com
    displayname: product-specific_group_display_name
    objectclass: top
    objectclass: groupOfUniqueNames
    objectclass: orclGroup
    uniquemember: cn=weblogic_soa,cn=users,dc=us,dc=oracle,dc=com
    cn: product-specific_group_name
    description: Administrators Group for the Domain
    

    この例では、product-specific_group_nameを、表20-2で示す製品管理者グループの実際の名前と置き換えます。

    product-specific_group_display_nameを、LDAPサーバーの管理コンソールとOracle WebLogic Server管理コンソールに表示されるグループの表示名と置き換えます。

  2. ldifファイルを使用して、エンタープライズ・デプロイメントの管理者ユーザーを製品固有の管理グループに追加します。

    Oracle Unified Directoryの場合:

    OUD_INSTANCE_HOME/bin/ldapmodify -a 
                                     -D "cn=Administrator" 
                                     -X 
                                     -p 1389 
                                     -f product_admin_group.ldif
    

    Oracle Internet Directoryの場合:

    OID_ORACLE_HOME/bin/ldapadd -h oid.example.com 
                                -p 389 
                                -D cn="orcladmin" 
                                -w <password> 
                                -c 
                                -v 
                                -f product_admin_group.ldif

エンタープライズ・デプロイメントでのTLOGおよびJMSに対する永続ストアの使用

永続ストアは、永続性を必要とするWebLogic Serverのサブシステムおよびサービスに対し、組込みの高性能なストレージ・ソリューションを提供します。

たとえば、JMSサブシステムは、永続JMSメッセージおよび永続サブスクライバを格納し、JTAトランザクション・ログ(TLOG)は、そのサーバーで調整されてコミットされたが、未完了の可能性があるトランザクションの情報を格納します。永続ストアは、ファイルベースのストアまたはJDBC対応データベースの永続性をサポートします。永続ストアの高可用性は、サーバーまたはサービスの移行により提供されます。サーバーまたはサービスの移行には、WebLogicクラスタのすべてのメンバーが、同一のトランザクションとJMS永続ストア(ファイルベースかデータベースベースかを問わない)にアクセスできる必要があります。

エンタープライズ・デプロイメントの場合、トランザクション・ログ(TLOG)とJMSにはJDBC永続ストアを使用することをお薦めします。

この項では、JDBCとファイル永続ストアを比較して利点を分析し、サポートされるデータベースで永続ストアを構成する手順を説明します。JDBCストアではなくファイル永続ストアを使用する場合に、これを構成する手順も、この項で説明します。

JMS永続ストアとTLOGを使用する製品およびコンポーネント

どのインストール済製品およびコンポーネントが永続ストアを利用しているかは、WebLogic Serverコンソールの「ドメイン構造」ナビゲーションのドメイン名「サービス」「永続ストア」で判別できます。このリストは、ストアの名前、ストアのタイプ(FileStore/JDBC)、およびストアのターゲットを示します。リストされたMDS関連のストアは、この章の範囲外であり、ここでは検討しません。

これらのコンポーネントは、デフォルトでストアを使用します(該当する場合)。
コンポーネント/製品 JMSストア TLOGストア

B2B

はい

はい

BAM

はい

はい

BPM

はい

はい

ESS

いいえ

いいえ

HC

はい

はい

Insight

はい

はい

MFT

はい

はい

OSB

はい

はい

SOA

はい

はい

WSM

いいえ

いいえ

JDBC永続ストアとファイル永続ストアの比較

Oracle Fusion MiddlewareではOracle WebLogic Serverトランザクション・ログ(TLOG)とJMSに対して、データベース・ベースとファイル・ベース両方の永続ストアをサポートしています。環境の永続ストア戦略を決定する前に、各アプローチのメリットとデメリットを検討してください。

ノート:

選択するストレージ方法に関係なく、トランザクションの整合性および一貫性を確保するために、JMSとTLOGの両方に同じタイプのストアを使用することをお薦めします。

TLOGおよびJMSのJDBC永続ストアについて

TLOGおよびJMSデータをOracleデータベースに格納する場合、データベースの複製機能と高可用性機能を利用できます。たとえば、Oracle Data Guardを使用するとサイト間の同期が簡単になります。これは、Oracle Fusion Middlewareを障害回復構成でデプロイする場合に特に重要です。

また、TLOGおよびJMSデータをデータベースに格納すると、そのデータについて共有記憶域内の特定の場所を指定する必要がありません。ただし、エンタープライズ・デプロイメントの他の局面では、共有記憶域は依然として必要です。たとえば、管理サーバー構成(管理サーバーのフェイルオーバーをサポート)、デプロイメント・プラン、およびアダプタ・アーティファクト(ファイル/FTPアダプタの制御ファイルおよび処理済ファイル)でも必要です。

TLOGおよびJMSストアを共有記憶域デバイスに格納する場合、適切な複製およびバックアップ戦略を使用してデータ損失ゼロを保証することで、このデータを保護できます。また、システム・パフォーマンスも向上する可能性があります。ただし、ファイル・システムの保護機能はOracle Databaseによって提供される保護機能ほど優れていません。

データベース・ベースのTLOGおよびJMSストアを使用する場合のパフォーマンスへの影響の詳細は、「TLOGおよびJMS永続ストアに関するパフォーマンス上の考慮事項」を参照してください。

TLOGおよびJMS永続ストアに関するパフォーマンス上の考慮事項

トランザクション・ログとJMSの永続ストアの格納方法を選択する際の重要な考慮事項の1つは、パフォーマンスに対する潜在的な影響です。この項では、TLOGおよびJMSにJDBC永続ストアを使用する場合のパフォーマンスへの影響を明らかにするのに役立つ、ガイドラインや詳細をいくつか示します。

トランザクション・ログとJMSストアのパフォーマンスへの影響

トランザクション・ログの場合、ログは本質的に一時的であるため、JDBCストアの使用による影響は比較的小さくて済みます。通常、システム内の他のデータベース操作と比較した場合、影響はほとんどありません。

他方、アプリケーションがJMS集約型である場合、JMSデータベース・ストアはパフォーマンスに大きな影響を及ぼす可能性があります。たとえば、SOA Fusion Order Demo (Oracle SOA Suite環境をテストするために使用されるサンプル・アプリケーション)を使用している場合、JMSデータベース操作はより重い他の多くのSOAデータベース起動によってマスクされるため、ファイル・ベースからデータベース・ベースの永続ストアへの切替えの影響は非常に小さくなります。

パフォーマンスに影響を与える要素

カスタム宛先にJMS DBストアを使用する場合、複数の要素がパフォーマンスに影響を与えます。主なものは、次のとおりです。

  • 関与するカスタム宛先とそのタイプ

  • 永続化されるペイロード

  • SOAシステムの同時実行性(宛先のコンシューマおよびプロデューサ)

上述のいずれかの影響に応じて、次の領域に様々な設定を構成し、パフォーマンスを向上させることができます。

  • JMS表に使用されるデータ型のタイプ(RAWの使用対LOBの使用)

  • JMS表のセグメント定義(索引および表レベルでのパーティション)

JMSトピックの影響

システムでトピックが集中的に使用されている場合、同時実行性が高まるにつれて、Oracle RACデータベースのパフォーマンス低下はキューの場合よりも大きくなります。OracleがJMSに対して実施したテストでは、様々なペイロード・サイズおよび様々な同時実行性での平均パフォーマンス低下率は、キューの場合は30%未満でした。トピックの場合、影響は40%を超えていました。データベース・ストアを使用するかどうかを決定する際、リカバリの観点からこれらの宛先の重要性を検討してください。

データ型およびペイロード・サイズの影響

ペイロードで使用するためにRAWデータ型またはSecureFiles LOBデータ型を選択するときは、永続化するペイロードのサイズを考慮します。たとえば、ペイロード・サイズの範囲が100bから20kの場合、SecureFiles LOBデータ型で必要とされるデータベース時間の量はRAWデータ型よりも若干多くなります。

具体的に言うと、ペイロード・サイズが約4kに達すると、SecureFilesはより多くのデータベース時間を必要とするようになります。これは、4kでは書込みが行外になるためです。約20kのペイロード・サイズで、SecureFilesデータはより効率的になり始めます。ペイロード・サイズが20kを超えると、RAWデータ型に設定されたペイロードのデータベース時間は悪化します。

SecureFilesのもう1つの利点は、500kを超えた時点からペイロードが増加してもデータベース時間が安定化し始める点です。すなわち、その時点で、(SecureFilesにとって)データが500k、1MBまたは2MBのいずれのペイロードを格納しているかは関係なくなります。書込みが非同期化され、すべてのケースで競合が同じになるためです。

ペイロード・サイズが50kに達するまで、キューのスループットに対する同時実行性(プロデューサおよびコンシューマ)の影響はRAWでもSecureFilesでも同じです。ペイロードが小さい場合、同時実行性が変化してもその影響はほぼ同じですが、RAWの方がスケーラビリティがやや優れています。ペイロードが50kを超える場合、SecureFilesの方がスケーラビリティが優れています。

同時実行性、ワーカー・スレッド、データベースのパーティション化の影響

永続ストアに定義された同時実行性とワーカー・スレッドは、索引レベルおよびグローバル・キャッシュ・レベルでRACデータベースの競合の原因になることがあります。1つの単一サーバーで複数のワーカー・スレッドを有効にする場合、または複数のOracle WebLogic Serverクラスタを使用する場合、リバース索引を使用することで様々なことを改善できます。ただし、Oracle Databaseのパーティション化オプションを使用できる場合、かわりにグローバル・ハッシュ・パーティション索引を使用する必要があります。これにより、索引の競合およびグローバル・キャッシュ・バッファ待機が減少し、アプリケーションのレスポンス時間が改善されます。パーティション化はどのケースでも適切に機能しますが、リバース索引で大幅な改善が認められない場合もあります。

エンタープライズ・デプロイメントでのTLOGおよびJMSに対するJDBC永続ストアの使用

この項では、トランザクション・ログ(TLOG)およびJMSにJDBC永続ストアを使用するためのガイドラインを説明します。サポートされているデータベースで永続ストアを構成するための手順も説明します。

TLOGおよびJMSデータ・ソースの集計に関する推奨事項

データ・ソースの集計と接続使用状況の削減を達成するために、JMS永続ストアとTLOG永続ストアの両方に1つの接続プールを使用します。

ワークロードが高くないTLOGおよびJMS永続ストアの場合のようにWLSSchemaDatasourceを再利用することをお薦めします。また、WLSSchemaDatasourceプール・サイズを増やすことも検討してください。データ・ソースを再利用すると、強制的に同じスキーマと表領域が使用されるため、PREFIX_WLS表領域のPREFIX_WLS_RUNTIMEスキーマが、TLOGメッセージとJMSメッセージのどちらにも使用されます。

データ・ソースでストレス(たとえば、JMSアクティビティ量が大きい)と競合が大きいと、安定性とパフォーマンスの点で問題が発生する場合があります。たとえば:
  • データ・ソースで競合が大きいと、プールで接続が利用できずJMSメッセージを永続させられない場合に、連続ストアでエラーが発生することがあります。

  • データ・ソースで競合が大きいと、プールで接続が利用できずトランザクション・ログを更新できない場合に、トランザクションで問題が発生することがあります。

そのような場合は、各TLOGおよびストアに別々のデータ・ソース、各種のストアに別々のデータ・ソースを使用してください。PREFIX_WLS_RUNTIMEスキーマは引き続き使用できますが、競合の問題を避けるために、同じスキーマに別々のカスタム・データ・ソースを構成してください。

TLOGに対するJDBC永続ストアの構成のロードマップ

ここでは、トランザクション・ログ用にデータベースベースの永続ストアを構成する方法を説明します。

  1. TLOG用のユーザーおよび表領域の作成

  2. TLOGおよびJMSストアのGridLinkデータ・ソースの作成

  3. 管理対象サーバーへのTLOG JDBCストアの割当て

ノート:

ステップ1と2はオプションです。データ・ソースの集計と接続使用状況の緩和を達成するために、「TLOGおよびJMSデータ・ソースの集計に関する推奨事項」での説明に従って、PREFIX_WLS表領域とWLSSchemaDatasourceを再利用します。

JMSに対するJDBC永続ストアの構成のロードマップ

次の項では、JMSにデータベース・ベースの永続ストアを構成する方法について説明します。

  1. JMS用のユーザーおよび表領域の作成

  2. TLOGおよびJMSストアのGridLinkデータ・ソースの作成

  3. JDBC JMSストアの作成

  4. JMSサーバーへのJMS JDBCストアの割当て

  5. JMS JDBCストアに必要な表の作成

ノート:

ステップ1と2はオプションです。データ・ソースの集計と接続使用状況の緩和を達成するために、「TLOGおよびJMSデータ・ソースの集計に関する推奨事項」での説明に従って、PREFIX_WLS表領域とWLSSchemaDatasourceを再利用します。

TLOG用のユーザーおよび表領域の作成

トランザクション・ログにデータベース・ベースの永続ストアを作成する前に、サポートされているデータベースでユーザーと表領域を作成する必要があります。

  1. tlogsという表領域を作成します。

    たとえば、sysdbaユーザーとしてSQL*Plusにログインし、次のコマンドを実行します。

    SQL> create tablespace tlogs
            logging datafile 'path-to-data-file-or-+asmvolume'
            size 32m autoextend on next 32m maxsize 2048m extent management local;
    
  2. TLOGSという名前のユーザーを作成し、そのユーザーにtlogs表領域を割り当てます。

    たとえば:

    SQL> create user TLOGS identified by password;
    
    SQL> grant create table to TLOGS;
    
    SQL> grant create session to TLOGS;
    
    SQL> alter user TLOGS default tablespace tlogs;
    
    SQL> alter user TLOGS quota unlimited on tlogs;
JMS用のユーザーおよび表領域の作成

JMSにデータベース・ベースの永続ストアを作成する前に、サポートされているデータベースでユーザーと表領域を作成する必要があります。

  1. jmsという表領域を作成します。

    たとえば、sysdbaユーザーとしてSQL*Plusにログインし、次のコマンドを実行します。

    SQL> create tablespace jms
            logging datafile 'path-to-data-file-or-+asmvolume'
            size 32m autoextend on next 32m maxsize 2048m extent management local;
    
  2. JMSという名前のユーザーを作成し、そのユーザーにjms表領域を割り当てます。

    たとえば:

    SQL> create user JMS identified by password;
    
    SQL> grant create table to JMS;
    
    SQL> grant create session to JMS;
    
    SQL> alter user JMS default tablespace jms;
    
    SQL> alter user JMS quota unlimited on jms;
    
TLOGおよびJMSストアのGridLinkデータ・ソースの作成

JMSおよびTLOGにデータベース・ベースの永続ストアを構成する前に、TLOG永続ストアとJMS永続ストアにそれぞれ1つずつ、2つのデータ・ソースを作成する必要があります。

エンタープライズ・デプロイメントでは、TLOGおよびJMSストアにGridLinkデータ・ソースを使用する必要があります。GridLinkデータ・ソースを作成するには:

  1. Oracle WebLogic Server管理コンソールにサインインします。
  2. 「チェンジ・センター」「ロックして編集」をクリックします(まだこれを実行していない場合のみ)。
  3. 「ドメイン構造」ツリーで「サービス」を開き、「データ・ソース」を選択します。
  4. データ・ソースの概要ページで、「新規」をクリックして「GridLinkデータ・ソース」を選択し、次の内容を入力します。
    • 「名前」フィールドに、データ・ソースの論理名を入力します。

      TLOGストアの場合はTLOGを入力し、JMSストアの場合はJMSを入力します。

    • JNDIの名前を入力します。

      TLOGストアの場合はjdbc/tlogsを入力し、JMSストアの場合はjdbc/jmsを入力します。

    • 「データベース・ドライバ」には、Oracle Driver (Thin) for GridLink Connections Versions: Anyを選択します。

    • 「次」をクリックします。

  5. 「トランザクション・オプション」ページで、「グローバル・トランザクションのサポート」チェック・ボックスをクリアして「次へ」をクリックします。
  6. 「GridLinkデータ・ソース接続プロパティのオプション」画面で、「個別のリスナー情報の入力」を選択し、「次へ」をクリックします。
  7. 次の接続プロパティを入力します。
    • サービス名: データベースのサービス名を小文字で入力します。GridLinkデータ・ソースには、Oracle RACのサービス名を入力します。たとえば:

      soaedg.example.com

    • ホスト名とポート: RACデータベースのSCANアドレスとポートを、コロンで区切って入力します。たとえば:

      db-scan.example.com:1521
      

      「追加」をクリックして、フィールドの下のリスト・ボックスにホスト名とポートを追加します。

      SCANアドレスは、TCPプロトコルを使用してデータベース内の適切なパラメータを問い合せると、確認できます。

      SQL>show parameter remote_listener;
      
      NAME                 TYPE        VALUE
       
      --------------------------------------------------
       
      remote_listener     string      db-scan.example.com

      ノート:

      Oracle Database 11gリリース1 (11.1)の場合は、各データベース・インスタンス・リスナーの仮想IPとポートを使用します。たとえば:

      dbhost1-vip.example.com (port 1521) 

      および

      dbhost2-vip.example.com (1521)
      
    • データベース・ユーザー名: 次を入力します。

      TLOGストアの場合はTLOGSを入力し、JMS永続ストアの場合はJMSを入力します。

    • パスワード: データベースでユーザーを作成した際に使用したパスワードを入力します。

    • パスワードの確認: もう一度パスワードを入力し、「次へ」をクリックします。

  8. 「GridLinkデータベース接続のテスト」ページで、接続パラメータを確認して、「すべてのリスナーのテスト」をクリックします。

    接続が成功したときに表示される通知の一例を示します。

    Connection test for jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=db-scan.example.com)
    (PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=soaedg.example.com))) succeeded.
    

    「次」をクリックします。

  9. 「ONSクライアント構成」ページで、次の手順を実行します。
    • 「FANの有効化」を選択してOracle FANイベントに登録し、それらのイベントを処理できるようにします。

    • SCANアドレスの入力: RACデータベースのONSリモート・ポート、データベースから報告されたONSリモート・ポートを入力し(次の例を参照)、「追加」をクリックします。

      [orcl@db-scan1 ~]$ srvctl config nodeapps -s
       
      ONS exists: Local port 6100, remote port 6200, EM port 2016
      
    • 「次」をクリックします。

    ノート:

    Oracle Database 11gリリース1 (11.1)の場合は、各データベースのONSサービスのホスト名とポートを使用します。たとえば:

    custdbhost1.example.com (port 6200)
    

    および

    custdbhost2.example.com (6200)
    
  10. 「ONSクライアント構成のテスト」ページで、接続パラメータを確認して、「すべてのONSノードのテスト」をクリックします。

    接続が成功したときに表示される通知の一例を示します。

    Connection test for db-scan.example.com:6200 succeeded.

    「次」をクリックします。

  11. 「ターゲットの選択」ページで、永続ストアを使用するクラスタを選択し、「クラスタのすべてのサーバー」を選択します。
  12. 「終了」をクリックします。
  13. 管理コンソールのチェンジ・センターで「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。
  14. ステップ4からステップ13を繰り返し、JMSファイル・ストアのGridLinkデータ・ソースを作成します。
管理対象サーバーへのTLOG JDBCストアの割当て

データ・ソース集計を達成しようとしている場合は、TLOG永続ストアのために<PREFIX>_WLS表領域とWLSSchemaDatasourceを再使用します。別の方法では、データベースでその表領域とユーザーを必ず作成し、必要な各管理対象サーバーにTLOGストアを割り当てる前にデータ・ソースを作成してあることを確認します。

  1. Oracle WebLogic Server管理コンソールにログインします。
  2. 「チェンジ・センター」で、「ロックして編集」をクリックします。
  3. 管理対象サーバーのTLOGを構成するには、「ドメイン構造」ツリーで:
    1. 静的クラスタの場合: 「環境」「サーバー」の順に開き、管理対象サーバーの名前をクリックします。
    2. 動的クラスタの場合: 「環境」「クラスタ」「サーバー・テンプレート」の順に開きます。サーバー・テンプレートの名前をクリックします。
  4. 「構成」>「サービス」タブを選択します。
  5. 「トランザクション・ログ・ストア」で、「タイプ」 メニューから「JDBC」を選択します。
  6. 「データ・ソース」メニューからWLSSchemaDatasourceを選択し、データ・ソースの集計を実行します。TLOGには、<PREFIX>_WLS表領域が使用されます。
  7. 「接頭辞名」フィールドで、構成された各JDBC TLOGストアに一意のJDBC TLOGストア名を生成するための接頭辞名を指定します。
  8. 「保存」をクリックします。
  9. 追加の管理対象サーバーまたはサーバー・テンプレートごとに、ステップ3から7を繰り返します。
  10. 管理コンソールのチェンジ・センターで「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。
JDBC JMSストアの作成

データベースでJMS永続ストア・ユーザーと表領域を作成し、JMS永続ストアのデータ・ソースを作成したら、管理コンソールを使用してストアを作成できます。

  1. Oracle WebLogic Server管理コンソールにログインします。
  2. 「チェンジ・センター」「ロックして編集」をクリックします(まだこれを実行していない場合のみ)。
  3. 「ドメイン構造」ツリーで「サービス」を開き、「永続ストア」を選択します。
  4. 「新規」をクリックしてから「JDBCストア」をクリックします。
  5. 永続ストアを使用している、永続化するJMSサーバーに容易に結び付けられる永続ストア名を入力します。

    ノート:

    DBがリリース12.2.x.x.x以下の場合は、接頭辞名が30文字を超えないようにしてください。

  6. データ・ソース集計を完了するには、WLSSchemaDatasourceを選択します。JMS永続ストアには、<PREFIX>_WLS表領域が使用されます。
  7. JTAサービスをホストするエンティティをストアの対象として設定します。

    静的クラスタで、サービス移行を使用するサーバーの場合、このエンティティはJMSサーバーが所属する移行可能ターゲットです。

    動的クラスタの場合は、クラスタ自体をターゲットにします。

    動的クラスタの詳細は、『Oracle WebLogic Server JMSリソースの管理』で、簡素化されたJMS集計と高可用性の拡張機能に関する項を参照してください。

  8. クラスタの追加JMSサーバーごとに、ステップ3から7を繰り返します。
  9. 管理コンソールのチェンジ・センターで「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。
JMSサーバーへのJMS JDBCストアの割当て

データベースでJMSの表領域とユーザーを作成し、JMSデータ・ソースを作成し、JDBCストアを作成した後、必要な各JMSサーバーにJMS永続ストアを割り当てることができます。

JMS永続ストアをJMSサーバーに割り当てるには:
  1. Oracle WebLogic Server管理コンソールにログインします。
  2. 「チェンジ・センター」で、「ロックして編集」をクリックします。
  3. 「ドメイン構造」ツリーで、「サービス」「メッセージング」「JMSサーバー」の順に開きます。
  4. 永続ストアを使用するJMSサーバーの名前をクリックします。
  5. 「永続ストア」メニューで、前に作成したJMS永続ストアを選択します。
  6. 「保存」をクリックします。
  7. クラスタ内の追加のJMSサーバーごとに、ステップ3から6を繰り返します。
  8. 管理コンソールのチェンジ・センターで「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。
JMS JDBCストアに必要な表の作成

JMSにJDBC永続ストアを使用する最後のステップは、必要なJDBCストア表を作成することです。このタスクは、ドメインで管理対象サーバーを再起動する前に実行します。

  1. 「TLOGおよびJMS永続ストアに関するパフォーマンス上の考慮事項」の情報を確認し、現在の環境に適切な表機能を決定します。

    このリリースで提供されるOracle DBスキーマ定義は3つあり、前のステップで確認用に抽出されています。基本定義には、索引のためのパーティションのないRAWデータ型が含まれます。2番目のものはBLOBデータ型を使用し、3番目のものはBLOBデータ型とセキュア・ファイルを使用します。

  2. 共有記憶域上にカスタムDDLファイル用として、ドメイン固有の適切に名前付けされたフォルダ構造を作成します。すべてのサーバーで使用できるように、ORACLE_RUNTIME共有ボリュームをお薦めします。

    例:

    mkdir -p ORACLE_RUNTIME/domain_name/ddl
  3. 要件分析に基づいて新しい共有ddlフォルダにjms_custom.ddlファイルを作成します。
    たとえば、セキュア・ファイルとハッシュ・パーティション化の両方を使用する最適化されたスキーマ定義を実装するには、次の内容を含むjms_custom.ddlファイルを作成します。
    CREATE TABLE $TABLE (
      id     int  not null,
      type   int  not null,
      handle int  not null,
      record blob not null,
    PRIMARY KEY (ID) USING INDEX GLOBAL PARTITION BY HASH (ID) PARTITIONS 8)
    LOB (RECORD) STORE AS SECUREFILE (ENABLE STORAGE IN ROW);

    この例を、索引パーティションなしでRAWデータ型が使用される、JMSストアのデフォルトのスキーマ定義と比較することができます。

    パーティションの数は2の累乗にする必要があります。これにより、各パーティションがほぼ同じサイズになります。推奨するパーティション数は、表または索引サイズの増大をどのように予期するかによって変わります。データベース管理者(DBA)に一定期間における表の増加率を分析させて、それに応じて表を調整する必要があります。Oracle Database VLDBおよびパーティショニング・ガイドパーティション化の概念に関する項を参照してください。

  4. 管理コンソールを使用して、前に作成した既存のJDBCストアを編集し、JMSデータ用に使用する表を作成します。
    1. Oracle WebLogic Server管理コンソールにログインします。
    2. 「チェンジ・センター」で、「ロックして編集」をクリックします。
    3. 「ドメイン構造」ツリーで「サービス」「永続ストア」の順に開きます。
    4. 前に作成した永続ストアをクリックします。
    5. 「詳細」オプションの下で、「DDLファイルからの表の作成」フィールドにORACLE_RUNTIME/domain_name/ddl/jms_custom.ddlと入力します。
    6. 「保存」をクリックします。
    7. 管理コンソールのチェンジ・センターで「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。
  5. 管理対象サーバーを再起動します。
エンタープライズ・デプロイメントでのTLOGおよびJMSに対するファイル永続ストアの使用
この項では、共有フォルダでTLOGおよびJMSファイル永続ストアを構成するための手順を説明します。
共有フォルダでのTLOGファイル永続ストアの構成

Oracle WebLogic Serverでは、システムのクラッシュやネットワーク障害からの回復時にトランザクション・ログを使用します。

各管理対象サーバーでは、サーバーが調整およびコミットする、完了していない可能性のあるトランザクションに関する情報を格納するトランザクション・ログを使用します。

Oracle WebLogic Serverは、システム・クラッシュやネットワーク障害のリカバリでこのトランザクション・ログを使用します。クラスタ内の管理対象サーバーに対してトランザクション・リカバリ・サービスの移行機能を活用するには、各管理対象サーバーとそのバックアップ・サーバーからアクセス可能な場所にトランザクション・ログを格納します。

ノート:

トランザクション・リカバリ・サービスの移行機能を有効にするには、クラスタにある他のサーバーで使用可能な永続記憶域ソリューションの場所を指定します。クラスタ内のすべての管理対象サーバーがこのディレクトリにアクセスできる必要があります。また、このディレクトリは、サーバーを再起動する前にも存在している必要があります。

お薦めする場所は、デュアル・ポートのSCSIディスクまたはストレージ・エリア・ネットワーク(SAN)です。記憶域で障害が発生した場合に確実に保護できるように、記憶域レベルで適切なレプリケーションとバックアップのメカニズムを設定することが重要です。

この情報はファイルベースのトランザクション・ログに該当します。また、トランザクション・ログのためにデータベースベースの永続ストアを構成することもできます。「エンタープライズ・デプロイメントでのTLOGおよびJMSに対する永続ストアの使用」を参照してください。

デフォルトのストア・ディレクトリの構成は、静的クラスタと動的クラスタの両方で実行する必要がありますが、手順は若干異なります。静的クラスタでは各サーバーを、動的クラスタではサーバー・テンプレートを変更します。

静的クラスタによる共有フォルダでのTLOGファイル永続ストアの構成

静的クラスタ内の各管理対象サーバーにデフォルト永続ストアの場所を設定するには、次のステップを実行します。

  1. Oracle WebLogic Server管理コンソールにログインします。

    ADMINVHN:7001/console
    

    ノート:

    Web層がすでに構成されている場合は、http://admin.example.com/consoleを使用します。

  2. 「チェンジ・センター」セクションで、「ロックして編集」をクリックします。

  3. クラスタ内の管理対象サーバーごとに、次を実行します。

    1. 「ドメイン構造」ウィンドウで、「環境」ノードを開いて「サーバー」ノードをクリックします。

      「サーバーのサマリー」ページが表示されます。

    2. 表の「名前」列で、サーバーの名前(ハイパーリンクとして表示)をクリックします。

      選択したサーバーの設定ページが開き、「構成」タブがデフォルトで表示されます。

    3. 「構成」タブで、「サービス」タブをクリックします。

    4. ページの「デフォルト・ストア」セクションに、デフォルトの永続ストアがデータ・ファイルを格納するフォルダのパスを入力します。

      エンタープライズ・デプロイメントでは、ORACLE_RUNTIMEディレクトリの場所を使用します。このサブディレクトリは、クラスタのトランザクション・ログにとって中心的な共有場所の役割を果たします。「このガイドで使用するファイル・システムとディレクトリ変数」を参照してください。

      たとえば:

      ORACLE_RUNTIME/domain_name/cluster_name/tlogs
      

      この例では、ORACLE_RUNTIMEを、ご使用の環境の変数値に置き換えます。domain_nameを、ドメインに割り当てた名前に置き換えます。cluster_nameを、先ほど作成したクラスタ名で置き換えます。

    5. 「保存」をクリックします。

  4. SOA_Cluster内のすべてのサーバーについて、ステップ3を実行します。

    ノート:

    ESS、BAMまたはOSBのデフォルト永続ストアを構成する場合は、SOA_Clusterではなく、それぞれESS_Cluster、BAM_ClusterおよびOSB_Clusterを使用します。

  5. 「変更のアクティブ化」をクリックします。

ノート:

構成手順の後半で、トランザクション・ログの場所と作成について検証します。

動的クラスタによる共有フォルダでのTLOGファイル永続ストアの構成

動的クラスタの場合、デフォルトの永続ストアの場所を設定するには、サーバー・テンプレートを更新します。

  1. Oracle WebLogic Server管理コンソールにログインします。

    ADMINVHN:7001/console
    

    ノート:

    Web層がすでに構成されている場合は、http://admin.example.com/consoleを使用します。

  2. 「チェンジ・センター」セクションで、「ロックして編集」をクリックします。

  3. クラスタのサーバー・テンプレートに移動します。

    1. 「ドメイン構造」ウィンドウで、「環境」および「クラスタ」ノードを開いて「サーバー・テンプレート」ノードをクリックします。

      「サーバー・テンプレートのサマリー」ページが表示されます。

    2. 表の「名前」列で、サーバー・テンプレートの名前(ハイパーリンクとして表示)をクリックします。

      選択したサーバー・テンプレートの設定ページが開き、「構成」タブがデフォルトで表示されます。

    3. 「構成」タブで、「サービス」タブをクリックします。

    4. ページの「デフォルト・ストア」セクションに、デフォルトの永続ストアがデータ・ファイルを格納するフォルダのパスを入力します。

      エンタープライズ・デプロイメントでは、ORACLE_RUNTIMEディレクトリの場所を使用します。このサブディレクトリは、クラスタのトランザクション・ログにとって中心的な共有場所の役割を果たします。「このガイドで使用するファイル・システムとディレクトリ変数」を参照してください。

      たとえば:

      ORACLE_RUNTIME/domain_name/cluster_name/tlogs
      

      この例では、ORACLE_RUNTIMEを、ご使用の環境の変数値に置き換えます。domain_nameを、ドメインに割り当てた名前に置き換えます。cluster_nameを、先ほど作成したクラスタ名で置き換えます。

    5. 「保存」をクリックします。

  4. 「変更のアクティブ化」をクリックします。

ノート:

構成手順の後半で、トランザクション・ログの場所と作成について検証します。

トランザクション・ログの場所と作成の検証

WLS_SERVER_TYPE1およびWLS_SERVER_TYPE2管理対象サーバーが稼働したら、「静的クラスタによる共有フォルダでのTLOGファイル永続ストアの構成」「動的クラスタによる共有フォルダでのTLOGファイル永続ストアの構成」で実行したステップに基づいて、トランザクション・ログ・ディレクトリとトランザクション・ログが想定どおりに作成されていることを確認します。

ORACLE_RUNTIME/domain_name/OSB_Cluster/tlogs

  • _WLS_WLS_SERVER_TYPE1000000.DAT

  • _WLS_WLS_SERVER_TYPE2000000.DAT

共有フォルダでのJMSファイル永続ストアの構成

ドメインをすでに構成および拡張している場合、JMS永続ファイルは共有の場所にすでに構成されています。他の永続ストア・ファイルを共有フォルダに変更する場合は、次のステップを実行します。

  1. Oracle WebLogic Server管理コンソールにログインします。
  2. 「ドメイン」→「サービス」→「永続ストア」にナビゲートし、共有フォルダに移動する永続ストアの名前をクリックします。
    「構成: 一般」タブが表示されます
  3. ディレクトリをORACLE_RUNTIME/domain_name/soa_cluster/jmsに変更します。
  4. 「保存」をクリックします。
  5. 「変更のアクティブ化」をクリックします。

WebサービスのJDBC永続ストアについて

デフォルトでは、Webサービスの永続性にはWebLogic Serverデフォルト永続ストアが使用されます。このストアはWebサービスに対して高パフォーマンスの記憶域ソリューションを提供します。

デフォルトWebサービス永続ストアは、次の拡張機能で使用されます。
  • 信頼性のあるメッセージング

  • 接続

  • セキュア通信

  • メッセージ・バッファリング

デフォルト・ストアではなく、JDBC永続ストアをWebLogic ServerのWebサービスで使用することもできます。Webサービスの永続性の詳細は、Webサービスの永続性の管理を参照してください。

RACおよびGridlinkデータソースを使用する場合の構成のベスト・プラクティス

Oracle RACデータベースの使用時は、GridLinkデータ・ソースを使用することをお薦めします。エンタープライズ・デプロイメント・ガイドで説明されているステップに従うと、データソースはGridLinkとして構成されます。

GridLinkデータソースは、Oracle Databaseクラスタ内のノード間で動的ロード・バランシングおよびフェイルオーバーを提供し、ノードが追加または削除されたときにRACクラスタから通知を受信します。GridLinkデータソースの詳細は、『Oracle WebLogic Server JDBCデータ・ソースの管理』Active GridLinkデータ・ソースの使用に関する項を参照してください。

GridLinkを使用してRACデータベースに接続する場合のベスト・プラクティスのサマリーを次に示します:

  • デフォルトのデータベース・サービスとは別のデータベース・サービス(srvctlで定義)の使用

    RACデータベースから通知を受信して処理するには、GridLinkがデフォルトのデータベース・サービスではなく、(srvctlで定義された)データベース・サービスに接続する必要があります。これらのサービスは、データベース・クラスタ内のリソースのステータスを監視し、ステータスが変更されたときに通知を生成します。データベース・サービスはエンタープライズ・デプロイメント・ガイドで使用され、「データベース・サービスの作成」の説明に従って作成および構成されます。

  • データソースでの長い形式のデータベース接続文字列の使用

    Gridlinkデータソースを使用する場合は、長い形式のデータベース接続文字列を使用する必要があります。構成ウィザードでは長い形式の文字列は設定されず、かわりに短い形式が設定されます。後で手動で変更して長い形式を設定できます。データソースを更新するには:

    1. WebLogic Serverコンソールに接続し、「ドメイン構造」「サービス」「データソース」に移動します。
    2. データソースを選択し、「構成」タブ、「接続プール」タブの順にクリックします。
    3. JDBC URL内で、URL jdbc:oracle:thin:[SCAN_VIP]:[SCAN_PORT]/[SERVICE_NAME]からjdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=[SCAN_VIP])(PORT=[SCAN_PORT])))(CONNECT_DATA=(SERVICE_NAME=[SERVICE_NAME])))に変更します
      たとえば:
      jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=db-scan-address)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=soaedg.example.com)))
  • 自動ONSの使用

    Oracle 12cデータベースを使用している場合、ONSリストはデータベースからドライバに自動的に提供されます。データソース構成では、「ONSノード」リストを空のままにできます。

  • 予約時に接続をテスト

    データソースで「予約時に接続をテスト」が選択されていることを確認します。

    RACインスタンスが使用できなくなったときにGridLinkデータソースがFANイベントを受信しますが、ベスト・プラクティスは、データソースで「予約時に接続をテスト」を有効にし、アプリケーションに返される接続が正常であることを確認することです。

  • アイドル・プール接続を信頼する秒数

    テストを最大限に効率化するために、「アイドル・プール接続を信頼する秒数」0に設定して、接続が常に検証されるようにすることもできます。この値をゼロに設定すると、アプリケーションに返されるすべての接続がテストされます。このパラメータが10に設定されている場合、前のテストの結果は10秒間有効になり、10秒経過する前に接続が再利用された場合、結果は引き続き有効になります。

  • テスト頻度

    データソースの「テスト頻度」パラメータ値が0でないことを確認します。未使用の接続をテストするときに、次のテストが試行されるまでWebLogic Serverインスタンスが待機する秒数です。通常、デフォルト値の120で十分です。

エンタープライズ・デプロイメントのバックアップとリカバリの実行

Oracle SOA Suiteエンタープライズ・デプロイメントに必要なディレクトリと構成データを確実にバックアップするために、次に示すガイドラインに従うことをお薦めします。

ノート:

この項で示す静的なランタイム・アーティファクトの一部は、Network Attached Storage (NAS)からホストされています。可能であれば、これらのボリュームはアプリケーション・サーバーからでなく、NASファイラから直接バックアップおよびリカバリしてください。

Oracle Fusion Middleware製品のバックアップとリカバリの一般情報は、『Oracle Fusion Middlewareの管理』の次の項を参照してください。

表20-3 は、一般的なOracle SOA Suiteエンタープライズ・デプロイメントのバックアップ対象である静的アーティファクトを示しています。

表20-3 Oracle SOA Suiteエンタープライズ・デプロイメントのバックアップ対象である静的アーティファクト

タイプ ホスト

データベースOracleホーム

DBHOST1およびDBHOST2

データ層

Oracle Fusion Middleware Oracleホーム

WEBHOST1およびWEBHOST2

Web層

Oracle Fusion Middleware Oracleホーム

SOAHOST1およびSOAHOST2 (またはNASファイラ)

アプリケーション層

インストール関連ファイル

WEBHOST1、WEHOST2および共有記憶域

なし

表20-4は、一般的なOracle SOA Suiteエンタープライズ・デプロイメントのバックアップ対象であるランタイム・アーティファクトを示しています。

表20-4 Oracle SOA Suiteエンタープライズ・デプロイメントのバックアップ対象であるランタイム・アーティファクト

タイプ ホスト

管理サーバーのドメイン・ホーム(ASERVER_HOME)

SOAHOST1 (またはNASファイラ)

アプリケーション層

アプリケーション・ホーム(APPLICATION_HOME)

SOAHOST1 (またはNASファイラ)

アプリケーション層

Oracle RACデータベース

DBHOST1およびDBHOST2

データ層

スクリプトとカスタマイズ

ホスト当たり

アプリケーション層

デプロイメント・プラン・ホーム(DEPLOY_PLAN_HOME)

SOAHOST1 (またはNASファイラ)

アプリケーション層

OHS/OTD構成ディレクトリ

WEBHOST1およびWEBHOST2

Web層

オンライン・ドメインのランタイム・アーティファクトのバックアップ/リカバリの例

この項では、ドメイン・ランタイム・アーティファクトのバックアップを実装する手順の例を説明します。この方法は、ドメインを拡張して新しいコンポーネントを追加する前など、EDG構成プロセス中に使用できます。

この例には、次の機能があります:

  • この例では、アプリケーション層ランタイム・アーティファクトがバックアップ/リカバリされます:
    アーティファクト ホスト

    管理サーバーのドメイン・ホーム(ASERVER_HOME)

    SOAHOST1 (またはNASファイラ)

    アプリケーション層

    アプリケーション・ホーム(APPLICATION_HOME)

    SOAHOST1 (またはNASファイラ)

    アプリケーション層

    デプロイメント・プラン・ホーム(DEPLOY_PLAN_HOME)

    SOAHOST1 (またはNASファイラ)

    アプリケーション層

    ランタイム・アーティファクト(アダプタ制御ファイル) (ORACLE_RUNTIME)

    SOAHOST1 (またはNASファイラ)

    アプリケーション層

    スクリプトとカスタマイズ

    ホスト当たり

    アプリケーション層

  • このバックアップ手順は、ドメインに対して大規模な構成変更(ドメイン拡張)が行われる場合に適しています。何か問題が発生した場合、または間違った選択を行った場合は、ドメイン構成を以前の状態にリストアできます。

    このサンプル・プロシージャではデータベースのバックアップ/リストアは必須ではありませんが、データベースをバックアップ/リストアするステップはオプションとして含まれています。

    アーティファクト ホスト

    Oracle RACデータベース(オプション)

    Oracle RACデータベース(オプション)

    データ層

  • この例では、オペレーティング・システム・ツールを使用します。この項で示すランタイム・アーティファクトの一部は、Network Attached Storage (NAS)からホストされています。可能であれば、これらのボリュームのバックアップおよびリカバリは、アプリケーション・サーバーからではなくNASファイラから直接実行します。
  • 管理対象サーバーはバックアップ中に稼働しています。MSERVER_HOMEはバックアップされず、後でpack/unpackプロシージャを使用してMSERVER_HOMEをリカバリします。したがって、管理対象サーバーのロック・ファイルはバックアップに含まれません。
  • .lokファイルがバックアップから除外されている場合は、バックアップ中にAdminServerを実行できます。バックアップの矛盾を防ぐために、バックアップが完了するまで構成を変更しないでください。WebLogic Serverドメインが変更されないようにするには、WebLogic Server構成をロックします。

    ノート:

    次を除く:
    • AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.lok
    • AdminServer/tmp/AdminServer.lok
ドメイン・ランタイム・アーティファクトのバックアップ

ドメイン・ランタイム・アーティファクトをバックアップするには、次のステップを実行します:

  1. ユーザーoracleでSOAHOST1にログインし、次の変数を定義してエクスポートします:
    変数 値の例 説明

    BAK_TAG

    BEFORE_BPM

    バックアップ・ファイルおよびデータベース・リストア・ポイントの名前で使用される説明タグ。

    BAK_DIR

    /backups

    バックアップ・ファイルが格納されるホスト・フォルダ。

    DOMAIN_NAME

    soaedg_domain

    ドメイン名

    たとえば:
    export BAK_TAG=BEFORE_BPM
    export DOMAIN_NAME=soaedg_domain
    export BAK_DIR=/backups
  2. 次のドメイン変数にドメインの値が設定されていることを確認します:
    変数 値の例

    ASERVER_HOME

    /u01/oracle/config/domains/soaedg_domain

    DEPLOY_PLAN_HOME

    /u01/oracle/config/dp

    APPLICATION_HOME

    /u01/oracle/config/applications/soaedg_domain

    ORACLE_RUNTIME

    /u01/oracle/runtime

    表7-2を参照してください。

  3. バックアップを作成する前に、ドメイン構成をロックして、編集セッション中に他のアカウントが変更を行わないようにします。Fusion Middleware Controlからドメイン構成をロックするには:
    1. http://ADMINVHN:7001/emにログインします。
    2. Fusion Middleware Controlの上部にあるチェンジ・センターを探します。
    3. 「変更」メニューから、「ロックして編集」を選択してドメインの構成編集をロックします。

    ノート:

    バックアップの矛盾を防ぐために、バックアップが完了するまで構成を変更しないでください。
  4. SOAHOST1にログインし、バックアップの前にログおよびバックアップ・アプリケーションをクリーンします。
    find ${ASERVER_HOME}/servers/AdminServer/logs -type f -name "*.out0*" ! -size 0c -print -exec rm -f {} \+
    find ${ASERVER_HOME}/servers/AdminServer/logs -type f -name "*.log0*" ! -size 0c -print -exec rm -f {} \+
    find ${APPLICATION_HOME} -type f -name "*.bak*" -print -exec rm -f {} \;
  5. tarを使用して、各アーティファクトのバックアップを実行します:
    tar -cvzf  ${BAK_DIR}/backup_aserver_home_${DOMAIN_NAME}_${BAK_TAG}.tgz   ${ASERVER_HOME} --exclude ".lok" 
    
    tar -cvzf ${BAK_DIR}/backup_dp_home_${DOMAIN_NAME}_${BAK_TAG}.tgz    ${DEPLOY_PLAN_HOME}/${DOMAIN_NAME} 
    
    tar -cvzf ${BAK_DIR}/backup_app_home_${DOMAIN_NAME}_${BAK_TAG}.tgz   ${APPLICATION_HOME}  
    
    tar -cvzf ${BAK_DIR}/backup_runtime_${DOMAIN_NAME}_${BAK_TAG}.tgz         ${ORACLE_RUNTIME}/${DOMAIN_NAME} 
    
    ls --format=single-column ${BAK_DIR}/backup_aserver_*.tgz
    ls --format=single-column ${BAK_DIR}/backup_dp_*.tgz
    ls --format=single-column ${BAK_DIR}/backup_app_*.tgz
    ls --format=single-column ${BAK_DIR}/backup_runtime_*.tgz
  6. ドメイン・ロックを解除します。
    1. http://ADMINVHN:7001/emにログインします。
    2. Fusion Middleware Controlの上部にあるチェンジ・センターを探します。
    3. 「変更」メニューから、「構成の解放」を選択してドメインの構成編集を解放します。
  7. 必要に応じて、スクリプトおよびカスタマイズをバックアップします。
  8. (オプション)データベースにログインし、フラッシュバック・データベースのリストア・ポイントを作成します:

    ノート:

    この例では、データベース・リカバリにフラッシュ・データベース・テクノロジを使用します。フラッシュバックの詳細は、データベースのバージョンのドキュメントを確認してください。
    1. フラッシュバック保証付きチェックポイントを作成します。
      sqlplus / as sysdba
      SQL> create restore point BEFORE_BPM guarantee flashback database;
      SQL> alter system switch logfile;
    2. 確認します。
      SQL> set linesize 300
      SQL> column name format a30
      SQL> column time format a32
      SQL> column storage_size format 999999999999
      SQL> SELECT name, guarantee_flashback_database, time, storage_size FROM v$restore_point ORDER BY time;
      
      Example:
      NAME                           GUA TIME                              STORAGE_SIZE
      ------------------------------ --- -------------------------------- -------------
      SOAEDG_BEFORE_BPM              YES 12-MAY-17 03.29.28.000000000 AM     8589934592
      exit
ドメイン・ランタイム・アーティファクトのリストア
バックアップが作成された時点までドメインをリカバリするには、次のステップに従います:
  1. oracleユーザーを使用してSOAHOST1にログインします。
  2. ドメイン内のすべてのサーバー(AdminServerを含む)を停止します。
    ${ORACLE_COMMON_HOME}/common/bin/wlst.sh
    connect('<weblogic_admin_username>','<password>','t3://adminvhn:7001'))
    
    shutdown('OSB_Cluster', 'Cluster', force='true')
    shutdown('ESS_Cluster', 'Cluster', force='true')
    shutdown('BAM_Cluster','Cluster', force='true')
    shutdown('MFT_Cluster','Cluster', force='true')
    shutdown('SOA_Cluster','Cluster', force='true')
    shutdown('WSM-PM_Cluster','Cluster', force='true')
    
    state('SOA_Cluster', 'Cluster')
    state('OSB_Cluster', 'Cluster')
    state('ESS_Cluster', 'Cluster')
    state('BAM_Cluster', 'Cluster')
    state('MFT_Cluster', 'Cluster')
    state('WSM-PM_Cluster' , 'Cluster')
    
    shutdown('AdminServer', force='true', block='true')
  3. 次のドメイン変数にドメインの値が設定されていることを確認します:
    変数 値の例

    ASERVER_HOME

    /u01/oracle/config/domains/soaedg_domain

    DEPLOY_PLAN_HOME

    /u01/oracle/config/dp

    APPLICATION_HOME

    /u01/oracle/config/applications/soaedg_domain

    ORACLE_RUNTIME

    /u01/oracle/runtime

  4. 名前を変更して現在のフォルダを削除します。これらのフォルダは、リカバリしたドメインを検証した後、プロセスの最後に完全に削除できます。
    1. SOAHOST1で:
      mv  ${ASERVER_HOME}  ${ASERVER_HOME}_DELETE
      mv  ${DEPLOY_PLAN_HOME}/${DOMAIN_NAME}  ${DEPLOY_PLAN_HOME}/${DOMAIN_NAME}_DELETE
      mv  ${APPLICATION_HOME}   ${APPLICATION_HOME}_DELETE
      mv  ${ORACLE_RUNTIME}/${DOMAIN_NAME} ${ORACLE_RUNTIME}/${DOMAIN_NAME}_DELETE
    2. 各SOAHOSTNで:
      mv   ${MSERVER_HOME}  ${MSERVER_HOME}_DELETE
  5. バックアップ・フォルダでバックアップを検索して特定します。リカバリするバックアップの正しい値を使用して、次の変数を定義およびエクスポートします:
    変数 値の例 説明

    BAK_TAG

    BEFORE_BPM

    バックアップ・ファイルおよびデータベース・リストア・ポイントの名前で使用される説明タグ。

    BAK_DIR

    /backups

    バックアップ・ファイルが格納されるホスト・フォルダ。

    DOMAIN_NAME

    soaedg_domain

    ドメイン名

    たとえば:
    export BAK_TAG=BEFORE_BPM
    export DOMAIN_NAME=soaedg_domain
    export BAK_DIR=/backups
  6. ファイルを抽出して、ファイルのリカバリを実行します。

    ノート:

    TARファイルは/で始まる構造を再作成するため、/フォルダに移動する必要があります。
    cd  /
    tar -xzvf ${BAK_DIR}/backup_aserver_home_${DOMAIN_NAME}_${BAK_TAG}.tgz   
    tar -xzvf ${BAK_DIR}/backup_dp_home_${DOMAIN_NAME}_${BAK_TAG}.tgz    
    tar -xzvf ${BAK_DIR}/backup_app_home_${DOMAIN_NAME}_${BAK_TAG}.tgz   
    tar -xzvf ${BAK_DIR}/backup_runtime_${DOMAIN_NAME}_${BAK_TAG}.tgz
  7. (オプション)データベースをフラッシュバック・リカバリ・ポイントにリカバリする必要がある場合は、次のステップを実行します:
    1. oracleユーザーでDBHOSTにログインし、データベースを停止します:
      srvctl stop database -database soaedgdb
    2. データベースにログインし、リストア・ポイントにデータベースをフラッシュバックします:
      sqlplus / as sysdbaSQL>
                startup mountSQL>
                FLASHBACK DATABASE TO RESTORE POINT BEFORE_BPM;
          Flashback complete.
    3. 次のコマンドでデータベースを起動します:
      SQL> ALTER DATABASE OPEN RESETLOGS;
  8. AdminServerを起動します:
    ${ORACLE_COMMON_HOME}/common/bin/wlst.sh
    wls:/offline> nmConnect('nodemanager','password','ADMINVHN','5556', 'domain_name','ASERVER_HOME','PLAIN')
    Connecting to Node Manager ...
    Successfully Connected to Node Manager.
    wls:/nm/domain_name > nmStart('AdminServer')
  9. 管理対象サーバーにドメインを伝播します。
    1. SOAHOST1にサインインし、次のようにpackコマンドを実行してテンプレートを作成します:
      cd ${ORACLE_COMMON_HOME}/common/bin
      ./pack.sh -managed=true 
                -domain=ASERVER_HOME \ 
                -template=/full_path/recover_domain.jar \ 
                -template_name=recover_domain_template \
                -log_priority=DEBUG \ 
                -log=/tmp/pack.log
      • ASERVER_HOMEを、共有記憶域デバイスに作成したドメイン・ディレクトリの実際のパスに置き換えます。
      • /full_path/を、ドメイン・テンプレートJARファイルを作成する完全なパスで置き換えます。
      • recover_domain.jarは、作成するJARファイルの名前の例です。
      • recover_domain_templateは、作成するJARファイルの名前の例です。
    2. 次のように、すべてのSOAHOSTでunpackコマンドを実行します:
      cd ORACLE_COMMON_HOME/common/bin
      
      ./unpack.sh -domain=MSERVER_HOME \
                  -overwrite_domain=true \
                  -template=/full_path/recover_domain.jar
                  -log_priority=DEBUG \
                  -log=/tmp/unpack.log \
                  -app_dir=APPLICATION_HOME \
      
      • MSERVER_HOMEを、ローカル記憶域ディスクに作成するドメイン・ホームの完全なパスに置き換えます。これは、ドメインのコピーの解凍先となる場所です。
      • /full_path/ recover_domain.jarを、packコマンドを実行して共有ストレージ・デバイス上のドメインを圧縮したときに作成したドメイン・テンプレートJARファイルの完全なパスとファイル名に置き換えます。
  10. 必要に応じて、カスタマイズをリカバリ/実行します。
  11. サーバーを起動し、ドメインを確認します。
  12. すべて正しいことを確認した後、以前に名前を変更したフォルダを削除できます:
    1. SHOAHOST1で:
      rm –rf   ${ASERVER_HOME}_DELETE
      rm –rf   ${KEYSTORE_HOME}_DELETE
      rm –rf   ${DEPLOY_PLAN_HOME}/${DOMAIN_NAME}_DELETE
      rm –rf   ${APPLICATION_HOME}_DELETE
      rm –rf   ${ORACLE_RUNTIME}/${DOMAIN_NAME}_DELETE
    2. 各SOAHOSTNで:
      rm –rf   ${MSERVER_HOME}_DELETE

Oracle SOA Suiteエンタープライズ・デプロイメントの構成および管理タスク

Oracle SOA Suiteエンタープライズ・デプロイメントで実行する必要性が高い、いくつかの主要な構成および管理タスクについて説明します。

エンタープライズ・デプロイメントへのOracle SOA Suiteコンポジット・アプリケーションのデプロイ

Oracle SOA Suiteアプリケーションは、様々な種類のOracle SOA Suiteコンポーネントから構成されるコンポジットとしてデプロイされます。SOAコンポジット・アプリケーションには次が含まれます。

  • サービス・コンポーネント。ルーティングのためのOracle Mediator、オーケストレーションのためのBPELプロセス、オーケストレーションのためのBAMプロセス(Oracle BAM Suiteがインストールされている場合)、ワークフロー承認のためのヒューマン・タスク、SOAコンポジット・アプリケーションにJavaインタフェースを統合するためのSpring、ビジネス・ルールを使用するためのデシジョン・サービスなどがあります。

  • 外部のサービス、アプリケーションおよびテクノロジに対してSOAコンポジット・アプリケーションを接続するバインディング・コンポーネント(サービスと参照)

これらのコンポーネントが、1つのSOAコンポジット・アプリケーションに組み込まれています。

Oracle SOA Suiteコンポジット・アプリケーションをOracle SOA Suiteエンタープライズ・デプロイメントにデプロイするときは、必ず各コンポジットを、ロード・バランサ・アドレス(soa.example.com)ではなく、特定のサーバーまたはクラスタ・アドレスにデプロイしてください。

ロード・バランサ・アドレスにコンポジットをデプロイするには、多くの場合、デプロイヤ・ノードから外部のロード・バランサ・アドレスへの直接接続が必要になります。そのため、ファイアウォールに追加のポートを開く必要があります。

Oracle SOA Suiteコンポジット・アプリケーションの詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』の次の項を参照してください。

デプロイメント・プランおよびSOAインフラストラクチャ・アプリケーション更新での共有記憶域の使用

SOAクラスタ内のSOAインフラストラクチャ・アプリケーションまたはリソース・アダプタを再デプロイするときは、デプロイメント・プランとアプリケーション・ビットに、クラスタ内の全サーバーからアクセスできる必要があります。

SOAのアプリケーションおよびリソース・アダプタは、nostageデプロイメント・モードを使用してインストールされます。nostageデプロイメント・モードを選択した場合、管理サーバーはアーカイブ・ファイルをソースの場所からコピーしないため、各サーバーが同じデプロイメント・プランにアクセスできるようにしておく必要があります。

デプロイメント・プランの場所がドメイン内のすべてのサーバーで利用できるようにするには、「このガイドで使用するファイル・システムとディレクトリ変数」で示され、エンタープライズ・デプロイメント・ワークブック内のDEPLOY_PLAN_HOME変数で表される、デプロイメント・プランのホームの場所を使用します。

Oracle SOA Suiteエンタープライズ・デプロイメントでのデータベース増分の管理

Oracle SOA Suiteデータベースのデータ量が非常に多くなると、特に、多くのコンポジット・アプリケーションがデプロイされている可能性のあるOracle SOA Suiteエンタープライズ・デプロイメントでは、データベースの保守が難しくなることがあります。

『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』の次の項を参照してください。

SOAサーバーでのJMSメッセージの管理

SOAサーバーでJMSメッセージを管理する手順は、いくつかあります。スケール・イン操作の間にメッセージを保持する場合など、一部シナリオでは、これらの手順に従う必要があることがあります。

この項では、これらの手順のいくつかを詳しく説明します。

SOAサーバーからのJMSメッセージの排出

JMSメッセージの排出のプロセスは、特定のWebLogicサーバーからメッセージをクリアするために役立ちます。ストアを排出するための基本的な手法は、適切なJMSサーバーでのメッセージ生成の停止、およびアプリケーションへのメッセージ使用の許可で構成されています。

ただし、この手順は、アプリケーションによって異なり、かかる時間を予測できない可能性があります。別の方法として、ここでは、現在のJMS宛先からの現在のメッセージを保存して、必要な場合にそれらを別のサーバーにインポートするための、一般的な手順を示します。

排出手順は、1つ以上のサーバーを削除することでクラスタのサイズが縮小されるため、スケール・インやスケール・ダウンのシナリオで役立ちます。削除するサーバーからメッセージを排出し、それらをクラスタ内の別のサーバーにインポートすることで、メッセージが失われないようにすることができます。

一部の障害回復保守シナリオで、スナップショット・スタンバイ・データベースを使用することでセカンダリの場所でサーバーを起動するときに、この手順を使用することもできます。この場合は、ドメインの起動時にスタンバイ・ドメインで使用されないようにするために、セカンダリの場所でドメインを起動する前に、ドメインからメッセージを排出する必要があることがあります(そうしないと、実行が重複する可能性があります)。このシナリオでは、メッセージをインポートできません。

サーバーからJMSメッセージを排出するには、次のステップを実行します。
  1. JMSサーバーに対して生成を一時停止することで、新しいワークロードを停止します。操作の影響を受けるサーバーのJMSサーバーごとに、このアクティビティを実行する必要があります。
    1. WebLogicコンソールに移動し、「環境」「サービス」「JMSサーバー」<JMSサーバー名>「制御」をクリックします。
    2. 削除するサーバーの「JMSサーバー」を選択します。
    3. 「生成」「休止」の順にクリックします。
  2. 宛先からメッセージを排出します。JMSメッセージを排出するには、アプリケーションで保留中メッセージを使用します。ただし、このタスクは、アプリケーションによって異なり、時間がかかる可能性があります。そのため、各宛先のメッセージをエクスポートすることをお薦めします。どの宛先にメッセージがあるかの確認:
    1. WebLogicコンソールに移動し、「環境」「サービス」「JMSサーバー」「モニタリング」「アクティブな宛先」をクリックします。
    2. 削除するサーバーの宛先メンバーに現在のメッセージがあるかどうかを確認します。宛先名とそのJMSモジュールを特定します。
    3. 削除するサーバーで実行されているJMSサーバーごとに、このアクティビティを繰り返します。
    • キューからのメッセージの排出: 現在のメッセージがあるキュー宛先の場合:

      1. WebLogicコンソールに移動し、「環境」「サービス」「JMSモジュール」<JMSモジュール名><宛先名>をクリックします。

      2. 「モニタリング」をクリックします。

      3. 削除するサーバーとやり取りしているキューを選択し、「メッセージの表示」をクリックします。

      4. 「エクスポート」「すべてエクスポート」を選択し、メッセージをファイルにエクスポートします。後で使用するために、ファイル名をノートにとります。

      5. 「すべて削除」オプションを使用して、エクスポートしたメッセージを削除します。このステップは、メッセージの重複を避けるために重要となります。

    • トピックからのメッセージの排出

      重大なビジネス・インパクトがある場合のみ、トピックからメッセージを排出およびインポートするようにすることをお薦めします。各トピックの用途およびビジネス・インパクトの詳細は、表20-5を参照してください。EDNによって使用される、トピックdist_EDNTopic_auto内のメッセージの損失のみ、ビジネス・インパクトがあります。

      表20-5 コンポーネントの各トピックの用途とビジネス・インパクトの詳細

      コンポーネント JMSモジュール JMSトピック名 用途 メッセージ損失のビジネス・インパクト

      BPM

      BPMJMSModule

      dist_MeasurementTopic_auto

      内部プロセスのスター・スキーマにプロセス・メトリックのメッセージを公開するために使用されます。

      影響は少ない。

      プロセスのスター・スキーマ・データ・オブジェクトに基づいてPCSワークスペース・ダッシュボードおよびBAMダッシュボードに表示される、一部のダッシュボード数に影響します。

      BPM

      BPMJMSModule

      dist_PeopleQueryTopic_auto

      論理グループ・メンバーシップを更新するために使用されます。

      影響は少ない。

      グループ・メンバーシップは、スケジューラに基づいて再計算されます。

      SOA

      SOAJMSModule

      dist_B2BBroadcastTopic_auto

      B2Bによって使用されます。メッセージは、すぐに使用するためのものです。

      影響なし。

      SOA

      SOAJMSModule

      dist_EDNTopic_auto

      EDN用に使用されます。アプリケーションのイベント・メッセージが含まれています。

      ビジネス・インパクト。

      これらのEDNイベント・メッセージを使用するアプリケーションは、それらを失うことになります。

      SOA

      SOAJMSModule

      dist_TenantTopic_auto

      使用されなくなりました。

      影響なし。

      SOA

      SOAJMSModule

      dist_XmlSchemaChangeNotificationTopic_auto

      使用されなくなりました。

      影響なし。

      Insight

      ProcMonJMSModule

      dist_ProcMonActivationTopic_auto

      ライフサイクル操作(クラスタの様々なノード間でのInsightモデルのアクティブ化)のために、Insightによって使用されます。

      影響なし。

      BAM

      BAMJMSSystemResource

      dist_oracle.beam.cqs.activedata_auto

      本番環境では使用されません。

      影響なし。

      BAM

      BAMJMSSystemResource

      dist_oracle.beam.persistence.activedata_auto

      アクティブ・データ問合せを支援して永続から連続問合せプロセッサに送信されるデータ変更通知です。

      影響は少ない。

      メッセージ損失によって起こる可能性があるのは、アクティブ・データ・ダッシュボードでの誤ったデータ表示のみです。ダッシュボードのリフレッシュまたはアクティブ問合せの再実行によって、正しいデータが復元されます。

      BAM

      BAMJMSSystemResource

      dist_oracle.beam.server.event.reportcache.changelist_auto

      レポート・キャッシュからアクティブ・データ・ダッシュボードに送信されるデータ変更です。

      BAM

      BAMJMSSystemResource

      dist_oracle.beam.server.metadatachange_auto

      アーティファクト(問合せ、ビュー、ダッシュボード)が変更された場合に、下流のリスナーに送信されるメタデータ変更です。

      MFT

      MFTJMSModule

      dist_MFTSystemEventTopic_auto

      リスニング・ソースのアクティブ化、PGPキーの追加、Mbeanプロパティの変更など、すべてのノードでの同期が必要なイベントを公開するために使用されます。

      影響は少ない。

      これらのメッセージは、存続期間が非常に短く、少ない頻度となります。メッセージ損失があった場合は、再起動により、すべてのノードが同期されます。

      トピックからメッセージを排出するには、次のステップに従います。
      1. WebLogicコンソールに移動し、「環境」「サービス」「JMSモジュール」<JMSモジュール名>→<トピック名>をクリックします。

      2. 「モニタリング」「恒久サブスクライバ」の順に選択します。

      3. 削除するサーバーに対応するトピックを選択し、「適用」をクリックします。ページに、選択したメンバー・トピックについてのみサブスクリプションが表示されます。

      4. 現在のメッセージがある恒久サブスクライバを選択し、「メッセージの表示」をクリックします。

      5. 「エクスポート」「すべてエクスポート」をクリックし、メッセージをファイルにエクスポートします。後で使用するために、ファイル名をノートにとります。

      6. 「削除」「すべて削除」をクリックして、サブスクライバからエクスポートしたメッセージを削除します。このステップは、メッセージの重複を避けるために重要となります。

      7. 現在のメッセージがあるトピック内の任意のサブスクライバに対してエクスポート・プロセスを繰り返します。

SOAサーバーへのJMSメッセージのインポート

前にエクスポートしたメッセージを、JMS宛先の別のメンバーまたは同じメンバーにインポートできます。この手順は、スケール・インやスケール・ダウンのシナリオで、削除するサーバーからクラスタ内の別のメンバーにメッセージをインポートするために使用されます。

JMSメッセージをインポートするには、次のステップを実行します。
  • キュー内のメッセージのインポート:

    1. WebLogicコンソールに移動し、「環境」「サービス」「JMSモジュール」<JMSモジュール名><キュー名>をクリックします。

    2. 「モニタリング」をクリックします。

    3. メッセージをインポートするサーバーの宛先を選択し、「メッセージの表示」をクリックします。

    4. 「インポート」を選択してこの宛先のメッセージをインポートします。

    5. キュー宛先ごとにステップを繰り返します。

  • トピック内のメッセージのインポート:

    1. WebLogicコンソールに移動し、「環境」「サービス」「JMSモジュール」<JMSモジュール名><トピック名>をクリックします。

    2. 「モニタリング」「恒久サブスクライバ」の順に選択します。

    3. メッセージをインポートするトピック・メンバーを選択し、「適用」をクリックします。

    4. メッセージをインポートする恒久サブスクライバを選択し、「メッセージの表示」をクリックします。

    5. 「インポート」をクリックし、このサブスクライバのメッセージを含むファイルを選択します。

    6. メッセージをインポートする必要があるトピック内のサブスクライバごとに、ステップを繰り返します。

クロス・コンポーネント・ワイヤリングについての考慮事項

クロス・コンポーネント・ワイヤリング(CCW)を利用すると、FMWコンポーネントは、特定のAPIを使用することによってWLSドメインで使用可能なサービスの一部をパブリッシュし、それにバインドすることができます。

CCWがワイヤリング情報のバインドを実行するのは、構成ウィザードのセッション中のみ、またはWLSドメイン管理者によって手動で強制実行されたときだけです。クラスタにWeblogic Serverを追加するとき(静的または動的クラスタでのスケール・アウトおよびスケール・アップ操作で)、新しいサーバーはサービスを公開しますが、そのサービスを使用するクライアントのすべてが自動的に更新されて、新しいサービス・プロバイダにバインドされるわけではありません。CCW表にすでにバインドされている既存のサーバーは、クラスタに新しいメンバーが追加されたことを自動的に認識しないため、更新は実行されません。これは、ESSおよびWSMPMがSOAにサービスを提供する場合と同じです(両者はサービスをサービス表に動的に公開しますが、SOAサーバーはバインドが再び強制されないかぎり、これらの更新を認識しません)。

ノート:

OHS構成によって使用されるのと似た、追加のクロス・コンポーネント・ワイヤリング情報があります。これはプロキシ・プラグインの動作のため、このワイヤリングによって影響されません。詳細は、次の項を参照してください。

WSMPMおよびESS用のクロス・コンポーネント・ワイヤリング

クロス・コンポーネント・ワイヤリングのt3情報は、JNDI呼出しURLで使用されるサーバーのリスト取得する際に、WSMPMとESSによって使用されます。

CCWのt3情報は、動的更新が欠落していてもその影響を制限します。呼出しが完了すると、JNDI URLを使用してRMIスタブとクラスタのメンバーのリストが取得されます。JNDI URLが、サーバーのリスト全体を含んでいる必要はありません。RMIスタブには常にクラスタ内のすべてのサーバーのリストが含まれており、それら全体でのリクエストのロード・バランスに使用されます。そのため、バインドなしに、クラスタに追加されたサーバーが(バインドURLに存在していなくても)使用されます。唯一の欠点は、クラスタの拡張または縮小時にシステムを動作させ続けるために、最初のCCWバインドで指定される元のサーバーのうち少なくとも1つが稼働している必要があるという点です。この問題を回避するために、メンバーの静的リストを使用するかわりにサービス表でクラスタ名構文を使用できます。

クラスタ名構文は、次のとおりです。
cluster:t3://cluster_name

cluster:t3://cluster_nameを使用すると、CCW呼出しによって常にクラスタ内のすべてのメンバーのリストがフェッチされるため、初期サーバーに依存することなく、そのとき存在するすべてのメンバーが対象になります。

WSMPMでのcluster_name構文の使用

この手順では、WSMPMでt3構文を使用することにより、WSMPMクラスタでサーバーを追加または削除する場合にCCW情報を再更新することを不要にします。

CCW t3情報は、デフォルトでクラスタ構文を使用するように構成されています。クラスタ構文が使用されていることを確認し、必要があれば編集するだけです。

  1. 管理者のアカウントを使用してFusion Middleware Controlにサインインします。たとえば、weblogic_soaを使用します
  2. 「WebLogicドメイン」ドロップダウン・メニューから、「クロス・コンポーネント・ワイヤリング」-「サービス表」を選択します。
  3. 「OWSMポリシー・マネージャ」のurn:oracle:fmw.owsm-pm:t3行を選択します。
  4. クラスタ構文が使用されていることを確認します。そうでない場合、「編集」をクリックして、クラスタ名構文を使用してt3およびt3sの値を更新します。
  5. 「OK」をクリックします。
  6. 「WebLogicドメイン」ドロップダウン・メニューから、「クロス・コンポーネント・ワイヤリング」-「コンポーネント」を選択します。
  7. 「OWSMエージェント」を選択します。
  8. 「クライアント構成」セクションで、owsm-pm-connection-t3行を選択して「バインド」をクリックします。
  9. 「OK」をクリックします。

ノート:

ワイヤリング表は、クラスタのスケール・アウトまたはスケール・アップのたびに更新されますが、手動の再バインドを使用しないかぎり、クラスタ構文を置き換えはしません。したがって、クラスタのライフサイクルのあらゆる更新(追加、削除)の影響を受けません。