Database Support Blog

  • Oracle Database
  • その他
2021.11.17

WebLogic Server の新たな累積パッチ Stack Patch Bundle(SPB) について

WebLogic Server パッチ

WebLogic Server 12.2.1.3 以降では、Critical Patch Update April 2021 の累積パッチから、従来の Patch Set Update(PSU) などに加えて Stack Patch Bundle(SPB) というパッチがリリースされるようになりました。

従来の PSU などとの違いや、適用/ロールバックの手順をご紹介します。

従来の累積パッチと SPB の比較結果

SPB は各コンポーネントの累積パッチを一括で適用可能

これまでは、WebLogic Server の累積パッチは PSU だけでなく、Oracle Coherence や WebLogic SAMPLES など、WebLogic Server のオプションとしてインストールされたコンポーネントに対して、必要に応じてパッチをそれぞれ入手して適用する必要がありました。

Critical Patch Update April 2021 の累積パッチから、WebLogic Server 12.2.1.3 以降では従来の各パッチとは別に SPB がダウンロード可能となりました。

SPB は各コンポーネントごとの累積パッチの集合であり、適用対象の環境にインストールされているコンポーネントを自動で検出し、インストールされている各コンポーネントに対して一括でパッチを適用するというものです。

ユーザは、従来の各コンポーネントの累積パッチを個別に適用する方法と、SPB で各コンポーネントに対して一括で累積パッチを適用する方法のいずれかを選択することが可能です。


パッチの適用方法が異なる

従来の場合と SPB の場合のいずれも opatch が使用されますが、opatch のコマンドが少々異なり、SPB では opatch napply というコマンドで適用します。

なお、Critical Patch Update July 2021 の SPB から、SPB を自動で適用するツールである Stack Patch Bundle Automation Tool(SPBAT) が同梱されるようになり、2021年8月現在では Linux、Solaris、Windows において SPBAT を使用することが可能です。


パッチのロールバック方法が異なる

最初にリリースされた SPB(Critical Patch Update April 2021 の SPB) において、ロールバックするための推奨される方法は、SPB の適用前に取得した ORACLE_HOME と中央インベントリのコールドバックアップをリストアするという方法のみです。

従来の累積パッチと同様に opatch rollback によるロールバックを行うことは技術的には可能ですが、サポートされておりません。

なお、Critical Patch Update July 2021 の SPB から、opatch nrollback というコマンドで適用済み SPB をロールバックすることが可能になりました。


どちらがいいのか

SPB の場合は、オプションのコンポーネントごとにパッチをダウンロード/適用するための手順や管理が不要になるというメリットがあります。

Critical Patch Update April 2021 の SPB の場合は、ロールバック方法が事前に取得した ORACLE_HOME と中央インベントリのバックアップをリストアするという方法になるため、従来の opatch rollback を行うよりもロールバックの所要時間がかかるというデメリットがあります。

Critical Patch Update July 2021 の SPB 以降ではロールバックの方法が用意されたため、デメリットはありません。

そのため、Critical Patch Update April 2021 の SPB の場合はロールバックの所要時間を考慮してどちらを選択するか検討いただく必要がありますが、Critical Patch Update July 2021 以降であれば SPB を選択することを推奨します。

従来の累積パッチと SPB の比較結果 まとめ

以下は従来の累積パッチと SPB の比較結果をまとめた表です。

違いがある項目 従来の累積パッチ SPB
各コンポーネントへの累積パッチの適用 インストールされているコンポーネントごとに必要なパッチをダウンロードし、それぞれ適用する インストールされているコンポーネントを自動で判別し、SPB の適用により必要なパッチを一括で適用する
パッチの適用方法 opatch apply により適用 opatch napply により適用
※Critical Patch Update July 2021 以降では SPBAT による適用が可能
パッチのロールバック方法 opatch rollback によりロールバック SPB の適用前に取得した ORACLE_HOME と中央インベントリのコールドバックアップをリストアする
※Critical Patch Update July 2021 以降では opatch nrollback によるロールバックが可能

SPB の適用手順

以下のいずれかの方法で SPB を適用することが可能です。

opatch napply を使用する方法

こちらの方法は最初にリリースされた SPB(Critical Patch Update April 2021 の SPB) から実行可能です。

1) 事前準備として、WebLogic Server を停止した状態で OS 側で ORACLE_HOME と中央インベントリのバックアップを取得します。SPB の zip ファイルを任意のディレクトリに展開します。

2) SPB の README に記載されている、Java SE の要件(最小バージョン)を満たしていない場合は、Java SE のバージョンアップを行います。

