WebLogic服務器打補丁(11g/12c)


轉至:https://segmentfault.com/a/1190000019059894

背景

2019年04月17日,Oracle發布新季度安全公告。該安全公告披露WebLogic服務器存在多個高危漏洞,影響多個版本多個WebLogic組件。這次我們以本次事件為例,講解如何給WebLogic(11g/12c)服務器打補丁。

本次漏洞受影響的包括三個Oracle WebLogic Server版本,分別是:

  • 10.3.6.0.0
  • 12.1.3.0.0
  • 12.2.1.3.0

補丁下載

點擊進入補丁下載頁面,你需要提前注冊好oracle賬號才能下載。

該頁面內容較多,比較不容易找到需要的補丁,有個小技巧,按 Ctrl+F 進行關鍵字搜索,搜索 weblogic看到有鏈接的地方點擊進入,可以直接跳轉到補丁下載地址,如圖:

圖片描述

以下是我們整理好的補丁的下載地址,你也可以直接點擊下載:

補丁安裝 - 10.3.6.0.0

10.3.6.0.0是通過 PSUs (patch set updates)工具對補丁進行安裝。

1. 關閉服務器

登陸console控制台,將所有server包括admin server關閉

2. 備份中間件目錄(重要)

安裝補丁前請務必備份好中間件目錄(是中間件目錄不是domain),以便修復過程發生意外可以恢復。假設我們的中間件目錄為/u01/app/Oracle/Middleware

$ cd /u01/app/Oracle/Middleware
$ cp -rf Middleware Middleware_bak20190423

備份時間較長,可以先去喝杯咖啡,備份完成后繼續以下步驟。

3. 上傳補丁,准備環境

將下載好的補丁,通過ftp等工具將補丁文件 p29204678_1036_Generic.zip 上傳至 {MW_HOME}/utils/bsu/cache_dir目錄下並解壓,cache_dir 目錄如果沒有需要手動創建。如果之前有上傳過補丁,則先將之前的補丁刪除后再上傳。

-rw-r--r-- 1 oracle oinstall 101146211 Apr 19 17:09 p29204678_1036_Generic.zip
-rw-r--r-- 1 oracle oinstall 136403408 Feb  4 04:30 patch-catalog_26516.xml
-rw-r--r-- 1 oracle oinstall 136403408 Apr 19 18:25 patch-catalog.xml
-rw-rw-r-- 1 oracle oinstall     61197 Apr 15 17:56 README.txt
-rw-r--r-- 1 oracle oinstall  93124490 Feb  4 04:30 U5I2.jar

4、修改bsu.sh配置

為了避免補丁安裝過程中內存不足,建議對bsu.sh進行修改,將默認的內存最小值從256m修改為1024m;最大值從513m修改為2048m

#!/bin/sh

JAVA_HOME="/u01/java/jrockit-jdk1.6.0_33-R28.2.4-4.1.0"

MEM_ARGS="-Xms1024m -Xmx2048m"

"$JAVA_HOME/bin/java" ${MEM_ARGS} -jar patch-client.jar $*

5. 補丁安裝

在bsu文件目錄/u01/app/Oracle/Middleware/utils/bsu下,執行下面命令(兩個路徑需要按實際服務器環境上的home路徑替代):

$ cd /u01/app/Oracle/Middleware/utils/bsu
$ ./bsu.sh -install -patch_download_dir={MW_HOME}/utils/bsu/cache_dir -patchlist={PATCH_ID} -prod_dir={WEBLOGIC_HOME}
  • {PATCH_ID}:補丁id,可以在README.txt中找到,本次補丁PATCH_ID=U5I2
  • {WEBLOGIC_HOME}:weblogic目錄,在Middleware目錄下,如(/u01/app/Oracle/Middleware/wlserver_10.3)

6. 驗證補丁是否安裝成功

補丁安裝成功以后,重啟所有server,如果補丁安裝成功,在weblogic server的啟動日志中,可以看到以下版本信息。

圖片描述

7. 補丁卸載

在安裝補丁的過程中,如果碰到本次補丁和之前安裝的補丁沖突,需要先卸載之前的補丁,再安裝新的補丁,卸載命令:

$ cd /u01/app/Oracle/Middleware/utils/bsu
$ ./bsu.sh -remove -verbose -patchlist=U5I2 -prod_dir=/u01/app/Oracle/Middleware/wlserver_10.3 

補丁安裝 - 12.2.1.3.0

weblogic從 12 版本開始,使用OPatch工具進行補丁安裝。

1、OPatch升級

12.2.1.3.0版本補丁需要使用OPatch的版本為 13.9.4.0.0 ,可通過 {ORACLE_HOME}/OPatch/opatch -version 命令查看當前 OPatch版本,如果版本不夠則需要升級版本。

將該版本OPatch壓縮包下載后會解壓出 opatch_generic.jar ,將其上傳至 {ORACLE_HOME} 目錄,刪除已有的 {ORACLE_HOME}/OPatch/ 目錄(先備份),再執行下列命令,生成新的 {ORACLE_HOME}/OPatch/ 目錄

java -jar opatch_generic.jar -silent oracle_home={ORACLE_HOME}

2. 關閉服務器

登陸console控制台,將所有server包括admin server關閉

3. 備份中間件目錄(重要)

安裝補丁前請務必備份好中間件目錄(是中間件目錄不是domain),以便修復過程發生意外可以恢復。假設我們的中間件目錄為/u01/app/Oracle/Middleware

$ cd /u01/app/Oracle/Middleware
$ cp -rf Middleware Middleware_bak20190423

備份時間較長,可以先去喝杯咖啡,備份完成后繼續以下步驟。

4、上傳補丁,准備環境

OPatch在服務器上的安裝路徑為 {ORACLE_HOME}/OPatch/(例如 /u01/Middleware/Oracle_Home/OPatch/)

通過ftp等工具將下載好的補丁文件 p29016089_122130_Generic.zip 上傳至 {ORACLE_HOME}/PATCH_TOP/目錄下並解壓(如:/u01/Middleware/Oracle_Home/PATCH_TOP),PATCH_TOP目錄如果沒有需要手動創建。如果之前有上傳過補丁,則先將之前的補丁刪除后再上傳。

drwxr-xr-x. 4 oracle oinstall       67 Mar  6 03:24 29016089
-rw-r--r--. 1 oracle oinstall 39435868 Apr 22 10:06 p29016089_122130_Generic.zip

5、補丁安裝

進入到上一步驟中解壓的補丁編碼目錄中,執行安裝補丁的命令

$ cd {ORACLE_HOME}/PATCH_TOP/29016089/
$ sh {ORACLE_HOME}/OPatch/opatch apply

執行該腳本后,如果有提示輸入Y/N則全部輸入Y,控制台輸出 OPatch succeeded 后表示補丁安裝成功。

圖片描述

6、重啟服務器

補丁安裝成功以后,重啟所有server。

7、卸載

如果想要卸載補丁,進入補丁目錄下,執行 rollback 卸載命令

$ cd {ORACLE_HOME}/PATCH_TOP/29016089/
$ sh {ORACLE_HOME}/OPatch/opatch rollback -id  29016089

#29016089是補丁編號(PATCH_ID)

補丁安裝 - 12.1.3.0.0

12.1.3.0.0版本補丁的安裝方式和12.2.1.3.0一樣,只是替換一下補丁,都通過OPatch來安裝補丁。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM