ヘッダーをスキップ
Oracle Smart Update Oracle WebLogic Serverへのパッチの適用
リリース3.3.0
B61614-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

5 インストールおよびアプリケーションにおける適用済パッチのアクティブ化

この項には次のトピックが含まれます:

概要

WebLogicシステム・クラスパスや、WebLogic Server上にデプロイされたアプリケーションのクラスパスなどのようなクラスパス内にロードされるクラスを含んだパッチを適用した後は、それらのクラスが適切なクラスパスに正しく挿入されたことを必ず確認してください。そうでない場合、それらは有効になりません。同様に、ライブラリ・パス内に挿入されるライブラリ・ファイルを含んだパッチについては、それらを使用するサーバー・インスタンスやアプリケーションが起動したときに、ライブラリ・ファイルを示すパスが正しく処理されることを必ず確認してください。

製品インストールに対するパッチ適用の際にSmart Updateで使用される方法は一律ではなく、パッチの種類および内容に応じて異なります。パッチには、次のいずれかが収められています:

パッチが適用される方法と、システム上でパッチがSmart Updateにより管理される方法については、次の項を参照してください。起動スクリプトを変更するかどうかおよび変更方法を判断するためには、これらを理解しておく必要があります。

この項では、WebLogicドメインに適用するパッチが有効になることを確認する場合に実行する必要のある基本的な作業についても説明します。

起動スクリプトによる参照が必要とされるパッチ

起動スクリプトによってロードされるクラスまたはライブラリ・ファイルを含んだパッチの場合、それらのクラスやファイルはSmart Updateによって、システム上にあるインストール・レベルのパッチ・ディレクトリに一元的に格納されます。これにより、クラスやライブラリ・ファイルは、それらを使用するWebLogic Serverインスタンスの起動時にロードできる状態になります。

このカテゴリに属するパッチの例として、次のようなものがあります

  • WebLogic Serverシステム・クラスパスにロードされるクラス・ファイル

  • WebLogic Server上にデプロイされたアプリケーションのクラスパスにロードされるクラス・ファイル

  • WebLogic Serverライブラリ・パスにロードされるライブラリ・ファイル


    注意:

    パッチの検証およびターゲット・インストールへの適用はいつでも実行できますが、ただちに有効にならないパッチもあります。(a)クラスパスにロードされるクラスおよび(b)ライブラリ・パスにロードされるネイティブ・ライブラリ・ファイルのいずれかが含まれるパッチは、(a)必要に応じて、適切なWebLogicドメインまたはサーバーの起動スクリプトに変更を加えてパッチを参照するようにしたうえで、(b)対応するドメインまたはサーバーを再起動するまで、有効になりません。

すべてのアプリケーション、ドメインおよびサーバーに対してリソースを置き換えるパッチ

製品インストールに含まれる既存のリソースを置き換えるパッチは、適用と同時に、そのインストール全体に対して自動的に有効になります。起動スクリプトによって有効化されるのではありません。したがって、システム・リソースの置換えを含んだパッチの場合、起動スクリプトに変更を加える必要はありません。

置換えアーティファクトを含んだパッチの一般的な内容の例を次に示します。

  • Webサーバー・プラグインのリソース

  • ソケット・マルチプレクサ

  • ダイナミック・リンク・ライブラリ


    注意:

    Smart Updateでは、置き換えられたファイルがインストール・レベルのパッチ・ディレクトリのbackupサブディレクトリに格納されます。その後、置換えが含まれるパッチを削除すると、元のリソースがバックアップから復元されます。(バックアップの詳細は、表5-1を参照してください。)ただし、最大限の安全性を確保するために、システム・リソースを置き換えるパッチを適用する前には、置換え予定のシステム・リソースすべてについて別途バックアップを作成することをお薦めします。

アプリケーションによるデプロイおよび参照が必要とされるパッチ

共有アーカイブのパッチは、これを必要とするアプリケーションにより明示的にデプロイし、参照する必要があります。共有アーカイブのパッチをすべてのアプリケーションではなく、選択されたアプリケーションに適用する場合は、固有のパッチ・レベルごとにカスタム・パッチ・プロファイルを作成する必要があります。

システム上でのSmart Updateによるパッチ・ファイル格納方法

My Oracle Supportからパッチをダウンロードすると、パッチ・ダウンロード・ディレクトリにパッチ・コンテナが配置されます。パッチ・コンテナには次の内容が収められています。

  • パッチ

    1つのパッチには複数のファイルが含まれている場合があります。次のようなファイルが含まれます

    • クラスの置換え用として提供される同名のクラス(サーバー起動時にWebLogicシステム・クラスパスに挿入される)

    • ネイティブ・ライブラリ・ファイル(システム・パスに挿入される)

    • 構成ファイル

  • そのパッチ・コンテナに含まれる各パッチに関するメタデータ

    メタデータは、各パッチを、同じ製品インストールに適用されている他のすべてのパッチに対して検証するためにSmart Updateで使用される情報です。(パッチを適用すると、メタデータは、システム上のSmart Updateによって管理されるディレクトリにあるパッチ・レジストリに置かれます。詳細は、「インストール・レベルのパッチ・ディレクトリの構造」を参照してください。)

パッチ・プロファイルに対してパッチが適用されると、そのパッチに含まれる個々のファイルは次のように処理されます。

  • システム・リソース(WebLogic Serverプラグイン・モジュールなど)に対する置換えを含んだパッチの場合、該当する既存のリソースが、その置換えによって自動的に更新されます。

  • パッチJARファイル(ターゲット・インストール内にある同名のクラスに対する更新としてクラスパスにロードされるクラスのセット)がパッチに含まれている場合、次のイベントがj発生します:

    • パッチJARファイルがインストール・レベルのパッチ・ディレクトリに配置されます。このディレクトリについては、「インストール・レベルのパッチ・ディレクトリの構造」を参照してください。

    • パッチ・マニフェストJAR(パッチJARファイル内にあるクラスへのポインタを含んだファイル)がSmart Updateにより作成されます。現在のプロファイルに対するパッチ・マニフェストJARが存在する場合は、既存のパッチ・マニフェストJARが更新され、新しいパッチJARファイル内にあるクラスへのポインタが追加されます。パッチ・マニフェストJARファイルについては、「パッチ・マニフェストJARファイル」の説明を参照してください。

  • パッチが環境変数PATHまたはLIBPATHを介してシステム・ライブラリ・パスにロードされるネイティブ・ライブラリ・ファイルを含む場合、Smart Updateでは、現在選択されているパッチ・プロファイル専用のnativeというサブディレクトリの有無の確認が行われます。このサブディレクトリが見つからない場合は、作成されます。nativeサブディレクトリについては、「「起動スクリプトを開く」ダイアログ・ボックスのアイコン」を参照してください。

インストール・レベルのパッチ・ディレクトリの構造

製品をインストールし、Smart Updateを実行すると、パッチ・ディレクトリが作成されます。各製品(WebLogic Server、Workshop for WebLogic、WebLogic Integration、WebLogic Portalなど)には、ミドルウェア・ホーム・ディレクトリの下に独自のパッチ・ディレクトリ構造(patch_wls1001patch_wlw1020patch_wli1020patch_wlp1020など)があります。


注意:

カスタム・プロファイルは、Smart Update 3.3.0以降、非推奨になっています。これ以降、カスタム・プロファイルを使用しないようにお薦めします。カスタム・プロファイルでは、インストール全体で使用されるWebLogic Serverパッチのインストールがより複雑になっています。

製品固有パッチ・ディレクトリ構造は、製品のパッチ・メンテナンスの新しい区分を提供します。またそれによって、今後の製品が、WebLogic Serverの異なる、または共通のバージョン間で相互運用する際の柔軟性も向上します。

図5-1は、MW_HOME\patch_productディレクトリの構造を示しています。

図5-1 インストール・レベルのパッチ・ディレクトリ

図5-1の説明が続きます
「図5-1 インストール・レベルのパッチ・ディレクトリ」の説明

表5-1では、各パッチ・ディレクトリの内容について説明します。

表5-1 インストール・レベルのパッチ・ディレクトリ内のディレクトリとファイル