3) 事前準備として、WebLogic Server を停止した状態で OS 側で ORACLE_HOME と中央インベントリのバックアップを取得します。

4) SPB の README に記載されている、最新の OPatch バージョンがインストールされていない場合は、SPB に同梱されている最新の OPatch バージョンにバージョンアップします。

なお、バージョンアップする場合は、事前に <SPB の展開先ディレクトリ>/WLS_SPB_<VERSION>/tools/opatch/generic/ 配下の zip ファイルを展開しておきます。

 
 
 $ $ORACLE_HOME/OPatch/opatch version
 $ $JAVA_HOME/bin/java -jar <SPB の展開先ディレクトリ>/WLS_SPB_/tools/opatch/generic/6880880/opatch_generic.jar -silent oracle_home=
 $ $ORACLE_HOME/OPatch/opatch version
 

(実行例)

 
 $ $ORACLE_HOME/OPatch/opatch version
 OPatch Version: 13.9.4.2.5
  
 OPatch succeeded.
  
 $ $JAVA_HOME/bin/java -jar /tmp/WLS_SPB_14.1.1.0.210716/tools/opatch/generic/6880880/opatch_generic.jar -silent oracle_home=/home/wls1411/Oracle/Middleware/Oracle_Home_Lite
 ランチャのログ・ファイルは/tmp/OraInstall2021-08-10_05-22-21PM/launcher2021-08-10_05-22-21PM.logです。
 インストーラを抽出しています . . . . 完了
  
   :
  
 インベントリoracle.glcm.oplan.core.classpathの保存中
  
  Component : glcm_encryption_lib
  
 インベントリglcm_encryption_libの保存中
  
 install操作は正常に完了しました。
  
 ログが/home/wls1411/oraInventory/logsに正常にコピーされました。
  
 $ $ORACLE_HOME/OPatch/opatch version
 OPatch Version: 13.9.4.2.6
  
 OPatch succeeded.
 

5) opatch napply で SPB を適用します。

 
 $ cd <SPB の展開先ディレクトリ>/WLS_SPB_/binary_patches
 $ $ORACLE_HOME/OPatch/opatch napply -oh  -phBaseFile 
 

※-phBaseFile に指定する値は <SPB の展開ディレクトリ>/WLS_SPB_<VERSION>/binary_patches/ 配下 に存在する linux64_patchlist.txt などのファイルです。適用対象のプラットフォームにあわせて指定します。

※-report オプションを付けて実行した場合、実際には SPB は適用されずに、適用時のログの事前チェックが可能です。

以下実行例の赤字部分にて、SPB に含まれるパッチの内、Patch 32148641 は対象のコンポーネントが存在せず適用する必要がないため、スキップされる旨のメッセージが確認できます。

(実行例)

 
 $ cd /tmp/WLS_SPB_14.1.1.0.210716/binary_patches
 $ $ORACLE_HOME/OPatch/opatch napply -oh /home/wls1411/Oracle/Middleware/Oracle_Home_Lite -phBaseFile linux64_patchlist.txt
 Oracle Interim Patch Installerバージョン13.9.4.2.6
 Copyright (c) 2021, Oracle Corporation.  All rights reserved。
  
  
 Oracleホーム   	: /home/wls1411/Oracle/Middleware/Oracle_Home_Lite
 中央インベントリ : /home/wls1411/oraInventory
    元       	: /home/wls1411/Oracle/Middleware/Oracle_Home_Lite/oraInst.loc
 OPatchのバージョン	: 13.9.4.2.6
 OUIのバージョン   	: 13.9.4.0.0
 ログ・ファイルの場所 : /home/wls1411/Oracle/Middleware/Oracle_Home_Lite/cfgtoollogs/opatch/opatch2021-08-10_17-25-47午後_1.log
  
  
 OPatch detects the Middleware Home as "/home/wls1411/Oracle/Middleware/Oracle_Home_Lite"
  
 Verifying environment and performing prerequisite checks...
 Skip patch 32148641 from list of patches to apply: This patch is not needed.
 OPatch continues with these patches:   32973306  33069656
  
 続行しますか。[y|n]
 y
 User Responded with: Y
 All checks passed.
  
 ローカル・システムのこのORACLE_HOME以外で実行しているOracleインスタンスを停止し てください。
 (Oracleホーム = '/home/wls1411/Oracle/Middleware/Oracle_Home_Lite')
  
  
 ローカル・システムにパッチを適用する準備ができましたか。 [y|n]
 y
 User Responded with: Y
 Backing up files...
 個別パッチ'32973306'をOH '/home/wls1411/Oracle/Middleware/Oracle_Home_Lite'に適用中
  
 コンポーネントoracle.coherence, 14.1.1.0.0にパッチを適用中...
 個別パッチ'33069656'をOH '/home/wls1411/Oracle/Middleware/Oracle_Home_Lite'に適用中
  
   :
  
 コンポーネントoracle.wls.common.cam.wlst, 14.1.1.0.0にパッチを適用中...
 Patches 32973306,33069656 successfully applied.
 Sub-set patch [32697788] has become inactive due to the application of a super-set patch [33069656].
 Sub-set patch [32581868] has become inactive due to the application of a super-set patch [32973306].
 Please refer to Doc ID 2161861.1 for any possible further required actions.
 Log file location: /home/wls1411/Oracle/Middleware/Oracle_Home_Lite/cfgtoollogs/opatch/opatch2021-08-10_17-25-47午後_1.log
  
 OPatch succeeded.
 

