weblogic 升级bsu_Weblogic补丁升级之坑坑洼洼
转至:https://blog.csdn.net/weixin_30682635/article/details/111911952
[概述]
虽然当前国内去IOE波涛汹涌,但不可否认OracleWeblogic当前市场还有有一定使用量。所以,weblogic依然是中间件运维的重要工作之一。然而Oracleweblogic已经连续三个季度(2019年10月~2020年7月)曝出CVSS风险为9.8的高危安全漏洞,漏洞修复是一轮接着一轮,轮的哥都要吐了,但没办法,活儿还是不能拉下。本文主要是针对weblogic漏洞修复,罗列一些在weblogic安全漏洞补丁更打过程中笔者遇到的一些问题以及解决方案或思路,希望对同样做补丁升级的兄弟们有所启示。
[坑坑洼洼]
问题1:
weblogic补丁升级后执行BSUCOMMAND查看不到补丁信息
该问题出现在weblogic11g正常更打完PSU补丁集后,最后使用./bsu.sh–view -status=applied -prod_dir=最后查看校验一下补丁版本信息时,结果却没返回有补丁信息:
此时莫慌张,并不是你补丁安装失败了。可以关注到红线部分,此处的weblogicPatch指定了一“DownloadDir:“ ,怀疑和这个设置有关。我们尝试继续使用bsu.sh查看补丁信息,这次咱们开启debug日志来验证想法:
./bsu.sh -view -verbose -status=applied -prod_dir=/data1/weblogic/wlserver_10.3 -log=bsu.log -log_priority=debug,日志会生成在脚本当前路径。
查看日志有如下报错:
问题原因:是我们习惯将补丁放到./utils/bsu/cache_dir解压更打,而此处weblogic指定了DownloadDir这个目录,所以才产生这个问题,读取不到补丁信息。
解决方法:1)将本次更打的patch-catalog_xxxxx.xml文件拷贝到上述目录下,重命名为patch-catalog.xml。
2)重新指定本次patch_download_dir目录-patch_download_dir=/data1/weblogic/utils/bsu/cache_dir
重新查看补丁信息,如下:
问题2:升级过程中抛出OOM异常
该问题新手在更打或卸载weblogic11g补丁过程中经常会遇到,报错如下“java.lang.OutOfMemoryError:Java heap space“
问题原因:卸载或更打补丁前,未设置合理的JVM大小,导致执行过程中JVM不足,内存溢出。
解决方法:修改bsu.sh,将如下设置修改为-Xms2048m –Xmx2048m,或者内存充足的情况下,设置为更大的值即可。
问题3:weblogic12C升级过程中OPatch版本问题
该问题常出现在weblogic12c版本补丁更打过程当中,报错信息很友好,直接给出了解决方案:
问题原因:TheOPatch version is not applicable for current OUI version.
解决方法:到OracleSupport下载patch6880880,更新OPatch,命令如下:
java-jar /6880880/opatch_generic.jar -silentoracle_home=
更新后,使用opatchversion,查看当前opatch信息如下:
问题4:拷贝安装的惹的祸
某系统某次weblogicPSU补丁升级完成后,该系统出现“ORA-01461:仅能绑定要插入 LONG列的 LONG值”报错,报错之前系统只做过weblogicPSU更打,于是第一时间回滚后,问题消失,确认问题由补丁升级引起。经排查,初步判定ORA-01461报错原因应该系数据库与客户端JDBC驱动不匹配所致。当晚升级人员在补丁升级后,应用启动日志记录的数据源与库建立连接使用的驱动版本为11.2.0.3.0,日志记录如下:
而在未升级补丁时,日志记录的驱动版本为12.1.0.2.0版本,如下:
继续核实发现,该系统weblogic产品针对jdbc驱动包ojdbc6.jar做了修改(修改后驱动为12.1.0.2.0版本),而当晚升级操作人员直接使用其他系统升级完成的weblogic拷贝安装至该系统主机,相当于将修改后的ojdbc6.jar驱动包还原了,因此驱动版本变成了11.2.0.3.0,导致问题的出现。
问题原因:在没了解清楚当前系统weblogic是否做过一些特定修改下,直接拷贝安装。
解决方法:在大批量服务器进行weblogic补丁更新时,可能大家都采用过拷贝安装的方式:先打一台模板,后续直接打包weblogic产品目录拷贝解压安装到其他服务器上,以完成补丁跟新。正常情况下,如果weblogic产品内部相关包未被修改或替换,确保操作系统版本、安装目录、jdk路径及版本一致的情况下,这不失为一种有效的捷径,但是如果存在weblogic产品内部相关包未被修改或替换,那可能就会踩坑了。
问题5:补丁升级后weblogicserver启动异常
该问题常出现在weblogic产品安装用户与weblogicServer启动用户不一样的情况下,在weblogic补丁更打成功后,weblogicServer启动出现如下报错,找不到”main”方法:
问题原因:weblogic补丁更打后,weblogic产品某些子录下文件重新创建,导致WEBLOGIC_HOME下某些子目录缺少可写或可执行权限所知。
解决方法:确保weblogicserver启动用户对Weblogic_HOME下的所有子目录具有可写和可执行的权限。建议如果weblogic安装用户与weblogicdomain域部署用户不一致的情况下,更打完PSU补丁集后,请chmod–R 755 $Weblogic_HOME。
问题6:补丁升级后weblogicserver启动异常
首先说明下,该问题的出现于weblogic升级并无直接关系,是笔者在今年7月份的一次weblogic补丁升级后,遇到的一次问题。情况是老套路,升级后,应用启不起来了,应用侧一口咬定补丁升级所致,报错如下图:
说实话哥也是心虚的,我所知的确实只有我做了weblogic补丁更新,问题也是第一次遇到,趁晚上升级还有时间,赶紧到MOS上找找答案。事实证明,确实很多坑,别人都已经帮我们踩过了,找到类似的报错信息,
以上,原因1直接PASS了,原因2,可能存在config.xml或setEnv文件可能被改动或失效。顺着这个思路,找来了应用账号,直接去$DOMAIN_HOME/config下看了下config.xml文件,当晚应用侧对config.xml文件明显有改动,存在多个版本。如下截图:
后面就简单了,直接让应用先回滚config.xml文件,重启weblogicserver正常启动,问题证实与补丁升级无关。
问题原因:应用侧修改config.xml文件存在格式或内容错误,导致文件失效所致。
解决方案:碰到没见过的问题不要慌,先到官网找找资料,绝大部门的坑,别人已经替咱们踩过了。
问题7:补丁升级后weblogicserver启动异常
最后一个案例,本人暂时没有遇到,系Oracle原厂发出的一个预警,希望近期在更新PSU20200714朋友如果遇到了此问题,可以参考。
最近有客户遇到WLS打完最新PSU20200714补丁后,服务启动报错的问题。OracleACSOFM团队初步分析是由于升级完成后,SAX对是否支持解析XML文件中的外部DTD默认值做了改变(之前版本默认值为true,新版本默认值变为false)。
如果升级完成后启动服务遇到如下类似报错,则是由于该问题导致。
WARNING: Could not read file registry settings $DOMAIN_HOME/config/fmwconfig/servers//logging.xml; exception: oracle.core.ojdl.logging.LoggingConfigurationException: ODL-52050:
Could not process file $DOMAIN_HOME/config/fmwconfig/servers//logging.xml, XML parsing exception line 1, column 1.266): org.xml.sax.SAXParseException; lineNumber: 1;
columnNumber: 1266; The content of the item type “root” is incomplete, must match “(logging_configuration)”.
目前的解决方案是在WebLogicserver的启动参数中增加 -Dweblogic.xml.jaxp.allow.externalDTD=true 规避这个问题(已经过测试确认)。
[小结]
以上,是笔者或者同事在weblogic补丁更新过程中遇到的一些问题,以及记录下来的问题解决方案或思路,类似的问题还有很多,篇幅有限,未一一列举了。运维过程中,我们遇到的问题可能是千变万化,如何有效的去规避或者解决问题,我认为需要咱们做到以下几点:
涉及操作,请制定合理的操作方案,并虚心提交公司老人或专家审核;
正确的分析和理解错误日志,问题就解决一半了;
有效的利用互联网资源,很多坑别人都已经替你踩过了;
绝大部分问题相应产品官网均有详细的记录与解决方案,请善于查找官方资料;
学会总结记录,相同的问题你不一定能记住准确的解决方案,好记性不如烂笔头;
不要藏问题,请学会抛出问题,解决不了的提交专家或者至官网提交SR。
weblogic 升级bsu_Weblogic补丁升级之坑坑洼洼的更多相关文章
- Weblogic补丁升级问题
转至:https://blog.csdn.net/weixin_44659716/article/details/105132466 一.版本信息1)中间件版本 Weblogic10.3.6.02) ...
- Weblogic补丁升级常见问题
转至:https://blog.csdn.net/weixin_44659716/article/details/106804177 常用企业级版本:Weblogic 11g(weblogic10.3 ...
- weblogic集群自动批量化补丁升级
转至:http://blog.itpub.net/28833846/viewspace-2726722/ 一.前言介绍 Weblogic是一种基于J2EE架构的中间件,用于开发.集成.部署和管理大型分 ...
- linux下通过脚本方式对中间件weblogic进行补丁升级
转至:http://bbs.learnfuture.com/topic/48 linux下通过脚本方式对中间件weblogic进行补丁升级 刘五奎 [摘要] 在运维行业,系统或软件漏洞每每牵动着每一个 ...
- Weblogic 升级更新补丁操作步骤
转至:https://blog.csdn.net/allway2/article/details/91424413 Weblogic 升级更新补丁操作步骤: 1.上传补丁包2.kill weblogi ...
- oracle补丁升级
PSU的全称是Patch Set Update,Oracle对于其产品每个季度发行一次的补丁包,包含了bug的修复.Oracle选取被用户下载数量多,且被验证过具有较低风险的补丁放入到每个季度的PSU ...
- 11.2.0.3.7 PSU补丁升级
说明:这是新上线主机,还没有建库的.如果库已经存在,那么最后还要进行刷库操作呢! 环境:SUSE Linux Enterprise Server 11 sp1 (x86_64) 要求将数据库从11.2 ...
- Wix打包系列 (六)制作升级和补丁包
原文:Wix打包系列 (六)制作升级和补丁包 前面我们已经知道怎么制作一个完整安装包了,但我们的软件往往不能一次性就满足客户的需要,当客户需要我们给软件进行升级的时候,我们应该怎么做呢? 在这之前,我 ...
- WAS7.0安装补丁升级程序无法替换文件 java/docs/autorun.inf解决办法
OS:Win7 64bit WAS版本:WASND_7.0_Windows_x64_C1G2JML.zip WAS补丁升级程序版本:7.0.0.13-WS-UPDI-WinAMD64 异常信息: Ca ...
随机推荐
- 适配器模式(Adapter模式)
模式的定义与特点 适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作.适配器模式分为类结构型模式和对象结构型模式 ...
- 学习axios必知必会(1)~axios基本介绍、axios配置、json-server接口模拟工具
一.axios基本介绍 1.axios(前端最流行的 ajax 请求库) 特点: ① 基于 xhr + promise 的异步 ajax 请求库 ② 浏览器端/node 端都可以使用 ③ 支持请求/响 ...
- html图像 表格 列表
创建图像映射 <img src="/demo/planets.gif" width="145" height="126" alt=&q ...
- Python3 生成激活码
1.文档: string模块:https://docs.python.org/3/library/string.html random模块:https://docs.python.org/3/libr ...
- kubernetes之部署traefik-ingress分为http和https
1 理解Ingress 简单的说,ingress就是从kubernetes集群外访问集群的入口,将用户的URL请求转发到不同的service上.Ingress相当于nginx.apache等负载均衡方 ...
- 学习Java第2天
今天所做的工作: 1.学习Java语言变量的使用 2.学习Java语言的算数运算符及逻辑运算符 3.学习选择结构 4.编程检验学习成果 明天工作安排: 1.循环结构 2.字符串 3.数组 4.面向对象 ...
- MyBatis加强(1)~myBatis对象关系映射(多对一关系、一对多关系)、延迟/懒加载
一.myBatis对象关系映射(多对一关系.一对多关系) 1.多对一关系: ---例子:多个员工同属于一个部门. (1)myBatis发送 额外SQL: ■ 案例:员工表通过 dept_id 关联 部 ...
- Android下数据库操作——增删改查
Android下数据库第一种方式增删改查 1.创建一个帮助类的对象,调用getReadableDatabase方法,返回一个SqliteDatebase对象 2.使用SqliteDat ...
- 痞子衡嵌入式:i.MXRT连接特殊Octal Flash时(OPI DTR模式下反转字节序)下载与启动注意事项(以MX25UM51245为例)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是OPI DTR模式下反转字节序的Octal Flash在i.MXRT下载与启动注意事项. 在恩智浦官方参考设计板 MIMXRT595-E ...
- Docker容器和宿主机互传文件
1.docker容器向宿主机传送文件 格式: docker cp container_id:<docker容器内的路径> <本地保存文件的路径> 例: docker cp 10 ...