このディレクトリは 次を含みます

patch_product\backup

システムを以前のパッチ・レベルに復元するために必要なファイルおよび情報が格納されているパッチ・バックアップ・マニフェストを含みます。

このディレクトリは、製品インストール・ディレクトリ内に配置されるファイルを含んだ、インストール全体を対象とするパッチを適用すると、作成されます。

patch_product\patch_jars

各製品のパッチ・ディレクトリ(図5-1に示すpatch_wlp1020、patch_wls1001patch_wlw1020など)にあるパッチJARファイルには、システム上の製品インストールに適用された各種パッチのクラスJARファイルが含まれています。

各製品のパッチ・ディレクトリの下の1つのパッチJARファイルには、次のうち1つまたは複数のものが含まれます。

  • インストール内の同名のクラスに対する置換えとして提供されたクラス。これらのクラスは、WebLogicシステム・クラスパスに挿入する必要があります。

  • なんらかの製品に必要なクラス。これらのクラスは、WebLogic Server上にデプロイされたアプリケーションに挿入する必要があります。

注意: システム・リソースに対する置換えを含むパッチJARファイルは、このディレクトリ(patch_jars)には保存されません。

注意: 追加されるパッチJARファイルの格納に十分なディスク領域があるか確認しておくことをお薦めします。JARファイルを含んだパッチのサイズについては、「パッチ情報の表示」を参照してください。

patch_product\profiles\default

デフォルトのパッチ・プロファイルのディレクトリ。パッチを適用すると、次のうち1つまたは複数のサブディレクトリが作成される場合があります。

  • profiles\default\sys_manifest_classpath

    パッチ・マニフェストJARファイルweblogic_patch.jarが格納されます。このファイルには、WebLogicシステム・クラスパスに挿入される(patch_jarsディレクトリの)パッチJARファイル内にあるクラスへの参照が含まれています。パッチ・マニフェストJARファイルについては、「パッチ・マニフェストJARファイル」の説明を参照してください。

    注意: My Oracle Supportが発行するパッチの大半は、weblogic_patch.jarで参照されます。

  • profiles\default\sysext_manifest_classpath

    WebLogic拡張ディレクトリ・パッチ・マニフェストJARファイルweblogic_ext_patch.jarが格納されます。このファイルには、なんらかの製品に必要とされ、その製品に基づいてWeblogic Server上にデプロイされるアプリケーションのクラスパスに挿入する必要がある、パッチJARファイル内にあるクラスへの参照が含まれています。weblogic_ext_patch.jarで参照されるパッチJARファイルも、patch_jarsディレクトリに格納されます。

    注意: sysext_manifest_classpathディレクトリはWebLogic Server 9.1では使用されません。

  • profiles\default\native

    システム・ライブラリ・パスに挿入され、インストール先にある同名の既存ライブラリに(置換えではなく)取ってかわる、ネイティブ・ライブラリ・ファイルが格納されます。詳細は、「ネイティブ・ライブラリ・ファイル」を参照してください。

  • profiles\default\modules

    Open Services Gateway initiative (OSGi)ベースの製品で使用されるモジュール・ファイルが格納されます。このディレクトリの内容は、クラスパスを通じてモジュールがロードされる、WebLogic Serverベースの製品では使用されません。詳細は、「モジュール・パッチ・ファイル」を参照してください。

patch_product\profiles\custom-profile-name

カスタム・パッチ・プロファイル用のディレクトリ。カスタム・パッチ・プロファイルの名前がディレクトリ名となります。カスタム・パッチ・プロファイルが1つ作成されるたびに、そのプロファイルの名前を持つディレクトリが自動的に作成されます。カスタム・パッチ・プロファイルの各ディレクトリには、次のうち1つまたは複数のサブディレクトリが含まれます。

  • profiles\custom-profile-name\sys_manifest_classpath

    パッチ・マニフェストJARファイルweblogic_patch.jarが格納されます。このファイルには、このカスタム・パッチ・プロファイルを示すサーバー・インスタンスのWebLogicシステム・クラスパスに挿入される、パッチJARファイル内にあるクラスへの参照が含まれています。

  • profiles\custom-profile-name\sysext_manifest_classpath

    WebLogic拡張ディレクトリ・パッチ・マニフェストJARファイルweblogic_ext_patch.jarが格納されます。このファイルには、このカスタム・パッチ・プロファイルを示すWebLogic Serverインスタンス上にデプロイされたアプリケーションのクラスパスに挿入される、patch_jarsディレクトリのパッチJARファイル内にあるクラスへの参照が含まれています。

    注意: sysext_manifest_classpathディレクトリはWebLogic Server 9.2では使用されません。

  • profiles\custom-profile-name\native

    このカスタム・パッチ・プロファイルを参照するサーバー・インスタンスのシステム・ライブラリ・パスに挿入されるネイティブ・ライブラリ・ファイルが格納されます。

  • profiles\custom-profile-name\modules

    OSGiベースの製品で使用されるモジュール・ファイルが格納されます。

  • profiles\custom-profile-name\archives

    このカスタム・パッチ・プロファイルを示すアプリケーションによりデプロイおよび参照される共有アーカイブ・ファイルが格納されます。

patch_product\registry

次に関する情報が含まれます

  • その製品インストールに適用されているすべてのパッチ

  • パッチによって置き換えられた製品のインストール・ファイル

この情報は、パッチ検証などの処理を実行するためにSmart Update内部で使用されます。


パッチ・マニフェストJARファイル

同名の既存クラスに取ってかわるためにクラスパスに挿入されるクラスを含んだパッチは、パッチ・マニフェストJARによって参照されます。そのようなクラスを含んだパッチをパッチ・プロファイルに適用すると、対象プロファイルのパッチ・マニフェストJARファイルがSmart Updateによって自動的に更新され、新しいパッチ内にあるクラスを参照するようになります。

たとえば、パッチにBug10131320_1032.jarという名前のJARファイルが含まれ、このファイルにWebLogicシステム・レベル・クラスがある場合、そのパッチをデフォルト・パッチ・プロファイルに適用すると、Smart Updateにより次の処理が実行されます。

  • Bug10131320_1032.jarMW_HOME\patch_wls1032\patch_jarsディレクトリに追加されます。

  • 次のファイルが存在しない場合、作成されます。

    MW_HOME\patch_wls1032\profiles\default\sys_manifest_classpath\weblogic_patch.jar
    
  • weblogic_patch.jar内に、Bug10131320_1032.jar内のWebLogicシステム・クラスを指す次の参照が追加されます。

    Class-Path: C:\Oracle\Middleware\patch_wls1032\patch_jars\Bug10131320_1032.jar
    
  • MW_HOME\patch_wls1032\registryディレクトリ内のパッチ・レジストリ情報が更新されます。

ネイティブ・ライブラリ・ファイル

対応するWebLogic Serverインスタンスの起動時にシステム・ライブラリ・パスにロードされるネイティブ・ライブラリ・ファイルを含んだパッチの場合は、適用先パッチ・プロファイルのnativeサブディレクトリにそれらのライブラリ・ファイルが格納されます。

たとえば、サーバー起動時にシステム・ライブラリ・パスにロードされるlibmuxer.soというファイルがパッチに含まれているとします。このパッチをデフォルト・パッチ・プロファイルに適用すると、Smart Updateにより次の処理が実行されます。

  • 次のディレクトリが存在しない場合、作成されます。

    MW_HOME\patch_wls1032\profiles\default\native
    
  • 次のディレクトリにlibmuxer.soが配置されます。

    MW_HOME\patch_wls1032\profiles\default\native
    
  • 次のディレクトリ内で管理されているパッチ・レジストリ情報が更新されます。

    MW_HOME\patch_wls1032\registry
    

モジュール・パッチ・ファイル

共通のモジュール・パッチか製品固有のモジュール・パッチかにかかわらず、モジュール・パッチが適用された場合、Smart Updateによって、MW_HOME\patch_product\profiles\profileName\modulesディレクトリにパッチが追加されます。元のモジュールJARファイルは修正されません。この方法が取られているのは、適用したパッチの有効範囲を限定するためです。

