WebLogic Server添加刪除補丁操作
0 查看當前weblogic版本
[weblogic@localhost bin]$ cd /data/bea/weblogic11/wlserver_10.3/server/bin
[weblogic@localhost bin]$ source ./setWLSEnv.sh
### Your environment has been set.
[weblogic@localhost bin]$ java weblogic.version
###WebLogic Server 10.3.6.0 Tue Nov 15 08:52:36 PST 2011 1441050
###Use 'weblogic.version -verbose' to get subsystem information
###Use 'weblogic.utils.Versions' to get version information for all modules
顯示的10.3.6.0即為版本號
1 補丁下載
1) 訪問、登錄Oracle 知識庫:http://support.oracle.com
2) 根據補丁號或者WebLogic版本號,進行選擇,並下載WebLogic Server補丁
3) WebLogic 10.3.6對應的補丁包(附下載地址,請自行查找):
1. p20780171_1036_Generic.zip
2. p22248372_1036012_Generic.zip
並需要按照前后順序升級
如果您對本鏈接心存疑惑,亦可參考該鏈接http://blog.csdn.net/qshpeng/article/details/77494188學習如何下載oracle官網補丁
4) WebLogic 10.0 MP1對應的補丁包為:p22248372_1001_Generic.zip
補充說明:
p20780171_1036_Generic.zip 文件中有 EJUW.jar , patch-catalog_22958.xml , README.txt 三個文件,
p22248372_1036012_Generic.zip文件中有 ZLNA.jar , patch-catalog_23501.xml , README.txt 三個文件
如果已打過EJUW和ZLNA補丁, 現在想安裝最新的FMJJ補丁,需要把前面2個補丁都卸載才行. 參考3.3章節, 一定要按序先卸載ZLNA,再卸載EJUW. 不然會報第5小節的異常二。
2 補丁安裝注意事項
1) 確定補丁類型,不同補丁類型有不同的安裝方法
2) 確定WebLogic版本以及其已經安裝的補丁集
3) 一定要查看Oracle給出的README補丁說明文件(補丁壓縮包中會附帶)
4) 補丁安裝前做好WebLogic的備份
5) 停掉在此WebLogic版本下的所有java進程
3 補丁安裝方法
3.1 版本查詢
3.1.1 方法一 顯示最詳細,且可看到已打補丁
cd /data/bea/weblogic11/utils/bsu
./bsu.sh -view -status=applied -prod_dir=/data/bea/weblogic11/wlserver_10.3 -verbose
3.1.2 方法二
[weblogic@localhost bin]$ cd /data/bea/weblogic11/wlserver_10.3/server/bin
[weblogic@localhost bin]$ source ./setWLSEnv.sh
### Your environment has been set.
[weblogic@localhost bin]$ java weblogic.version
3.1.3 方法三
查看user_projects/domains/base_domain/config/config.xml文件第4行(不行換觀測的情況下)
<domain-version>10.3.6.0</domain-version>
3.1.4 方法四
如果weblogic AdminServer管理服務器已啟動,可通過前台網頁控制台查看 (頁腳會看到10.3.X.X)
3.2 補丁安裝
1) 以weblogic用戶身份登錄linux os,切換至/data/bea/weblogic11/utils/bsu目錄,查看是否存在/data/bea/weblogic11/utils/bsu/cache_dir目錄,沒有的話,需要手工創建(mkdir cache_dir)。
2) 將補丁包上傳至/data/bea/weblogic11/utils/bsu/cache_dir目錄,本文以WebLogic 10.0 MP1為例,解壓補丁包:unzip p22248372_1001_Generic.zip,解壓完后效果如下. (當然最好解壓完后把zip包刪掉再升級)
備注:在打補丁時,可能會遇到內存溢出的問題;則需要調整bsu.sh腳本,將內存調大,一般調整到2G即可。 不然可能會報第5小節的異常一。
3) 修改patch-catalog_22958.xml文件名,去掉_22958即可(您也可執行命令 mv patch-catalog_22958.xml patch-catalog.xml)
4) 切換至bsu目錄,執行補丁安裝命令:
./bsu.sh -install -patchlist=EJUW -prod_dir=/data/bea/weblogic11/wlserver_10.3 -verbose
上面語句的./bus.sh 參數解釋如下
-參數名 | 中文名 | 參數值 | 額外說明 |
-install | 安裝 | 無參 | 固定寫法 |
-patchlist | jar包名 | EJUW | 您需要修改成對應jar包名 |
-prod_dir | weblogic目錄 | /data/bea/weblogic11/wlserver_10.3 | 您需要修改成對應路徑 |
-verbose | 顯示詳情 | 無參 | 固定寫法 |
也可以使用以下語句
./bsu.sh -install -patch_download_dir=/data/bea/weblogic11/utils/bsu/cache_dir -patchlist=EJUW -prod_dir=/data/bea/weblogic11/wlserver_10.3 -verbose
補充說明: -patch_download_dir這個參數以前是加的,后來發現不加也沒有關系.
5) 查看版本情況,檢查升級是否正常
6) 重新啟動WebLogic服務,打完補丁后重啟等待server重啟會需要非常漫長的5到10分鍾的啟動時間,這是正常的,請耐心等待.如下圖:
3.3 查看已打補丁情況
cd /data/bea/weblogic11/utils/bsu
./bsu.sh -view -status=applied -prod_dir=/data/bea/weblogic11/wlserver_10.3 -verbose
以下為本人打完最新補丁FMJJ后的輸出
ProductName: WebLogic Server
ProductVersion: 10.3 MP6
Components: WebLogic Server/Core Application Server,WebLogic Server/Admi
nistration Console,WebLogic Server/Configuration Wizard and
Upgrade Framework,WebLogic Server/Web 2.0 HTTP Pub-Sub Serve
r,WebLogic Server/WebLogic SCA,WebLogic Server/WebLogic JDBC
Drivers,WebLogic Server/Third Party JDBC Drivers,WebLogic S
erver/WebLogic Server Clients,WebLogic Server/WebLogic Web S
erver Plugins,WebLogic Server/UDDI and Xquery Support,WebLog
ic Server/Evaluation Database,WebLogic Server/Workshop Code
Completion Support
BEAHome: /data/bea/weblogic11
ProductHome: /data/bea/weblogic11/wlserver_10.3
PatchSystemDir: /data/bea/weblogic11/utils/bsu
PatchDir: /data/bea/weblogic11/patch_wls1036
Profile: Default
DownloadDir: /data/bea/weblogic11/utils/bsu/cache_dir
JavaVersion: 1.6.0_29
JavaVendor: Sun
Patch ID: FMJJ
PatchContainer: FMJJ.jar
Checksum: 591477727
Severity: optional
Category: General
CR/BUG: 26519424
Restart: true
Description: WLS PATCH SET UPDATE 10.3.6.0.171017
WLS PATCH SET UPDATE 10
.3.6.0.171017
3.3 補丁卸載
cd /data/bea/weblogic11/utils/bsu
./bsu.sh -remove -patchlist=EJUW -prod_dir=/data/bea/weblogic11/wlserver_10.3 -verbose
4 總結打補丁最常用三語句 (查看,卸載,安裝)
./bsu.sh -view -status=applied -prod_dir=/data/bea/weblogic11/wlserver_10.3 -verbose
./bsu.sh -remove -patchlist=EJUW -prod_dir=/data/bea/weblogic11/wlserver_10.3 -verbose
./bsu.sh -install -patchlist=EJUW -prod_dir=/data/bea/weblogic11/wlserver_10.3 -verbose
5 遇見異常
異常一
Checking for conflicts................Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
這是由於/data/bea/weblogic11/utils/bsu/bsu.sh配置的內存不夠用導致,
解決方法,修改bsu.sh文件第5行的MEM_ARGS="-Xms256m -Xmx512m" 調大成 MEM_ARGS="-Xms2048m -Xmx2048m" 注意更新完補丁后改回去
異常二
Checking for conflicts..............
Conflict(s) detected - resolve conflict condition and execute patch installation again
Conflict condition details follow:
Patch FMJJ is mutually exclusive and cannot coexist with patch(es): ZLNA
這是由於舊補丁未卸載完全導致的,之前裝過EJUW.jar和ZLNA.jar(這兩個jar要一起打,是一個整體),如果只移除EJUW.jar,現在想安裝最新的補丁FMJJ.jar,需要把前面2個補丁都卸載才行. 參考3.3章節, 一定要按序先卸載ZLNA,再卸載EJUW, 不然就會報下面的異常三↓
異常三
[weblogic@dwxapptest bsu]$ ./bsu.sh -remove -patchlist=EJUW -prod_dir=/data/bea/weblogic/wls/wlserver_10.3 -verbose
Checking for conflicts......................
Conflict(s) detected - resolve conflict condition and execute patch removal again
Conflict condition details follow:
The selected patch cannot be removed until the following patch(es) are removed first: ZLNA
注意補丁順序, 因為ZLNA的補丁版本比EJUW版本小, 我們需要安照先進先出原則, 所以先安裝的ZLNA移除掉后,再移除EJUW即可 。
異常四 (20190827)
該小段的使用目錄和文章總體目錄不一致, 因為是很久以后其它服務器上發生的問題 ,請注意區分.
encountered unrecognized patch id:MXLE (遇到無法識別的補丁程序 ID : MXLE)
對比了失敗和成功的兩台服務器,執行./bsu.sh -view -status=applied -prod_dir=/data/weblogic/wls/wlserver_10.3 -verbose 發現只有DownloadDir不一致. 於是執行時強制指定DownloadDir參數如下,竟然成功了
./bsu.sh -install -patch_download_dir=/data/weblogic/wls/utils/bsu/cache_dir -patchlist=MXLE -prod_dir=/data/weblogic/wls/wlserver_10.3 -verbose
檢查沖突.....
添加-patch_download_dir 這參數, 得益於該文章 weblogic的三種補丁安裝方法==>http://blog.sina.com.cn/s/blog_880542950102v6ha.html
網上還有人提及10.3.6.0 的weblogic版本中bsu版本過低(小於3.3.0.0)也會導致以上現象, 但我的機器上執行 bsu.sh -version 得到的結果還是3.3.0.0的,排除此干擾.
Weblogic 補丁升級慢==>http://blog.itpub.net/30327022/viewspace-2564722/
6 其它補充
weblogic被漏洞掃描后上傳的txt文件位置
/data/bea/weblogic11/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat/54p17w/war/1043046.txt
7 附錄
http://wenku.baidu.com/view/0b1d8efd4afe04a1b071de66.html?from=search
http://andyaqu.iteye.com/blog/1559108
http://drops.wooyun.org/web/13470
8 我的其它參考
參考圖文教程(good): http://blog.csdn.net/xublog/article/details/46651567