WebLogic Server添加删除补丁操作
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补丁
1. p20780171_1036_Generic.zip
2. p22248372_1036012_Generic.zip
并需要按照前后顺序升级
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个补丁都卸载才行。一定要按序先卸载ZLNA,再卸载EJUW.
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即可。
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 检查冲突.....
网上还有人提及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/