たとえば、WebLogic Event Server用モジュール・パッチがMW_HOME\wlevs20\modules\com.bea.wlevs.processor.monitor_2.0.0.0.jarに更新したクラスを含み、そのパッチがデフォルト・パッチ・プロファイルに適用された場合、Smart Updateでは次のタスクが実行されます。

  1. 次のディレクトリが存在しない場合、作成されます。

    MW_HOME\patch_wlevs20200\profiles\default\modules
    
  2. 更新されたcom.bea.wlevs.processor.monitor_2.0.0.0.jarを、MW_HOME\patch_wlevs20200\profiles\default\modulesディレクトリに追加します

  3. MW_HOME\patch_wlevs20200\registryディレクトリ内のパッチ・レジストリ情報が更新されます。

WebLogic Event Serverが起動すると、MW_HOME\wlevs20200\modulesディレクトリにまだある元のモジュールではなく、MW_HOME\patch_wlevs20200\profiles\default\modulesにあるパッチ適用済のモジュールが使用されます。

クラスパス、拡張クラスパス、およびネイティブ・ライブラリ・パッチ

次の場合は、起動スクリプトに変更を加えなくても、クラスパスおよびライブラリ・パスに対するパッチがWebLogicドメイン・サーバーの起動時に正しく取り込まれると考えられます。

それ以外の場合は、追加の作業手順を実行して、製品サーバーの起動時にパッチが適切なクラスパスやライブラリ・パスに挿入されるようにする必要があります。追加の作業手順が必要となるのは、パッチを適用した製品の使用環境に次のいずれかが該当する場合です。

ここでは、スクリプトの使用方法およびSmart Update Start Script Editorを使用しての起動スクリプトの変更方法について説明します。なお、すべてのWebLogicドメインおよびサーバーにクラスパス、拡張クラスパスおよびネイティブ・ライブラリ・ファイルのパッチを参照させるために使用できるカスタム・スクリプトについても説明します。


注意:

Workshop for WebLogic (10.1以降のリリース)では、ランタイムWebLogic Serverパッチは自動的に有効化されません。Smart updateを使用してパッチを適用したら、Workshop IDEでランタイムWebLogic Serverのパッチ・プロファイルも指定する必要があります。詳細は、Workshop for WebLogicのドキュメントを参照してください。

起動スクリプトに対するパッチの場所の指定について

WebLogic Serverインスタンスの起動時、パッチが確実にクラスパスまたはシステム・ライブラリ・パスにロードされるようにするために、該当するサーバーの起動スクリプトにパッチへのポインタを追加することが必要な場合があります。次の項では、Smart Updateの動作と、起動スクリプトに加える必要がある変更の内容について説明します。

すべてのWebLogicドメインおよびサーバーで使用されるクラス・パスとライブラリ・パスを定義したデフォルト・スクリプト

WebLogic Serverインスタンスが起動する際には、いくつかの起動スクリプトが実行されます。そうしたスクリプトで実行される処理の1つに、システムで使用されるクラスパスとライブラリ・パス(WebLogicシステム・クラスパスなど)の定義があります。デフォルトでは、すべてのWebLogic Serverインスタンスで、次のいずれかのスクリプト内で設定されるクラスパスおよびライブラリ・パス定義が使用されます。

Windows:

WL_HOME\common\bin\commEnv.cmd

UNIX:

WL_HOME/common/bin/commEnv.sh

注意:

UNIX環境でcommEnv.shをコマンド・ラインから手動で実行するか、カスタム・サーバー起動スクリプトから呼び出す場合は、次の構文を使用する必要があります。

. WL_HOME/common/bin/commEnv.sh

または

. ./commEnv.sh(すでにbinディレクトリに移動している場合)


デフォルト・パッチ・パス環境変数

commEnvスクリプトには、表5-2で説明する環境変数のデフォルトの定義が含まれています。デフォルトでは、それらのパッチ・パス変数はすべてのWebLogic Serverインスタンスが起動する際に使用されます。また、クラス・パスとライブラリ・パスに挿入されるパッチをポイントしています。

表5-2 commEnvスクリプト内で定義されるパッチ・パス変数

この変数は 次のロケーションに設定されています

PATCH_CLASSPATH

デフォールトのパッチ・プロファイル用のパッチ・マニフェストJARファイル(weblogic_patch.jar)です。

このJARファイルには、WebLogicのシステム・クラスパスにロードされるパッチJARファイル内にあるクラスへの参照が含まれています。たとえば、Windowsの場合、commEnvスクリプトのデフォルトの定義は次のとおりです。

if "%PATCH_CLASSPATH%" == "" set PATCH_CLASSPATH=
%WLS_PATCH_CLASSPATH%;%WLW_PATCH_CLASSPATH%

注意: My Oracle Supportから提供されるパッチの多くは、PATCH_CLASSPATHで参照されるWebLogicシステム・クラスパス・パッチです。

WEBLOGIC_EXTENSION_DIRS

デフォールトのパッチ・プロファイル用のWebLogic拡張ディレクトリ・パッチ・マニフェストJARファイル(weblogic_ext_patch.jar)です。

このJARファイルには、WebLogicサーバーにデプロイされているアプリケーションのクラスパスにロードされたパッチJARファイル内にあるクラスへの参照が含まれています。たとえば、Windowsの場合、commEnvスクリプトのデフォルトの定義は次のとおりです。

if "%WEBLOGIC_EXTENSION_DIRS%" == "" 
set WEBLOGIC_EXTENSION_DIRS= %BEA_HOME%\
patch_wls1030\profiles\default\sysext_manifest_classpath

注意: この変数は、WebLogic Server上にデプロイされたアプリケーションのクラスパスにロードされる、パッチJARファイル内のクラスを必要とする製品で使用するため、予約されています。デプロイされたアプリケーションにパッチを適用するためのこのメカニズムは、現在WebLogic Server 9.1では使用されていません。

PATCH_LIBPATH

(UNIXのみ)

デフォルトのパッチ・プロファイル用のインストール・レベルのディレクトリ内のnativeフォルダ

このフォルダには、LIBPATH環境変数を介してシステム・ライブラリ・パスにロードするファイルが含まれています。たとえば、UNIXの場合、commEnvスクリプトのデフォルトの定義は次のとおりです。

if [ "${PATCH_LIBPATH}" = "" ];
 then PATCH_LIBPATH=${BEA_HOME}
 /patch_wls1030/profiles/default/native

PATCH_PATH

(Windowsのみ)

デフォルトのパッチ・プロファイル用のインストール・レベルのパッチ・ディレクトリ内のnativeフォルダ

このフォルダには、PATH環境変数を介してシステム・パスにロードするファイルが含まれています。たとえば、Windowsの場合、commEnvスクリプトのデフォルトの定義は次のとおりです。

if "%PATCH_PATH%" == "" set PATCH_PATH=
%BEA_HOME%\patch_wls1030\profiles\default\native

パッチ・パス変数がクラス・パスおよびライブラリ・パスに挿入される際の規則

commEnvスクリプト内では、表5-2で説明するパッチ・パス変数が、システム・クラスパス、ライブラリ・パスなどを設定する文に必要に応じて挿入されます。たとえば、commEnvスクリプト内にある次のデフォルト文では、WebLogicシステム・クラスパスを設定しています。クラスパス定義の冒頭で変数PATCH_CLASSPATHが使用されている箇所を太字で示します。

set WEBLOGIC_CLASSPATH=%PATCH_CLASSPATH%;%JAVA_HOME%\lib\tools.jar;
%WL_HOME%\server\lib\weblogic_sp.jar;%WL_HOME%\server\lib\weblogic.jar;
%WL_HOME%\server\lib\webservices.jar

サーバーの起動時にcommEnvスクリプトが実行されると、これらのパッチ・パス変数で参照されているクラスおよびライブラリ・ファイルがロードされ、classpath文またはpath文でそれ以降に参照されている同名のクラスまたはライブラリ・ファイルをオーバーライドします。

図5-2は、PATCH_CLASSPATH環境変数を介して参照され、commEnvスクリプトによってWebLogicシステム・クラスパスにロードされるクラスを含んだパッチJARファイルを示しています。