6) 適用状況は通常の PSU などと同様に opatch lspatches や opatch lsinventory で確認可能です。

(実行例)

 
 $ $ORACLE_HOME/OPatch/opatch lspatches
 33069656;WLS PATCH SET UPDATE 14.1.1.0.210701
 32973306;Bundle patch for Oracle Coherence Version 14.1.1.0.6
  
 OPatch succeeded.
 

SPBAT を使用する方法

こちらの方法は Critical Patch Update July 2021 の SPB 以降、且つ、2021年8月現在では Linux、 Solaris、Windows において使用することが可能です。

1) 事前準備として、WebLogic Server を停止した状態で OS 側で ORACLE_HOME と中央インベントリのバックアップを取得します。SPB の zip ファイルを任意のディレクトリに展開します。

2) SPB の README に記載されている、SPBAT の各要件を満たしていることを確認します。満たしていない場合はそれぞれ対応します。
※Critical Patch Update July 2021 の場合、JDK 11 は SPBAT に対応しておりませんのでご注意ください。

3) SPBAT を使用して SPB を適用します。

 
 $ cd <SPB の展開先ディレクトリ>/WLS_SPB_/tools/spbat/generic/SPBAT
 $ ./spbat.sh -phase apply -oracle_home 
 
 

※-phase apply を -phase precheck に変更して実行することで、実際には SPB は適用されずに、SPBAT を使用した SPB 適用における事前チェックが可能です。

以下実行例の赤字部分にて、SPB に含まれるパッチの内、Patch 32148641 は対象のコンポーネントが存在せず適用する必要がないため、スキップされる旨のメッセージが確認できます。

