本文介紹的是oracle每3個月發布的補丁安裝方法。
一、補丁獲取
通過官方網站https://www.oracle.com/cn/security-alerts/,可以了解修補哪些漏洞並下載,下載所需證書在oracle支持服務的購買郵件中。這里默認你已經獲取到了補丁。
二、關閉所有域服務並備份weblogic
1、kill掉所有域的進程
2、切換weblogic用戶並備份中間件
1 su - weblogic 2 cp -r /app/weblogic/Middleware /app/weblogic/Middleware_bak
注:/app/weblogic是weblogic的安裝路徑,需要按照實際情況配置,下略。
由於補丁是在中間件中執行,所以weblogic的所有域都會受到影響。
三、上傳補丁包
1、創建存放補丁的目錄,可以用root用戶創建
mkdir /app/weblogic/Middleware/util/cache_dir
2、上傳補丁到該目錄中並解壓縮,解壓后可以看到如下文件
四、設置執行腳本內存
回到上一級目錄 /app/weblogic/Middleware/utile/bsu,修改bsu.sh中的內存參數,至少為6G。不同補丁包所需要的JVM最小內存不同,此案例中p31641257_1026_Generic.zip中的補丁必須大於4G。
MEM_ARGS="-Xms6144m -Xmx6144m"
五、安裝補丁
在目錄 /app/weblogic/Middleware/utile/bsu中,用root用戶執行如下代碼:
1 ./bsu.sh -install -patch_download_dir=/app/weblogic/Middleware/utils/bsu/cache_dir -patchlist=NA7A -prod_dir=/app/weblogic/Middleware/wlserver_10.3
patch_download_dir是補丁包保存目錄,patchlist是解壓后的補丁名稱,prod_dir是weblogic中間件目錄
安裝會先驗證沖突的補丁包,如果存在,則需要刪除掉沖突包。
注:由於無論用root還是weblogic用戶安裝后在 /app/weblogic/Middleware 目錄中會產生兩個root用戶的文件,並且安裝中會提示權限報錯,所以用root執行bsu.sh
補丁升級完成后重啟服務
六、補丁卸載
如果提示“Patch XXXX is mutually exclusive and cannot coexist with patch(es): xxxx”執行如下代碼可以卸載補丁包,替換patchlist
1 ./bsu.sh -remove -verbose -patchlist=U5I2 -prod_dir=/app/weblogic/Middleware/wlserver_10.3
七、驗證
方法一:啟動域后如果在啟動日志中出現如下內容則為安裝成功,patch_wls1036和patch_ocp371是安裝過程中創建的兩個目錄
方法二:通過weblogic控制台查看版本
方法三:用bsu腳本查詢驗證,命令執行后需要等待一段時間
./bsu.sh -status=applied -view -prod_dir=/app/weblogic/Middleware/wlserver_10.3/
參考:https://segmentfault.com/a/1190000019059894