図5-2 PATCH_CLASSPATH変数によって参照されるパッチJARファイルのクラス

図5-2の説明が続きます
「図5-2 PATCH_CLASSPATH変数によって参照されるパッチJARファイルのクラス」の説明

サーバー起動スクリプト内でのパッチ・パス変数の設定について

「すべてのドメインおよびサーバーで使用されるクラス・パスとライブラリ・パスを定義したデフォルト・スクリプト」で説明するパッチ・パス変数が、WebLogic Serverインスタンスの起動に先立って実行されるスクリプト(startWebLogicsetDomainEnvなど)の中で定義されている場合、該当するサーバー・インスタンスに対してはそうした既存の定義内容が使用されます。commEnv内の変数定義によってオーバーライドされることはありません。

たとえば、MyTestDomainドメインのsetDomainEnvスクリプトに、MyTestDomain内のすべてのWebLogic Serverインスタンスで使用するPATCH_CLASSPATH変数の定義が含まれている場合、該当するサーバー・インスタンスに対してはその定義内容が使用され、commEnvスクリプト内のPATCH_CLASSPATHはオーバーライドされます。したがって、起動スクリプト内にパッチ・パス変数の定義を追加する際は、別の起動スクリプトを呼び出す文よりも前に定義を記述する必要があります。

個々のWebLogic Serverインスタンスそれぞれについて、必要なすべてのパッチを使用して起動が正しく行われるようにしてください。使用環境において、いずれかのパッチ・パス変数を定義してWebLogic Serverインスタンスを起動することが求められる場合は、次の事項を理解しておく必要があります。

起動スクリプトの実行順序

使用環境内にある各種の起動スクリプトが実行される順序と、起動スクリプトが呼び出される場所について理解していれば、変更を加える必要のあるスクリプトを判断し、すべてのターゲット・サーバー・インスタンスに必要なすべてのパッチ・パス変数について、確実に正しい値が代入されるようにすることができます。

WebLogic Serverインスタンスを起動し、各WebLogicドメインおよびOracle製品インストールに対して変数を設定するデフォルト・スクリプトが用意されています。

それらのスクリプトは、各スクリプトの内容に応じて決まる特定の順序に従って実行されます。

次の点について、表5-3で説明します。

  • サーバー、WebLogicドメイン、および製品インストールに対して作成される各種のデフォルト・スクリプト

  • 各スクリプトの機能

  • スクリプトが実行される順序

表5-3 製品インストールに含まれるスクリプトのデフォルト・セット

このスクリプトは この機能を実行します 実行されるとき

WebLogicドメインのbinディレクトリ内:

Windows:

startManagedWebLogic.cmd

UNIX:

startManagedWebLogic.sh

ドメイン内の管理対象サーバーを起動します。スクリプト内で定義されるパッチ・パス変数は、当該スクリプトから起動されるすべての管理対象サーバーで使用されます。

構成に管理対象サーバーが含まれるドメイン(クラスタなど)では、このスクリプトはデフォルトで最初に実行されます。

このスクリプトからは、startWebLogicスクリプトが呼び出されます。

WebLogicドメインのbinディレクトリ内:

Windows:

startWebLogic.cmd

UNIX:

startWebLogic.sh

ドメイン内のWebLogic Serverインスタンスを起動します。スクリプト内で定義されるパッチ・パス変数は、ドメイン・サーバーすべて(すでに起動しているものを除く)に対して有効になります。

たとえば、前もって実行されたstartManagedWebLogicスクリプトに管理対象サーバー用のパッチ・パス変数定義が含まれている場合、startManagedWebLogicスクリプトで起動される管理対象サーバーに対しては、startWebLogicスクリプト内のパッチ・パス変数定義がオーバーライドされます。

構成に管理対象サーバーが含まれるドメインでは、このスクリプトはデフォルトでstartManagedWebLogicスクリプトから呼び出されます。

startWebLogicスクリプトからは、setDomainEnvスクリプトが呼び出されます。

WebLogicドメインのbinディレクトリ内:

Windows:

setDomainEnv.cmd

UNIX:

setDomainEnv.sh

WebLogic Serverインスタンスを起動および実行するためのドメイン全体の環境を設定します。スクリプト内で定義されるパッチ・パス変数は、ドメイン・サーバーすべて(startManagedWebLogicstartWebLogicなどサーバー固有のスクリプトから起動されるものを除く)に対して有効になります。

このスクリプトは、デフォルトでstartWebLogicスクリプトから呼び出されます。

setDomainEnvスクリプトには、commEnvスクリプト(そのドメインについてサーバー起動スクリプトやsetDomainEnvスクリプトで定義されない設定を定義)の呼出しが含まれています。

インストールのWL_HOME\common\binディレクトリ内:

Windows:

commEnv.cmd

UNIX:

commEnv.sh

WebLogic Serverインスタンスを起動および実行するための、ドメイン全体の環境を設定します。スクリプト内で定義されるパッチ・パス変数は、ドメイン・サーバーすべて(startManagedWebLogicstartWebLogicなどサーバー固有のスクリプトから起動されるものを除く)に対して有効になります。

デフォルトでは、当該インストール上で起動および実行されるサーバー用に設定を定義するために呼び出されるスクリプトとしてはこれが最後です。

注意: UNIX環境でcommEnv.shをコマンド・ラインから手動で実行するか、カスタム・サーバー起動スクリプトから呼び出す場合は、次の構文を使用する必要があります。

. WL_HOME/common/bin/commEnv.sh

すでにbinディレクトリに移動している場合は、次の構文を使用します。

. ./commEnv.sh

デフォルト・スクリプト内のパッチ・パス変数定義用プレースホルダー

構成ウィザードを使用してWebLogicドメインを作成すると、次に説明するとおり、パッチ・パス変数定義用のプレースホルダーを含んだスクリプトがそのドメイン用に作成されます。

  • setDomainEnvスクリプトには、次に示すコード行が含まれています(デフォルトではコメント・アウトされています)。

    @REM If you want to override the default Patch Classpath, Library Path 
    and Path for this domain,
    @REM Uncomment the following lines and add a valid value for 
    the environment variables
    @REM set PATCH_CLASSPATH=[myPatchClasspath] (windows)
    @REM set PATCH_LIBPATH=[myPatchLibpath] (windows)
    @REM set PATCH_PATH=[myPatchPath] (windows)
    @REM PATCH_CLASSPATH=[myPatchClasspath] (unix)
    @REM PATCH_LIBPATH=[myPatchLibpath] (unix)
    @REM PATCH_PATH=[myPatchPath] (unix)
    

    これらのコメント行は、パッチ・パス変数の定義内容を記述する場所がわかりやすいように、構成ウィザードによって用意されるものです。たとえば、MyProfileというカスタム・プロファイル内のパッチJARファイルをドメインから参照する場合は、次のようにPATCH_CLASSPATH変数のプレースホルダーのコメントを解除し、値を定義します。

    PATCH_CLASSPATH=%BEA_HOME%\patch_wls1001\profiles\MyProfile\sys_manifest_classpath\weblogic_patch.jar
    

    注意:

    カスタム・プロファイルは、Smart Update 3.3.0以降、非推奨になっています。これ以降、カスタム・プロファイルを使用しないようにお薦めします。カスタム・プロファイルでは、インストール全体で使用されるWebLogic Serverパッチのインストールがより複雑になっています。

    commEnvスクリプトにデフォルトで含まれているこれらの変数の定義については、表5-2を参照してください。

    パッチ・パス変数定義の追加作業を支援するために、Smart Updateには起動スクリプト・エディタが用意されています(「起動スクリプト・エディタの使用」の説明を参照)。


    注意:

    1つの起動スクリプト内で参照するWebLogicシステム・レベル・クラスのパッチ・マニフェストJARファイルは1つだけにしてください。複数のファイルを参照すると、実行時に予期できない動作が生じることがあります。

  • 構成ウィザードで作成されるstartWebLogicおよびstartManagedWebLogic起動スクリプトには、パッチ・パス変数定義用のプレースホルダーはありません。これらのスクリプトのいずれかに1つ以上の変数定義を追加する場合は、どのWebLogic Serverインスタンスに影響が及ぶかについて十分に注意してください。

    パッチ・パス変数定義を追加する起動スクリプトの数を最小限にとどめることにより、インストール済の製品のメンテナンス・レベルやバージョンを変更またはアップグレードした場合、起動スクリプト関連で必要となるメンテナンス作業の量が軽減されます。