(実行例)

 
 $ cd /tmp/WLS_SPB_14.1.1.0.210716/tools/spbat/generic/SPBAT
 $ ./spbat.sh -phase apply -oracle_home /home/wls1411/Oracle/Middleware/Oracle_Home_Lite
 SPBAT Release Version: 1.3.0
 The current patching user wls1411 matches with the product install user wls1411
 -log_dir value is not set, defaulting it to /tmp/WLS_SPB_14.1.1.0.210716/tools/spbat/generic/SPBAT/logs
 SPBAT Phase - apply is executing ...
 The consolidated SPBAT execution logs have been written to: /tmp/WLS_SPB_14.1.1.0.210716/tools/spbat/generic/SPBAT/logs/deneb_spb_apply_2021-08-10_18-09-31/orchestration/logs/spbat_2021-08-10_18-09-31.out
 Do not close this terminal as SPBAT apply phase is currently executing...
 [2021-08-10_18-09-35] Log file : /tmp/WLS_SPB_14.1.1.0.210716/tools/spbat/generic/SPBAT/logs/deneb_spb_apply_2021-08-10_18-09-31/patch_log_dir/spbat-logs/spbat-apply-deneb.ashisuto.co.jp-2021-08-10_18-09-31.log
 [2021-08-10_18-09-37] [SUCCESS] Oracle Home /home/wls1411/Oracle/Middleware/Oracle_Home_Lite is registered inside /home/wls1411/oraInventory/ContentsXML/inventory.xml
 [2021-08-10_18-09-37] [SUCCESS] /home/wls1411/Oracle/Middleware/Oracle_Home_Lite Middleware Home is present
 [2021-08-10_18-09-37] [SUCCESS] The current jdk release 1.8.0 is a supported JDK release
 [2021-08-10_18-09-38] Minimum OPatch version required : 13.9.4.2.5
 [2021-08-10_18-09-38] Environment has OPatch version : 13.9.4.2.6
 [2021-08-10_18-09-38] [SUCCESS] Minimum OPatch version check
 [2021-08-10_18-09-40] [WARNING] The Installed JDK version 1.8.0_261 should be upgraded to the recommended JDK version 1.8.0_301
  
   :
  
 [2021-08-10_18-11-09] SPBAT precheck phase has completed. Summary and log details as below:
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 PRECHECK SUMMARY:
 No Of FAILURES: 0
 No Of WARNINGS: 1
 Log File: /tmp/WLS_SPB_14.1.1.0.210716/tools/spbat/generic/SPBAT/logs/deneb_spb_apply_2021-08-10_18-09-31/patch_log_dir/spbat-logs/spbat-apply-deneb.ashisuto.co.jp-2021-08-10_18-09-31.log
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Time Taken to run precheck phase:  00 hours 01 min 38 secs
 Prereq was successful, proceeding with the application of the SPB patches
 [2021-08-10_18-11-13] STARTED : Performing OPatch upgrade on WLS Host
 [2021-08-10_18-11-14] Middleware OPatch Version : 13.9.4.2.6
 [2021-08-10_18-11-14] SPB OPatch version : 13.9.4.2.6
 [2021-08-10_18-11-18] The environment already has the supported version of OPatch installed
 [2021-08-10_18-11-18] SKIPPING - OPatch Upgrade task
 [2021-08-10_18-11-21] Application of patches is in progress ...
 [2021-08-10_18-15-49] SUCCESSFUL - OPatch napply has completed for WLS Home
 [2021-08-10_18-15-49] Opatch Napply Exit Status - 0
 [2021-08-10_18-15-49] COMPLETED : Performing SPBAT Binary patching on WLS Home
 [2021-08-10_18-15-57] STARTED : Performing SPBAT binary audit on WLS Home
 [2021-08-10_18-16-11] NoOp patch#32148641# detected in Environment.Skipping Audit for the same
 [2021-08-10_18-16-11] SUCCESSFUL - SPB PATCH 33069656 IS #APPLIED#
 [2021-08-10_18-16-11] SUCCESSFUL - SPB PATCH 32973306 IS #APPLIED#
 [2021-08-10_18-16-15] List of patches present in the Oracle Home: /home/wls1411/Oracle/Middleware/Oracle_Home_Lite
  
 33069656;WLS PATCH SET UPDATE 14.1.1.0.210701
 32973306;Bundle patch for Oracle Coherence Version 14.1.1.0.6
  
  
 Log File: /tmp/WLS_SPB_14.1.1.0.210716/tools/spbat/generic/SPBAT/logs/deneb_spb_apply_2021-08-10_18-09-31/patch_log_dir/spbat-logs/spbat-apply-deneb.ashisuto.co.jp-2021-08-10_18-09-31.log
  
 SPBAT apply phase has completed successfully
 Time Taken to run apply phase:  00 hours 06 min 44 secs
 Perform the post install actions as documented in the SPB README.txt
 

4) 適用状況は通常の PSU などと同様に opatch lspatches や opatch lsinventory で確認可能です。

(実行例)

 
 $ $ORACLE_HOME/OPatch/opatch lspatches
 33069656;WLS PATCH SET UPDATE 14.1.1.0.210701
 32973306;Bundle patch for Oracle Coherence Version 14.1.1.0.6
  
 OPatch succeeded.
 

SPB のロールバック手順

以下のいずれかの方法で SPB をロールバックすることが可能です。

バックアップをリストアする方法

SPB 適用前に取得した、ORACLE_HOME と 中央インベントリのコールドバックアップを WebLogic Server の停止中に OS 側でリストアし、WebLogic Server を起動します。

こちらの方法は最初にリリースされた SPB(Critical Patch Update April 2021 の SPB) から実行可能です。

opatch nrollback を使用する方法

こちらの方法は Critical Patch Update July 2021 以降の SPB を適用している場合のみ実行可能です。
なお、SPBAT で適用している場合でもこちらの方法でロールバックすることが可能です。

1) WebLogic Server を停止します。
2) opatch nrollback を実行してロールバックします。

 
 $ cd <SPB の展開先ディレクトリ>/WLS_SPB_/binary_patches
 $ $ORACLE_HOME/OPatch/opatch nrollback -oh  -idFile rollback_patchlist.txt
 

