本文介绍的是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