起動スクリプトの修正

起動スクリプトでプロファイル内のクラスのパッチまたはライブラリ・ファイルのパッチを参照する場合に実行が必要な固有の作業は、これらのパッチの適用範囲が、製品インストール上で実行されているすべてのWebLogicドメインおよびサーバーを対象としているのか、そのインストールの特定のドメインまたはサーバーのみを対象としているのかに応じて異なります。

カスタム起動スクリプトを使用する場合、またはパッチの適用範囲を特定のWebLogicドメインまたはサーバーに限定する必要がある場合、起動スクリプトを次のように変更する必要があります。

適用したクラス・パス・パッチおよびライブラリ・パス・パッチが正しく使用されるように起動スクリプトを変更する方法については、「概要」を参照してください。次の項目についての説明があります。

「起動スクリプトに対するパッチの場所の指定について」も参照し、構成ウィザードで作成されるデフォルト・スクリプトによってクラスやライブラリのパッチがシステム・クラスパスやライブラリ・パスに自動的に挿入される仕組みについて理解してください。クラスやライブラリのパッチを正しく参照するようスクリプトに変更を加える必要がある場合は、このプロセスを理解しておくことが重要です。

スクリプトの変更が必要になるのは、次のような場合です:

表5-4は、起動スクリプトの変更に関する情報をまとめたものです。

表5-4 起動スクリプトの変更

次に関する情報は 次のトピックを参照してください

起動スクリプト・エディタの使用

起動スクリプト・エディタの使用


起動スクリプトを開く方法

起動スクリプトを開く方法


すべてのWebLogicドメインおよびサーバーで使用するクラスおよびライブラリ・パスのパッチを参照するために起動スクリプトに加える変更の内容

カスタム・スクリプト経由のパッチですべてのドメインとサーバーをポイントする方法


特定のWebLogicドメインまたはサーバーで使用するクラスおよびライブラリ・パスのパッチを参照するために起動スクリプトに加える変更の内容

第6章「個々のアプリケーション、ドメイン、またはサーバーへのパッチの適用」


カスタム・パッチ・プロファイルの作成(WebLogicドメインまたはサーバーからパッチを参照するようスクリプトを変更する前に必要)

カスタム・パッチ・プロファイルの作成



起動スクリプト・エディタの使用

起動スクリプト・エディタはSmart Updateに用意されているツールです。使用環境内で目的の起動スクリプトを見つけ、スクリプト内にパッチ・パス変数の定義を作成する作業を簡単に実行できます。Smart Updateは、デフォルト・パッチ・プロファイルとカスタム・パッチ・プロファイルの組合せで表される、パッチ・レベルの異なる複数の製品を使用する環境におけるスクリプトを維持されます。


注意:

カスタム・プロファイルは、Smart Update 3.3.0以降、非推奨になっています。これ以降、カスタム・プロファイルを使用しないようにお薦めします。カスタム・プロファイルでは、インストール全体で使用されるWebLogic Serverパッチのインストールがより複雑になっています。

この変更により、下部のペインに表示されるスクリプト・スニペットも製品固有のものになり、myCustomProfileがターゲットに設定されます。各種のパスそれぞれに対して異なるスニペットが提供されています。これらのパスには、クラスパス、WebLogic拡張クラスパスおよびネイティブが含まれます。

Windowsのスクリプト・スニペット

SET PATCH_CLASSPATH=%BEA_HOME%\patch_wls1001\profiles\myCustomProfile\sys_manifest_classpath\weblogic_patch.jar

SET WEBLOGIC_EXTENSION_DIRS=%BEA_HOME%\patch_wls1001\profiles\myCustomProfile\sysext_manifest_classpath

SET PATCH_LIBPATH=%BEA_HOME%\patch_wls1001\profiles\myCustomProfile\native
SET PATCH_PATH=%BEA_HOME%\patch_wls1001\profiles\myCustomProfile\native

UNIXのスクリプト・スニペット

export PATCH_CLASSPATH=${BEA_HOME}/patch_wls1001/profiles/myCustomProfile/sys_manifest_classpath/weblogic_patch.jar

export WEBLOGIC_EXTENSION_DIRS=${BEA_HOME}/patch_wls1001/profiles/myCustomProfile/sysext_manifest_classpath

export PATCH_LIBPATH=${BEA_HOME}/patch_wls1001/profiles/myCustomProfile/native
export PATCH_PATH=${BEA_HOME}/patch_wls1001/profiles/myCustomProfile/native

この手順は、WebLogic Platform 9.x、ALSB 2.5、およびALSB 2.6用に起動スクリプト・エディタを使用する方法を順を追って説明します。起動スクリプト・エディタを使用するには、次の手順を実行します:

  1. Smart Updateの「ターゲット・インストール」パネルで、ターゲット・インストールを選択します。

  2. 「パッチ」「スクリプト・エディタの起動」を選択します。

  3. 「スクリプト・エディタの起動」ダイアログ・ボックスで次の操作を実行します。

    1. WebLogicドメインまたはサーバーから参照するパッチ・プロファイルを選択します。カスタム・パッチ・プロファイルを使用してパッチを特定のWebLogicドメインまたはサーバーに適用する方法の詳細は、第9章「パッチの配布に関するベスト・プラクティス」を参照してください。

    2. 起動スクリプトを編集する製品を選択します。図5-3を参照してください。


      注意:

      Workshop for WebLogicを選択した場合、そのカスタム・プロファイルに存在するWebLogic ServerパッチはWebLogicドメインに自動的にダウンロードされません。

    3. 変更を加える起動スクリプトを開きます。

      詳しい手順は、「起動スクリプトを開く方法」を参照してください。

    4. パッチ・プロファイルに、適切なパッチ・パス変数定義を追加します。

      起動スクリプト・エディタには、PATCH_CLASSPATHWEBLOGIC_EXTENSION_DIRSPATCH_LIBPATHPATCH_PATHの各変数に対して推奨される定義付きのコード・スニペットが用意されています。これらの定義はすべて、前に選択したパッチ・プロファイル用にカスタマイズされています。ただし、定義内容は必要に応じて変更することもできます。

    5. カスタム・パッチ・プロファイルmyCustomProfileにWebLogic ServerとWorkshop for WebLogicの両方のパッチが含まれており、そのすべてを特定のドメインでアクティブにする場合は、スニペットのようではあるがsetPatchEnv.cmd内の宣言でモデル化されている、製品固有のトークン化されたパス宣言を含めるようにドメインの起動スクリプトを最初に編集します。

      例:

      WLS_PATCH_CLASSPATH=  and  WLW_PATCH_CLASSPATH=
      

      変更前の内容は次のとおりです。

      PATCH_CLASSPATH=
      

      また、setPatchEnv.cmdに含まれているような連結文を追加する必要もあります。

      set PATCH_CLASSPATH=%WLS_PATCH_CLASSPATH%;%WLW_PATCH_CLASSPATH%
      

      この処理をパスのタイプごとに繰り返します。

    6. 起動スクリプトを保存します。


      注意:

      パッチ・パス変数の定義を起動スクリプトに追加する際、別の起動スクリプトを呼び出す文より前にその定義を配置するようにしてください。たとえば、setDomainEnvスクリプトにパッチ・パス変数の定義を追加する場合は、commEnvスクリプトを呼び出す文の前に追加します。この位置関係を守れば、追加した定義がその後呼び出される別の起動スクリプト内の定義によってオーバーライドされることはありません。

起動スクリプトの変更方法は、Smart Updateによって強制または制限されることはありません。ただし、構成ウィザードなどの標準ツールによってデフォルトで作成される起動スクリプトの内容と、ツールによって決定されるデフォルトの格納場所にはそのまま従うことをお薦めします。そうすることで、パッチ・プロファイル内のパッチを参照するよう修正が必要な適切な起動スクリプトを見つけるための機能が期待どおりに動作し、Smart Updateをより便利に利用できます。