(実行例)

 
 $ cd /tmp/WLS_SPB_14.1.1.0.210716/binary_patches
 $ $ORACLE_HOME/OPatch/opatch nrollback -oh /home/wls1411/Oracle/Middleware/Oracle_Home_Lite -idFile rollback_patchlist.txt
 Oracle Interim Patch Installerバージョン13.9.4.2.6
 Copyright (c) 2021, Oracle Corporation.  All rights reserved。
  
  
 Oracleホーム   	: /home/wls1411/Oracle/Middleware/Oracle_Home_Lite
 中央インベントリ : /home/wls1411/oraInventory
    元       	: /home/wls1411/Oracle/Middleware/Oracle_Home_Lite/oraInst.loc
 OPatchのバージョン	: 13.9.4.2.6
 OUIのバージョン   	: 13.9.4.0.0
 ログ・ファイルの場所 : /home/wls1411/Oracle/Middleware/Oracle_Home_Lite/cfgtoollogs/opatch/opatch2021-08-10_17-34-21午後_1.log
  
  
 OPatch detects the Middleware Home as "/home/wls1411/Oracle/Middleware/Oracle_Home_Lite"
  
 次のパッチはOracleホームに存在しません。
 32148641
  
 Patches will be rolled back in the following order:
    32973306   33069656
 The following patch(es) will be rolled back: 32973306  33069656
  
 ローカル・システムのこのORACLE_HOME以外で実行しているOracleインスタンスを停止し てください。
 (Oracleホーム = '/home/wls1411/Oracle/Middleware/Oracle_Home_Lite')
  
  
 ローカル・システムにパッチを適用する準備ができましたか。 [y|n]
 y
 User Responded with: Y
  
 Rolling back patch 32973306...
  
 RollbackSessionは個別パッチ'32973306'をOH '/home/wls1411/Oracle/Middleware/Oracle_Home_Lite'からロールバック中
  
 コンポーネントoracle.coherence, 14.1.1.0.0にパッチを適用中...
 RollbackSessionはインベントリから個別パッチ'32973306'を削除しています
  
 Rolling back patch 33069656...
  
 RollbackSessionは個別パッチ'33069656'をOH '/home/wls1411/Oracle/Middleware/Oracle_Home_Lite'からロールバック中
  
   :
  
 RollbackSessionはインベントリから個別パッチ'33069656'を削除しています
 Inactive sub-set patch [32697788] has become active due to the rolling back of a super-set patch [33069656].
 Inactive sub-set patch [32581868] has become active due to the rolling back of a super-set patch [32973306].
 Please refer to Doc ID 2161861.1 for any possible further required actions.
 Log file location: /home/wls1411/Oracle/Middleware/Oracle_Home_Lite/cfgtoollogs/opatch/opatch2021-08-10_17-34-21午後_1.log
  
 OPatch succeeded.
 

(補足) WebLogic Server for Oracle Cloud Infrastrcuture において SPB を適用可能か

Oracle Cloud のマーケットプレイスから WebLogic Server for Oracle Cloud Infrastrcuture(WLS for OCI) を構築した環境に対しても、SPB を適用することが可能です。


まとめ

WebLogic Server 12.2.1.3 以降では、Critical Patch Update April 2021 の累積パッチから、従来の PSU などに加えて SPB というパッチがリリースされるようになりました。

SPB は各コンポーネントごとの累積パッチの集合であり、適用対象の環境にインストールされているコンポーネントを自動で検出し、インストールされている各コンポーネントに対して一括でパッチを適用します。

SPB の場合は、オプションのコンポーネントごとにパッチをダウンロード/適用するための手順や管理が不要になるというメリットがあります。

Critical Patch Update April 2021 の SPB の場合はロールバックの所要時間を考慮してどちらを選択するか検討いただく必要がありますが、Critical Patch Update July 2021 以降の SPB ではロールバック方法が用意されたため、SPB を選択することをお薦めいたします。


執筆者情報

こばやしけんた プロフィール画像

ビジネスインフラ技術本部 データベース技術統括部

2008年度アシストに入社後、Oracle WebLogic Server や Oracle HTTP Server を中心にサポートエンジニアとして活動しており、これまでに4000件以上の問い合わせを対応。



■商標に関して
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • Oracle Database
2021.11.30

今だから見直そうデータベースセキュリティ(前編)

2022年4月1日より改正個人情報保護法が完全施行され、従来より厳しい対応が求められます。データベースを取り巻くセキュリティリスクとデータベースの機能で対応できることについて全2回にわたってご紹介します。今回は「データベースに格納されたデータの保護」について解説します。

  • Oracle Database
  • その他
2021.11.24

WebLogic Serverの新たなLiteインストーラとは

WebLogic Server 12.2.1.4 以降で Lite インストーラ という新たなインストーラがリリースされました。

  • Oracle Database
  • Exadata
2021.11.10

最新情報!Exadata X9M からの変更点をピックアップ紹介!

Oracle社は米国時間 2021年9月28日に Oracle Exadata Database Machine(以下、Exadata)の最新リリース Exadata X9Mを発表しました。本記事では新機能に加え、従来のX8Mからの変更点もあわせてご紹介します。

ページの先頭へ戻る