![]() ![]() ![]() ![]() |
インストール環境全体を対象とすることが必須でないパッチは、カスタム パッチ プロファイルを使用することにより、特定のドメインまたはサーバのみに対して適用できます。
パッチをダウンロードして適用する際、パッチはデフォルトで対象インストール全体に対して有効になります。インストール全体にパッチが適用された環境で実行するようにコンフィグレーションされているドメインやサーバはすべて、その環境に適用されたパッチを使用して実行されます。しかし、場合によっては、プロダクション環境内の特定のサーバまたはドメインだけを異なるパッチ レベルで実行することが必要になります。そのようなニーズを満たすため、Smart Update では、インストール環境全体を対象とすることが必須でない特定のパッチを、個別のドメイン、サーバ、またはクラスタに対して適用できます。
たとえば、(a) 1 つの BEA ホーム ディレクトリに複数の BEA Products がインストールされている状態で、(b) それらのうち 1 つの製品しか使用しないドメインがある場合、そのようなドメインでは、使用する特定の製品に適用されているパッチだけを参照するようにすることをお勧めします。
インストール全体に対して有効にすることが適切でない 1 つまたは複数のパッチを個別のドメインまたはサーバから参照するには、大まかにいって、次の 3 つの手順からなる作業が必要となります。
図 6-1 では、この手順の詳細を示しています。
Smart Update を使用すると、共有アーカイブ タイプのパッチを特定のポータル アプリケーションに適用できます。共有アーカイブ パッチをデフォルト パッチ プロファイルに適用する場合、自動的にインストールされます。ただし、アプリケーション適用範囲のパッチをカスタム パッチ プロファイルに適用する場合、明示的にデプロイする必要があります。「共有アーカイブ パッチ」を参照してください。
デフォルトでは、デフォルト パッチ プロファイルに含まれるすべてのパッチが、インストール環境全体のすべてのドメインとサーバに対して有効になります。ただし、カスタム パッチ プロファイル内のパッチは、インストール環境内の一部のドメインまたはサーバのみに対して有効にすることができます。「すべてのアプリケーション、ドメインおよびサーバに対して自動的に有効になるパッチ」で説明するように、システム全体のリソースを置き換えるパッチは、一部のドメインやサーバのみを選択的に対象とすることはできません。しかし、起動スクリプトでロードされることによりシステム内にある同名の既存リソースに取って代わるようなクラスまたはライブラリ ファイルのパッチについては、選択的に対象を指定できます。
これ以降の節では、個別のドメインおよびサーバにパッチを適用するためにカスタム パッチ プロファイルを使用する方法の背景情報について説明します。
コンフィグレーション ウィザードを使用してドメインを作成すると、ドメインに対して次のスクリプトが作成されます。
注意 : | 詳細については、「すべてのドメインおよびサーバで使用されるクラスパスとライブラリ パスを定義したデフォルト スクリプト」を参照してください。 |
デフォルトでは、製品インストール スクリプト commEnv
で提供される PATCH_CLASSPATH
、WEBLOGIC_EXTENSION_DIRS
、PATCH_LIBPATH
、および PATCH_PATH
の各変数の値は、該当するインストールで実行されるすべてのサーバ インスタンスで使用されます。ただし、ドメイン レベルのスクリプトでこれらの変数の値をオーバーライドした場合は、ドメイン レベルのスクリプトで起動された WebLogic Server インスタンスによってのみ新しい値が使用されます。
注意 : | 任意のパッチ変数の定義で参照するパッチ マニフェスト JAR は、ただ 1 つである必要があります。複数のパッチ マニフェスト JAR ファイルを参照すると、実行時に予期しない動作が発生するおそれがあります。 |
起動スクリプト内でパッチ パス変数の定義を変更することは、起動スクリプトから起動されるサーバでカスタム パッチ プロファイル内にあるパッチを参照する便利な方法です。たとえば、カスタム パッチ プロファイルに適用されるパッチ内の WebLogic システム クラスでサーバをポイントする場合、PATCH_CLASSPATH
変数の定義をそのサーバの起動スクリプトに追加して、その変数をカスタム パッチ プロファイル内のパッチ マニフェスト JAR ファイルのパスに設定するだけで済みます。同様に、カスタム パッチ プロファイルのネイティブ ライブラリ ファイルをサーバまたはドメインから参照するには、そのネイティブ ファイルを含むカスタム パッチ プロファイルにディレクトリへの参照を追加します。この参照を追加するには、PATCH_PATH
変数または PATCH_LIBPATH
変数の定義を、該当するサーバまたはドメインの起動スクリプトに追加します。
注意 : | パッチ パス変数の定義を起動スクリプトに追加する際、別の起動スクリプトを呼び出すステートメントより前にその定義を配置するようにしてください。たとえば、setDomainEnv スクリプトにパッチ パス変数の定義を追加する場合は、commEnv スクリプトを呼び出すステートメントの前に追加します。この位置関係を守れば、追加した定義がその後呼び出される別の起動スクリプト内の定義によって上書きされることはありません。 |
起動スクリプトの変更方法は、Smart Update によって強制または制限されることはありません。ただし、コンフィグレーション ウィザードなどの標準ツールによってデフォルトで作成される起動スクリプトの内容と、ツールによって決定されるデフォルトの格納場所にはそのまま従うことをお勧めします。そうすることで、パッチ プロファイル内のパッチを参照するよう修正が必要な起動スクリプトを見つける機能や、それらのスクリプトに追加する具体的な変更内容の候補を表示する機能が期待どおりに動作し、Smart Update をより便利に利用できます。
図 6-2 は、インストール環境で使用される 2 つのパッチ プロファイルであるデフォルト パッチ プロファイルとカスタム パッチ プロファイルを示しています。この図では以下のことを示しています。
以下の PATCH_CLASSPATH
変数は、カスタム プロファイル ProductionServer1
にあるパッチ マニフェスト JAR ファイルの weblogic_patch.jar
を参照しています。
set PATCH_CLASSPATH=
%BEA_HOME
%\patch_wls1000\profiles\ProductionServer1
\sys_manifest_classpath\weblogic_patch.jar
前述の定義を所定のドメインの startWebLogic
スクリプトに追加すると、このスクリプトによって該当するドメイン内で起動されたサーバ インスタンスが、クラス ファイルを ProductionServer1
カスタム プロファイル内の weblogic_patch.jar
ファイルによって参照される WebLogic Server のクラスパスにロードします。このクラスパスのロードは、その後 commEnv
スクリプトの以下の行の実行時に実行されます (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
E%\server\lib\webservices.jar
注意 : | ProductionServer1 プロファイル内の weblogic_patch.jar は、デフォルト パッチ プロファイルの weblogic_patch.jar で参照されるパッチ JAR ファイルのセットとまったく異なる、パッチ JAR ファイルのセットを参照できます。 |
あるドメイン内のサーバまたはあるインストール環境内のドメインで、デフォルト パッチ プロファイル内のパッチを引き続き参照する必要がある場合、コンフィグレーション ウィザードで提供されるサーバおよびドメインのデフォルト スクリプトを使用する限り、そのサーバまたはドメイン用の起動スクリプトを変更する必要はありません。ただし、1 台または複数台のサーバ、もしくは 1 つのドメインでカスタム パッチ プロファイルをポイントする場合、変更する起動スクリプトの影響が対象のサーバまたはドメインにしか及ばないことを確認してください。
起動スクリプトが実行される順序と、パッチ パス変数の特定の定義がパッチ パス変数定義のあるスクリプトで起動されるサーバにどのように影響するかの詳細については、「起動スクリプトの実行順序」を参照してください。
この節では、カスタム パッチ プロファイルの使用法に関する重要な情報について説明します。
ダウンロードした新しいパッチをドメインまたはサーバから参照する際には、できるだけ既存のパッチ プロファイルにパッチを適用してください。特定のドメインまたはサーバから参照するパッチのセットを変更する必要がある場合は、そのパッチを含んでいるカスタム パッチ プロファイルの内容を変更してください。これは、新しいカスタム パッチ プロファイルを作成し、そのプロファイルを参照するように起動スクリプトを変更するよりも望ましいアプローチです。ダウンロードしたパッチごとに新しくプロファイルを作成することは避けてください。作成するプロファイルの数を最小限に抑えることによって、Smart Update および BEA カスタマサポート リポジトリに構築されているパッチ検証および依存関係チェックを効率的に活用することができます。
また、使用するカスタム プロファイルの数を最小限にすると、メンテナンスが必要な起動スクリプトの変更も最小限に抑えることになります。その結果、スクリプトにミスを混入する可能性も減らすことができます。それに加えて、パッチの削除に必要な作業も簡略化され、適切なパッチ プロファイルを更新するだけでよくなります。スクリプトを更新する必要は最小限になります。
BEA では、起動スクリプトの使用法に関しては柔軟性を尊重しています。起動スクリプトに特定の名前や格納場所を使用することは強制していません。ただし、コンフィグレーション ウィザードによってドメイン用に作成されるデフォルトのディレクトリ構造と、提供される起動スクリプトの場所および構造が維持されている場合、カスタム プロファイルの使用時に必要な起動スクリプトを見つけ、変更内容の候補を表示する Smart Update の機能が最も確実に動作します。
一般に、カスタム パッチ プロファイルをドメインまたはサーバから参照するときには、次のガイドラインに留意してください。
通常、カスタム パッチ プロファイルに対して追加または削除できるパッチ セットには制限はありません。ただし、インストール環境全体のリソースに影響するパッチについては、対象インストール環境の既存のパッチ プロファイルすべてに自動的に配置されます。
インストール全体のリソースに影響を与えるパッチを任意の 1 つのパッチ プロファイル (デフォルト プロファイルかカスタム プロファイルかは問わない) から削除すると、そのパッチは自動的にすべてのパッチ プロファイルから削除されます。対象インストールに複数のプロファイルがある場合、インストール環境全体のリソースに影響するパッチの置き換えや削除を行おうとすると、Smart Update から警告が表示されます。
カスタム パッチ プロファイルを作成するには、次の手順を実行します。
カスタム プロファイルの詳細については次のトピックを参照してください。
カスタム パッチ プロファイルには次のタイプのパッチが含まれています。
デフォルトでは、インストール全体に対して有効になるパッチがすでに対象インストールに適用されている場合、それらのパッチは新しいパッチ プロファイルを作成するたびに自動的に含まれます。ただし、Smart Update では、最初には何も含まないパッチ プロファイルを作成するオプションも提供しています。
カスタム パッチ プロファイルを作成するために既存のパッチ プロファイルの内容のクローンを作成すると、実際にディスクに複製されるのは既存のパッチ プロファイルのパッチの一部のみです。
置き換えパッチは複製されません。あるパッチが最初に適用されたときシステム リソースが置き換えられた場合、該当するシステム リソースは、そのパッチがカスタム パッチ プロファイルに自動的に複製されるたびに置き換えられることはなく、また、カスタム パッチ プロファイル内のパッチ用の複製エントリによって参照されるパッチ コンテナで作成された複製コピーに置き換えられることもありません。
注意 : | ファイルまたは他のアーティファクトの代替を含むパッチは、インストール全体に自動的に適用されます。 |
既存のパッチ プロファイル内と同じパッチを含むカスタム パッチ プロファイルを作成する場合、既存のプロファイルのクローンを作成してから、パッチの追加や削除を行うことで必要に応じてカスタマイズできます。この方法は、カスタム パッチ プロファイルを短時間で作成する場合に便利です。
注意 : | インストール環境全体のリソースに影響を与えるパッチは、対象インストール環境で作成されるパッチ プロファイルすべてに含まれます。この種のパッチを削除する場合は、対象インストール環境にあるすべてのパッチ プロファイルから削除する必要があり、特定のプロファイルからのみ削除することはできません。1 つのプロファイルのみについてこの種のパッチを削除しようとすると、Smart Update から警告メッセージが表示されます。 |
カスタム パッチ プロファイルを作成すると、デフォルト パッチ プロファイルに対してパッチの追加や削除を行うのと同様に、カスタム パッチ プロファイルに対してもパッチの追加や削除を行うことができます。
対象インストールにパッチを適用する場合、次の処理が実行されます。
注意 : | パッチは対象インストールに対して検証および適用されますが、クラスパスにロードされるクラス、またはライブラリ パスにロードされるネイティブ ライブラリ ファイルを含むパッチは、次の手順を完了するまで有効になりません。(a) 必要に応じて、パッチをポイントするように、適切なドメインまたはサーバの起動スクリプトを変更します。(b) 適切なドメイン、サーバ、またはアプリケーションを再起動します。「共有アーカイブ パッチ」で説明しているように、アプリケーションで共有アーカイブ パッチを明示的に参照する必要があります。 |
衝突が検出された場合は、[パッチの適用の検証] ダイアログ ボックスにそれらの衝突の概要が表示されます。パッチは衝突が解決するまで適用できません。詳細については、「パッチ間の衝突の解決」を参照してください。
注意 : | [パッチの取得] タブの [ダウンロードされたパッチ] パネルには、このパッチのリストが引き続き表示されます。 |
カスタム パッチ プロファイルを削除するには、次の手順を実行します。
カスタム パッチ プロファイルを削除するときには、次のことに留意してください。
作成したカスタム パッチ プロファイルをドメインまたはサーバから参照するには、次の手順を実行します。
PATCH_CLASSPATH
、WEBLOGIC_EXTENSION_DIRS
、PATCH_LIBPATH
、および PATCH_PATH
の各変数の推奨される定義を含むコード スニペットが示されます。それらの定義では、システム クラスとライブラリ パスに挿入されるクラスとファイルを含むパッチを参照しています。ただし、カスタム パッチ プロファイルの内容と参照する必要のある具体的なパッチ パス変数によっては、異なる変更を行う必要があることもあります。 注意 : | パッチ パス変数の定義を起動スクリプトに追加する際、別の起動スクリプトを呼び出すステートメントより前にその定義を配置するようにしてください。たとえば、setDomainEnv スクリプトにパッチ パス変数の定義を追加する場合は、commEnv スクリプトを呼び出すステートメントの前に追加します。この位置関係を守れば、追加した定義がその後呼び出される別の起動スクリプト内の定義によって上書きされることはありません。 |
WebLogic Server 製品のホーム ディレクトリのデフォルトの起動スクリプトは、WL_HOME
\common\bin\commEnv
です。このスクリプトには、クラスパスやライブラリ パスにパッチ ファイルを挿入するために使用される次の変数のデフォルト値が入っています。
詳細については、「デフォルト パッチ パス環境変数」を参照してください。
これらの変数の定義をサーバまたはドメインの起動スクリプトに追加すると、該当するサーバまたはドメインでは、commEnv
スクリプトに記載されているデフォルトの定義が新しい定義によってオーバーライドされます。このため、サーバまたはドメイン スクリプトでこれらの変数を定義するときには、新しい定義が適切なサーバ インスタンスに適用されることを必ず確認してください。
また、起動スクリプトが実行される順序にも注意してください。これらの変数に対する 1 つの定義がスクリプトで設定されると、その後に実行されるスクリプト内の定義で上書きされることはありません。詳細については、「起動スクリプトの実行順序」を参照してください。
WL_HOME
\common\bin\commEnv
スクリプトを呼び出さない環境でカスタム スクリプトを使用する場合は、その環境のクラス パスおよびライブラリ パスを設定するスクリプト内のステートメント (Set WEBLOGIC_CLASSPATH
、Set PATH
など) も変更して、定義した環境変数をそれらのステートメントに正しく挿入する必要があります。
たとえば、WebLogic のシステム クラスパスを設定して、カスタム パッチ プロファイル内のパッチ JAR が、クラスパスで後ろに表示される同じ名前のクラスよりも優先されるようにするには、変数 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
カスタム スクリプトからパッチ プロファイルを参照する方法の詳細については、「カスタム スクリプト経由のパッチですべてのドメインとサーバをポイントする方法」を参照してください。
ドメインでノード マネージャを使用し、ドメインで使用するパッチすべてがデフォルト パッチ プロファイルに適用される場合、ノード マネージャで起動されるサーバは、自動的にそれらのパッチを使用して実行されます。ただし、ノード マネージャを使用するようにコンフィグレーションされたドメインでカスタム パッチ プロファイルを使用する場合、この節で説明する追加の手順を実行する必要があります。
ドメイン クラスタ内のすべての管理対象サーバが起動時にカスタム パッチ プロファイル内のパッチを必ず参照するようにするには、次の手順を実行します。
ここで、hostname
は管理サーバの DNS 名または IP アドレスを表し、port
は管理サーバが要求をリスンするポートの番号 (デフォルトではポート 7001) を表します。
PATCH_CLASSPATH
環境変数を追加します。nodemanager.properties
ファイルを編集する必要があります。対象となるそれぞれの nodemanager.properties
ファイルを開き、次の変更を行います。StartScriptEnabled
プロパティを true
に設定します。StartScriptName
プロパティが、ドメイン内のすべてのサーバ インスタンスで使用される WebLogic Server 起動スクリプトに設定されていることを確認します。デフォルトの起動スクリプトはオペレーティング システムごとに次のようになります。
nodemanager.properties
ファイルの変更方法については、『サーバの起動と停止の管理』の「ノード マネージャを使用したサーバの制御」を参照してください。
setDomainEnv
スクリプト (Windows の場合は setDomainEnv.cmd
、UNIX の場合は setDomainEnv.sh
) を開き、表 6-1 に示すパッチ パス環境変数を 1 つまたは複数定義します。
BEA ホーム ディレクトリのインストール レベル パッチ ディレクトリ (BEA_HOME
\patch_wls1000
) に含まれる、表 6-1 の各ファイルまたはディレクトリで、対応するパッチ パス変数用の setDomainEnv
スクリプトに定義を追加することにより、パッチ パス変数でそのファイルまたはディレクトリが参照されるようにします。表 6-1 で、custom-profile
はインストール レベル パッチ ディレクトリに作成されたカスタム パッチ プロファイルの名前を表します。
たとえば、使用しているマシンで BEA_HOME
\patch_wls1000\profiles\
custom-profile
\sys_manifest_classpath\weblogic_patch.jar
という名前の JAR ファイルをホストしている場合、そのファイルを参照する setDomainEnv
スクリプトに PATCH_CLASSPATH
変数の定義を追加します。
![]() ![]() ![]() |