「スクリプト・エディタの起動」ダイアログ・ボックスはウィザードではないため、次のような処理はできません。

  • 修正が必要とされるすべての適切なスクリプトの特定。構成ウィザードによってデフォルトで作成される起動スクリプトを使用していれば、起動スクリプト・エディタを使用して目的のスクリプトをすばやく見つけることができます。

    サーバーおよびドメインの起動メカニズムがカスタマイズされている場合、起動スクリプト・エディタ内のみではすべての変更作業を完結できないことがあり、追加の作業手順が必要となる可能性があります。

  • 起動スクリプトの修正。起動スクリプト・エディタでは、スクリプトを表示し、スクリプトに対して推奨される追加コードも提示しますが、変更内容と保存場所の最終決定はユーザーが行います。

  • 起動スクリプトのバックアップ・コピーを作成します。

起動スクリプトを開く方法

「スクリプト・エディタの起動」ダイアログ・ボックスで「開く」をクリックして起動スクリプトを開くと、Smart Updateの「起動スクリプトを開く」ダイアログ・ボックスが表示されます。このダイアログ・ボックスは、WebLogicドメイン、管理対象サーバー、クラスタ、または個別のサーバーについて、パッチ・プロファイル内のパッチへのポインタを追加する対象の起動スクリプトを見つけるために使用します。

「スクリプト・エディタの起動」ダイアログ・ボックスでは、表5-5に示すアイコンを使用すると、変更対象の起動スクリプトを含むディレクトリに移動できます。

表5-5 「起動スクリプトを開く」ダイアログ・ボックスのアイコン

このアイコンは 次を表します
このアイコンは親ディレクトリを表します

WebLogicドメイン内のbinサブディレクトリ(変更する必要があるスクリプトがデフォルトで格納されている)の親ディレクトリ。

このアイコンはドメインのサブディレクトリを表します

スクリプト・ファイルが格納されているドメイン・サブディレクトリ(binなど)。サブディレクトリを開いて中のスクリプトを表示するには、このアイコンをクリックします。


構成ウィザードによってドメイン用に作成されたディレクトリ構造を使用している場合は、Smart Updateにより、変更が必要な起動スクリプトのあるディレクトリへと誘導されます。

修正対象となる特定の起動スクリプトを見つける場合の詳細は、以下のトピックを参照してください。

ドメイン起動スクリプトの修正

ドメインの起動スクリプトに変更を加えるには、対象となるドメインのbinサブディレクトリにあるsetDomainEnvまたはstartWebLogicスクリプトを選択します。図5-3は、WindowsシステムでsetDomainEnvスクリプトを選択する方法を示しています。

図5-3 起動スクリプトの選択ダイアログ・ボックスでのsetDomainEnvスクリプトの選択

図5-3の説明が続きます
「図5-3 起動スクリプトの選択ダイアログ・ボックスでのsetDomainEnvスクリプトの選択」の説明

setDomainEnvスクリプトには、PATCH_CLASSPATHPATCH_LIBPATHPATCH_PATHの各変数定義のプレースホルダーが含まれています。このスクリプトの変更の詳細は、表5-6を参照してください。

表5-6 スクリプトの変更

次の変更に関する情報は 次の項を参照してください

PATCH_CLASSPATHPATCH_LIBPATHPATCH_PATHの各変数定義のプレースホルダーを変更する方法

デフォルト・スクリプト内のパッチ・パス変数定義用プレースホルダー


このスクリプトをデフォルト・パッチ・プロファイル内のパッチをポイントするように変更する方法

カスタム・スクリプト経由のパッチですべてのドメインとサーバーをポイントする方法


このスクリプトをカスタム・パッチ・プロファイル内のパッチをポイントするように変更する方法

ドメインおよびサーバーからカスタム・パッチ・プロファイルへの参照



すべての管理対象サーバーまたはクラスタの起動スクリプトの修正

ドメイン内にある管理対象サーバーすべて(デフォルトではクラスタ内のサーバーすべてを含む)の起動スクリプトに変更を加えるには、対象となるドメインのbinサブディレクトリにあるstartManagedWebLogicスクリプトを選択します。図5-4は、Windowsシステムの場合についてその方法を示しています。

図5-4 起動スクリプトの選択ダイアログ・ボックスでのstartManagedWebLogicスクリプトの選択

図5-4の説明が続きます
「図5-4 起動スクリプトの選択ダイアログ・ボックスでのstartManagedWebLogicスクリプトの選択」の説明

このスクリプトの変更の詳細は、表5-7を参照してください。

表5-7 スクリプトの変更

このスクリプトに対する変更に関する情報は 次の項を参照してください

このスクリプトをデフォルト・パッチ・プロファイル内のパッチをポイントするように変更する方法

カスタム・スクリプト経由のパッチですべてのドメインとサーバーをポイントする方法


このスクリプトをカスタム・パッチ・プロファイル内のパッチをポイントするように変更する方法

ドメインおよびサーバーからカスタム・パッチ・プロファイルへの参照



特定サーバーの起動スクリプトの修正

ドメイン内の特定のサーバーに対する起動スクリプトに変更を加えるには、対象となるドメインのbinサブディレクトリにある、特定のサーバー用に固有の名前を付けた起動スクリプトを選択します。図5-5は、Windowsシステムで起動スクリプトstartWebLogicServer1を選択する方法を示しています。

図5-5 起動スクリプトの選択ダイアログ・ボックスでのサーバー起動スクリプトの選択

図5-5の説明が続きます
「図5-5 起動スクリプトの選択ダイアログ・ボックスでのサーバー起動スクリプトの選択」の説明

このスクリプトの変更の詳細は、表5-8を参照してください。

表5-8 起動スクリプトの変更

このスクリプトに対する変更に関する情報は 次の項を参照してください

このスクリプトをデフォルト・パッチ・プロファイル内のパッチをポイントするように変更する方法

カスタム・スクリプト経由のパッチですべてのドメインとサーバーをポイントする方法


このスクリプトをカスタム・パッチ・プロファイル内のパッチをポイントするように変更する方法

ドメインおよびサーバーからカスタム・パッチ・プロファイルへの参照



カスタム・スクリプト経由のパッチですべてのドメインとサーバーをポイントする方法

クラスおよびライブラリのパッチは、実際のドメインで使用されるクラス・パスおよびライブラリ・パスに確実に正しくロードされるようにすることが重要です。WebLogicドメイン内でサーバー起動や環境設定に使用している起動スクリプトから、「すべてのWebLogicドメインおよびサーバーで使用されるクラス・パスとライブラリ・パスを定義したデフォルト・スクリプト」に示すとおりデフォルトのcommEnvスクリプトの呼出しが行われない場合は、次のようにスクリプトを修正する必要があります。

デフォルトのcommEnvスクリプトのこの機能は、次のいずれかの方法で必ず自身のスクリプトに追加してください。

ドメインおよびサーバーのWebLogicシステム・クラスパスからデフォルト・パッチ・プロファイル内のパッチJARへの参照

使用環境内にあるドメインおよびサーバーが起動する際には、デフォルト・パッチ・プロファイルに適用されているパッチJARがWebLogicシステム・クラスパスに挿入される必要があります。パッチJARがクラスパスに確実に挿入されるようにするため、使用する起動スクリプトに、この項で説明するコードを必ず追加してください。

  1. PATCH_CLASSPATH環境変数のデフォルトの定義を追加します。例:

    if "%PATCH_CLASSPATH%" == "" set PATCH_CLASSPATH=BEA_HOME\patch_wls1001\profiles\default\sys_manifest_classpath\weblogic_patch.jar
    

    この定義を使用すると、個々のサーバーまたはドメインからカスタム・パッチ・プロファイル内のパッチを参照する必要がある場合に、そのサーバーまたはドメインでこの定義をオーバーライドできます。この定義におけるBEA_HOMEは、ミドルウェア・ホーム・ディレクトリ・パスを表します。絶対パスを指定する方法と、前に定義した環境変数を使用する方法(推奨)があります。

  2. PATCH_CLASSPATHを、WebLogicシステム・クラスパスを設定する文の先頭に追加します。例:

    set WEBLOGIC_CLASSPATH=%PATCH_CLASSPATH%;%JAVA_HOME%\lib\tools.jar;
    %WL_HOME%\server\lib\weblogic_sp.jar;%WL_HOME%\server\lib\weblogic.jar;
    %WL_HOME%\server\lib\webservices.jar
    

    このように定義すれば、パッチJARに収められたクラスが、クラスパス内でそれより後に参照されている同名の既存クラスをオーバーライドします。

    デフォルト・パッチ・プロファイルに、製品対応のWebLogic Serverにデプロイされているアプリケーション用のパッチJARが含まれている場合、次のように、WEBLOGIC_EXTENSION_DIRS環境変数を該当するアプリケーションのパッチJARをポイントするように定義できます。

    if "%WEBLOGIC_EXTENSION_DIRS%" == "" set WEBLOGIC_EXTENSION_DIRS=
    %BEA_HOME%\patch_wls1001\profiles\default\sysext_manifest_classpath
    

    注意:

    WEBLOGIC_EXTENSION_DIRS変数は、WebLogic Server上にデプロイされたアプリケーションのクラスパスにロードされる、パッチJARファイル内のクラスを必要とする製品で使用するため、予約されています。デプロイされたアプリケーションに対するパッチ用のこのメカニズムは、現在、WebLogic Server 9.1では使用されていません。

ドメインおよびサーバーからデフォルト・パッチ・プロファイル内のライブラリ・パッチへの参照

デフォルト・パッチ・プロファイルに適用されたネイティブ・ファイルは、使用環境内にあるどのドメインまたはサーバーが起動する際にも、システム・ライブラリ・パスに確実に挿入される必要があります。それらのファイルが正しく挿入されるようにするには、デフォルト・パッチ・プロファイルに適用されたパッチを参照するスクリプトに、この項で説明するコードを追加してください。

このコードをスクリプトに追加するには、次に示す適切な手順説明に従ってください。

UNIXシステムの場合

  1. PATCH_LIBPATH環境変数のデフォルトの定義を追加します。例:

    if [ "${PATCH_LIBPATH}" = "" ]; then  PATCH_LIBPATH=${BEA_HOME}/patch_wls1001/profiles/default/native
    

    この定義を使用すると、個々のサーバーまたはドメインからカスタム・パッチ・プロファイル内のパッチを参照する必要がある場合に、そのサーバーまたはドメインでこの定義をオーバーライドできます。

  2. PATCH_LIBPATHを、システムのシステム・ライブラリ・パスを設定する文の先頭に追加します。このスクリプトを製品でサポートされているすべてのオペレーティング・システムとハードウェア・アーキテクチャで使用可能にするために、これらの各システムのパスを設定する個々の文を指定できます。例:

    if [ -n "${LIBPATH}" ]; then
    LIBPATH=${LIBPATH}:${WL_HOME}/server/native/aix/ppc
    else
    LIBPATH=${WL_HOME}/server/native/aix/ppc
    fi
    LIBPATH=${PATCH_LIBPATH}:${LIBPATH}
    export LIBPATH
    

    これで、デフォルト・パッチ・プロファイル内のライブラリ・ファイル・パッチが、パスに後で出現する既存の同名のファイルを確実にオーバーライドするようになります。

Windowsシステムの場合

  1. PATCH_PATH環境変数のデフォルトの定義を追加します。例:

    if "%PATCH_PATH%" == "" set PATCH_PATH=%BEA_HOME%\patch_wls1001\profiles\default\native
    

    この定義を使用すると、個々のサーバーまたはドメインからカスタム・パッチ・プロファイル内のパッチを参照する必要がある場合に、そのサーバーまたはドメインでこの定義をオーバーライドできます。この定義におけるBEA_HOMEは、ミドルウェア・ホーム・ディレクトリ・パスを表します。絶対パスを指定する方法と、前に定義した環境変数を使用する方法(推奨)があります。

  2. 変数PATCH_PATHを、システム・ライブラリ・パスを設定する文の先頭に追加します。このスクリプトを製品でサポートされているすべてのオペレーティング・システムとハードウェア・アーキテクチャで使用可能にするために、これらの各システムのパスを設定する個々の文を指定できます。例:

    if "%WL_USE_X86DLL%" == "true" set PATH=%PATCH_PATH%;%WL_HOME%\server\native\win\32;
    %WL_HOME%\server\bin;%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin;%PATH%;%WL_HOME%\server\native\win\32\oci920_8
    

    これで、デフォルト・パッチ・プロファイル内のライブラリ・ファイル・パッチが、パスに後で出現する既存の同名のファイルを確実にオーバーライドするようになります。

モジュール・パッチの適用

WebLogic Server (10.0以降のリリース)およびOSGiベースの製品(Oracle Enterprise Repositoryなど)は、ソフトウェアの開発と配布にモジュール化アプローチを採用しています。このようなモジュールを更新するパッチが提供されています。


注意:

OSGiベースの製品は、microServices Architecture (mSA)上に構築され、Open Services Gateway initiative (OSGi)ベースのフレームワークを使用して、モジュールまたは機能セットで提供されるサービスを管理します。

モジュールには、共通モジュールと製品固有モジュールの2種類があります。共通モジュールは複数の製品で共有し、製品固有モジュールは1つの製品のみで使用します。共通モジュール用のパッチを適用しようとすると、Smart Updateから警告メッセージが表示されます。すべての製品にパッチを適用する場合は、「はい」をクリックできます。それ以外の場合は、「いいえ」をクリックします。ダイアログ・ボックスに表示される指示に従ってください。

WebLogic Platformの実行時インスタンスには、1つのバージョンのモジュールだけを含めることができます。そのため、特定のモジュール・バージョンが正しくパッチを適用されるようにするには、複数の製品に関連付けられているモジュールに関して、連携するすべての製品にパッチを適用する必要があります。

WebLogic Serverではモジュール・パッチはクラスパスに従って追加しますが、OSGiベースの製品ではパッチはベースのランチャを使用してロードします。

WebLogic Serverにおけるモジュール・パッチの適用

WebLogic Serverなどの製品は、クラスパスに従ってモジュールをランタイム・コンテナにロードします。クラスパスへのパッチのロードの詳細は、「クラスパス、拡張クラスパス、およびネイティブ・ライブラリ・パッチ」を参照してください。

OSGiベースの製品におけるモジュール・パッチの適用

OSGiベースの製品は、OSGiベースのランチャを通じてモジュールをランタイム・コンテナにロードします。ランチャは、必要なモジュールと実行時にモジュールがロードされる順序を決定します。また、特定の製品のモジュールにパッチが適用されているかどうかを判別します。モジュールにパッチが適用されていると、更新されたバージョンがロードされ、使用されます。モジュール・パッチの適用範囲は、製品およびパッチ・プロファイルに固有です。これにより、同じミドルウェア・ホーム・ディレクトリのすべての製品ではなく、1つの製品のみにパッチを限定するために必要とされるきめ細かな管理が可能になります。

OSGiベースの製品インストールの場合、共通モジュール用(MW_HOME\modules)および製品固有モジュール用(MW_HOME\wlevs20\modulesなど)の2つのディレクトリがあります。図5-6にこれらのディレクトリの構造を示します。


注意:

Oracle Fusion Middleware 11gR1リリースから、BEA_HOMEにかわってMW_HOMEが新たに使用されています。

図5-6 WebLogic Event Serverに対するインストール・レベルのディレクトリ構造

図5-6の説明が続きます
「図5-6 WebLogic Event Serverに対するインストール・レベルのディレクトリ構造」の説明

ネイティブ・バイナリとその他のアーティファクトのパッチ

ネイティブ・バイナリとその他のアーティファクトは、「すべてのアプリケーション、ドメインおよびサーバーに対してリソースを置き換えるパッチ」で説明しているように、すべてのアプリケーション、ドメインおよびサーバーで有効になります。

共有アーカイブ・パッチ

ここでは、アプリケーションで共有アーカイブ・パッチをデプロイおよび参照する方法について説明します。

概要

共有アーカイブ・パッチは、共有ライブラリ、特にWebLogicライブラリ・モジュールをサポートするために導入されました。製品ディレクトリにインストールされる他のアーティファクトと異なり、アプリケーションは既知の場所に依存しなくても、ディレクトリ名とバージョン参照によって共有アーカイブを使用できます。これは、共有アーカイブのデフォルト・インストールが、同じ共有アーカイブのカスタム・インストールによって指定されたプロファイルに置き換えられるまで、インストール全体(またはドメイン全体)に適用されることを示しています。

Smart Updateで、デフォルト・プロファイルまたはカスタム・プロファイルへの適用後、共有アーカイブ・パッチをアクティブ化するには、パッチを適用したアーカイブを対象のドメインにデプロイしてから、必要があれば、そのアーカイブを参照するようにアプリケーションの記述を変更します。


注意:

カスタム・プロファイルは、Smart Update 3.3.0以降、非推奨になっています。これ以降、カスタム・プロファイルを使用しないようにお薦めします。カスタム・プロファイルでは、インストール全体で使用されるWebLogic Serverパッチのインストールがより複雑になっています。

共有アーカイブ・パッチは、ドメイン全体(または特定のインストールで動作中のすべてのドメイン)またはドメイン内の選択したアプリケーションに適用できます。インストール内のすべてのドメインに影響を与えるには、Smart Update内のデフォルト・プロファイルに共有アーカイブ・パッチを適用します。

このトピックの詳細は、「共有アーカイブ・パッチのデフォルト・アプリケーション」を参照してください。

特定のアプリケーションにのみ影響を与えるには、カスタム・プロファイルにパッチを適用し、アプリケーション記述子のアーカイブ参照を更新する必要があります。この方法により、必要に応じて、共有ライブラリを利用するアプリケーションごとに独自のパッチ・プロファイルを維持できます。

このトピックの詳細は、「アプリケーション・スコープによるカスタム・プロファイルでの共有アーカイブ・パッチのアクティブ化」を参照してください。

アーカイブの置換えまたは挿入

共有アーカイブ・パッチを適用すると、アーカイブ全体が置き換えられる(まったく新しいアーカイブがインストールされる)か、(挿入によって)アーカイブの一部が更新されます。

どちらの操作が行われるかは、パッチの作成者が決定します。不明な場合は、My Oracle Supportにお問合せください。

パッチの削除

パッチを削除する場合、Smart Updateを使用してパッチを削除するだけでなく、パッチを明示的にアンデプロイする必要があります。

詳細情報

共有ライブラリのデプロイおよびアンデプロイの詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。共有ライブラリの詳細は、Oracle WebLogic Serverアプリケーションの開発を参照してください。

共有アーカイブ・パッチのデフォルト・アプリケーション

Smart Updateで共有アーカイブ・パッチをデフォルト・プロファイルに適用する場合、パッチ管理システムでは、インストール全体に適用可能なパッチとして扱われます。したがって、共有アーカイブ・パッチをデフォルト・プロファイルに適用すると、そのパッチはすべてのカスタム・プロファイル(ある場合)にも適用されます。Smart Updateでは、パッチが製品インストール全体に適用されるという警告が表示されます。「続行」をクリックすると、パッチがすべてのプロファイルに適用されます。

パッチを適用した共有アーカイブが実際に書き込まれる場所は、通常は製品の共有ライブラリ・ディレクトリを基準とします。アーカイブのデプロイ方法によって、この情報が必要になる場合もあります。

共有ライブラリは、次の場所にあります。

  • WL_HOME/common/deployable-libraries

  • WL_HOME/portal/lib/modules

  • WL_HOME/servicebus/lib

  • WL_HOME/integration/common/lib/installation

通常、ポータル共有アーカイブ・パッチは、前述の共通ディレクトリおよびポータル共有ライブラリ・ディレクトリのmaintenance/defaultにインストールされます。他の製品では、別のデフォルト・パッチ・ディレクトリ構造が作成される場合もあります。特定のパッチに関する詳細なガイダンスが必要な場合は、My Oracle Supportにお問合せください。

パッチが既存のアーカイブを置き換えるタイプのもので、すでにデプロイされている場合、サーバーを再起動する必要があります。パッチに新しいバージョンがある場合、または別のディレクトリにインストールされる場合、パッチを適用したアーカイブをデプロイする必要があります。デプロイメントを実行するには、WebLogic ServerコンソールまたはカスタムWLSTスクリプトを使用するか、ターゲット・ドメインのconfig.xmlを直接更新します。

パッチを適用したアーカイブのデプロイメントが正常に完了すると、アーカイブの名前、仕様、バージョン番号などがWebLogic Server管理コンソールに表示されます。

ライブラリ・モジュール・マニフェストを変更しない場合、ライブラリ・モジュールへの参照もすべて変更されず、ドメイン内のすべてのアプリケーションは、アプリケーション記述子を手動でさらに構成しなくても、新しい機能をただちに利用できるようになります。

アプリケーション・スコープによるカスタム・プロファイルでの共有アーカイブ・パッチのアクティブ化

パッチを一定のレベルで管理して、選択したアプリケーションに適用することがあります。このような場合に共有アーカイブ・パッチを適用するには、カスタム・プロファイルを作成し、そのカスタム・プロファイルにのみ共有アーカイブ・パッチを適用します。

共有ライブラリ・パッチのバージョンを区別し、1つのドメイン内で複数のバージョンの共有ライブラリが共存できるようにするには、固有の名前または固有の実装バージョン(あるいはその両方)でバージョンを区別します。

Smart Updateのカスタム・プロファイルに共有アーカイブ・パッチを適用したあと、2つの手順を実行して、パッチを適用するアプリケーションに対してパッチをアクティブ化する必要があります。

  1. カスタム・プロファイルでパッチをデプロイします。

  2. パッチを適用したアーカイブの特定のバージョンを参照するように、アプリケーション記述子を更新します。

カスタム・プロファイルの共有アーカイブ・パッチをデプロイする手順は、パッチが次のディレクトリにあるという点を除いて、デフォルト・プロファイルの共有アーカイブ・パッチをデプロイする手順と同じです。

MW_HOME/patch_weblogicversion/profile/custom-profile-name/archives

例: MW_HOME/patch_wls1001/profile/customProfile

アプリケーション記述子の更新

アプリケーション適用範囲のパッチの様々な例をサポートするために、パッチのインストール時に固有の名前またはバージョン(あるいはその両方)を強制するように作成されている場合、共有アーカイブ・パッチを構成できます。Smart Updateでは、パッチがカスタム・プロファイルに適用された場合にこれを検出し、そのときにアーカイブ・マニフェストでアーカイブの拡張子名または実装バージョン(あるいはその両方)を変更します。

一意の名前を強制するようにパッチが作成されている場合、パッチ・インストール・プロセスにより、マニフェスト拡張子名に文字列-patch_custom-profile-nameが追加されます。

一意の実装バージョンを強制するようにパッチが作成されている場合、パッチ・インストール・プロセスにより、バージョンの末尾の数字がデクリメントされ、数字Nが追加されます。Nは、patch-registry.xmlで定義されているパッチ・プロファイルIDです。たとえば、9.2.0.1の実装バージョンは9.2.0.0.1になります。

通常、アプリケーション記述子(WARの場合はweblogic.xml、EARの場合はweblogic-application.xml)には特定のバージョンは不要です。かわりに、最新(最大値)バージョンが検索されます。特定のバージョンの共有ライブラリを参照するためには、ブールの<exact-match>をtrueに設定する必要があります。

たとえば、9.2.0.0.1共有アーカイブ・パッチに対するweblogic-application.xmlの次に示すセクションでは、<exact-match>がtrueに設定されています。

<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<library-ref> 
<library-name>wlp-tools-admin-app-lib</library-name> 
<specification-version> 9.2.0 </specification-version> 
implementation-version> 9.2.0.0.1 </implementation-version> 
<exact-match> true </exact-match> 
</library-ref> 
</weblogic-application>