转至:https://segmentfault.com/a/1190000019059894

背景

2019年04月17日,Oracle发布新季度安全公告。该安全公告披露WebLogic服务器存在多个高危漏洞,影响多个版本多个WebLogic组件。这次我们以本次事件为例,讲解如何给WebLogic(11g/12c)服务器打补丁。

本次漏洞受影响的包括三个Oracle WebLogic Server版本,分别是:

  • 10.3.6.0.0
  • 12.1.3.0.0
  • 12.2.1.3.0

补丁下载

点击进入补丁下载页面,你需要提前注册好oracle账号才能下载。

该页面内容较多,比较不容易找到需要的补丁,有个小技巧,按 Ctrl+F 进行关键字搜索,搜索 weblogic看到有链接的地方点击进入,可以直接跳转到补丁下载地址,如图:

以下是我们整理好的补丁的下载地址,你也可以直接点击下载:

补丁安装 - 10.3.6.0.0

10.3.6.0.0是通过 PSUs (patch set updates)工具对补丁进行安装。

1. 关闭服务器

登陆console控制台,将所有server包括admin server关闭

2. 备份中间件目录(重要)

安装补丁前请务必备份好中间件目录(是中间件目录不是domain),以便修复过程发生意外可以恢复。假设我们的中间件目录为/u01/app/Oracle/Middleware

$ cd /u01/app/Oracle/Middleware
$ cp -rf Middleware Middleware_bak20190423

备份时间较长,可以先去喝杯咖啡,备份完成后继续以下步骤。

3. 上传补丁,准备环境

将下载好的补丁,通过ftp等工具将补丁文件 p29204678_1036_Generic.zip 上传至 {MW_HOME}/utils/bsu/cache_dir目录下并解压,cache_dir 目录如果没有需要手动创建。如果之前有上传过补丁,则先将之前的补丁删除后再上传。

-rw-r--r-- 1 oracle oinstall 101146211 Apr 19 17:09 p29204678_1036_Generic.zip
-rw-r--r-- 1 oracle oinstall 136403408 Feb 4 04:30 patch-catalog_26516.xml
-rw-r--r-- 1 oracle oinstall 136403408 Apr 19 18:25 patch-catalog.xml
-rw-rw-r-- 1 oracle oinstall 61197 Apr 15 17:56 README.txt
-rw-r--r-- 1 oracle oinstall 93124490 Feb 4 04:30 U5I2.jar

4、修改bsu.sh配置

为了避免补丁安装过程中内存不足,建议对bsu.sh进行修改,将默认的内存最小值从256m修改为1024m;最大值从513m修改为2048m

#!/bin/sh

JAVA_HOME="/u01/java/jrockit-jdk1.6.0_33-R28.2.4-4.1.0"

MEM_ARGS="-Xms1024m -Xmx2048m"

"$JAVA_HOME/bin/java" ${MEM_ARGS} -jar patch-client.jar $*

5. 补丁安装

在bsu文件目录/u01/app/Oracle/Middleware/utils/bsu下,执行下面命令(两个路径需要按实际服务器环境上的home路径替代):

$ cd /u01/app/Oracle/Middleware/utils/bsu
$ ./bsu.sh -install -patch_download_dir={MW_HOME}/utils/bsu/cache_dir -patchlist={PATCH_ID} -prod_dir={WEBLOGIC_HOME}
  • {PATCH_ID}:补丁id,可以在README.txt中找到,本次补丁PATCH_ID=U5I2
  • {WEBLOGIC_HOME}:weblogic目录,在Middleware目录下,如(/u01/app/Oracle/Middleware/wlserver_10.3)

6. 验证补丁是否安装成功

补丁安装成功以后,重启所有server,如果补丁安装成功,在weblogic server的启动日志中,可以看到以下版本信息。

7. 补丁卸载

在安装补丁的过程中,如果碰到本次补丁和之前安装的补丁冲突,需要先卸载之前的补丁,再安装新的补丁,卸载命令:

$ cd /u01/app/Oracle/Middleware/utils/bsu
$ ./bsu.sh -remove -verbose -patchlist=U5I2 -prod_dir=/u01/app/Oracle/Middleware/wlserver_10.3

补丁安装 - 12.2.1.3.0

weblogic从 12 版本开始,使用OPatch工具进行补丁安装。

1、OPatch升级

12.2.1.3.0版本补丁需要使用OPatch的版本为 13.9.4.0.0 ,可通过 {ORACLE_HOME}/OPatch/opatch -version 命令查看当前 OPatch版本,如果版本不够则需要升级版本。

将该版本OPatch压缩包下载后会解压出 opatch_generic.jar ,将其上传至 {ORACLE_HOME} 目录,删除已有的 {ORACLE_HOME}/OPatch/ 目录(先备份),再执行下列命令,生成新的 {ORACLE_HOME}/OPatch/ 目录

java -jar opatch_generic.jar -silent oracle_home={ORACLE_HOME}

2. 关闭服务器

登陆console控制台,将所有server包括admin server关闭

3. 备份中间件目录(重要)

安装补丁前请务必备份好中间件目录(是中间件目录不是domain),以便修复过程发生意外可以恢复。假设我们的中间件目录为/u01/app/Oracle/Middleware

$ cd /u01/app/Oracle/Middleware
$ cp -rf Middleware Middleware_bak20190423

备份时间较长,可以先去喝杯咖啡,备份完成后继续以下步骤。

4、上传补丁,准备环境

OPatch在服务器上的安装路径为 {ORACLE_HOME}/OPatch/(例如 /u01/Middleware/Oracle_Home/OPatch/)

通过ftp等工具将下载好的补丁文件 p29016089_122130_Generic.zip 上传至 {ORACLE_HOME}/PATCH_TOP/目录下并解压(如:/u01/Middleware/Oracle_Home/PATCH_TOP),PATCH_TOP目录如果没有需要手动创建。如果之前有上传过补丁,则先将之前的补丁删除后再上传。

drwxr-xr-x. 4 oracle oinstall       67 Mar  6 03:24 29016089
-rw-r--r--. 1 oracle oinstall 39435868 Apr 22 10:06 p29016089_122130_Generic.zip

5、补丁安装

进入到上一步骤中解压的补丁编码目录中,执行安装补丁的命令

$ cd {ORACLE_HOME}/PATCH_TOP/29016089/
$ sh {ORACLE_HOME}/OPatch/opatch apply

执行该脚本后,如果有提示输入Y/N则全部输入Y,控制台输出 OPatch succeeded 后表示补丁安装成功。

6、重启服务器

补丁安装成功以后,重启所有server。

7、卸载

如果想要卸载补丁,进入补丁目录下,执行 rollback 卸载命令

$ cd {ORACLE_HOME}/PATCH_TOP/29016089/
$ sh {ORACLE_HOME}/OPatch/opatch rollback -id 29016089 #29016089是补丁编号(PATCH_ID)

补丁安装 - 12.1.3.0.0

12.1.3.0.0版本补丁的安装方式和12.2.1.3.0一样,只是替换一下补丁,都通过OPatch来安装补丁。

WebLogic服务器打补丁(11g/12c)的更多相关文章

  1. weblogic自动化打补丁脚本

    转至:https://www.it610.com/article/1294086996750311424.htm 目的 weblogic每个季度都会有psu更新,打补丁操作也变成了每个季度都要做的事情 ...

  2. WebLogic使用总结(五)——Web项目使用Sigar在WebLogic服务器部署遇到的问题

    今天在WebLogic 12c服务器上部署Web项目时,碰到了一个问题.项目中使用到了"Sigar.jar"监控Window平台下的cpu使用率.内存使用率和硬盘信息,sigar. ...

  3. weblogic 升级bsu_Weblogic补丁升级之坑坑洼洼

    转至:https://blog.csdn.net/weixin_30682635/article/details/111911952 [概述] 虽然当前国内去IOE波涛汹涌,但不可否认OracleWe ...

  4. Weblogic反序列化漏洞补丁更新解决方案

    Weblogic反序列化漏洞的解决方案基于网上给的方案有两种: 第一种方案如下 使用SerialKiller替换进行序列化操作的ObjectInputStream类; 在不影响业务的情况下,临时删除掉 ...

  5. 转:配置nodemanager启动weblogic服务器

    下面仅供参考,里面表格还有文件目录我是写的linux,刚刚看到原作者是windows, 后面我会把自己配置nodemanager的经过记录上来,我搞得是linux. (一)通过nodemanager本 ...

  6. weblogic服务器的简单使用(一)

    一.前言 现在的公司开发的项目基于的平台是weblogic8.1.5,虽然版本是旧了点,但是用到的功能还是很多的,如JNDI.t3协议.EJB2.0.线程池.连接池.Ant部署.java远程调试. 发 ...

  7. weblogic服务器内存溢出问题解决

    问题描述: 当我们在weblogic服务器一个域domain上面部署多个工程时,经常会出现内存溢出的情况:java.lang.OutOfMemoryError异常 原因:主要是因为weblogic环境 ...

  8. oracle 10g 11g 12c区别

    oracle 10g 11g 12c区别

  9. weblogic——服务器搭建与配置

    本次操作的内容:weblogic服务器搭建与配置服务 本次操作是主要围绕如何搭建weblogic服务器及配置服务,总共有两大步骤,可划分为六个小步骤: 选取已有环境,准备weblogic压缩包 安装w ...

随机推荐

  1. IBM MQ常用运维命令

    创建队列管理器 crtmqm –q QMgrName -q是指创建缺省的队列管理器 删除队列管理器 dltmqm QmgrName 启动队列管理器 strmqm QmgrName 如果是启动默认的队列 ...

  2. 一劳永逸,解决.NET发布云服务器的时区问题

    国内大多数开发者使用的电脑,都是使用的北京时间,日常开发的过程中其实并没有什么不便:不过,等遇到了阿里云等云服务器,系统默认使用的时间大多为UTC时间,这个时候,时区和时间的问题,就是不容忽视的大问题 ...

  3. java解洛谷P1011车站问题

    车站每站的上车人数,下车人数,剩余人数都组成了斐波那契数列 此代码只计算了剩余人数的情况,所以在输入需要总站数量时会-1取上一站的剩余人数 (最后一站会全部下车,没有上车人数) 每一站的剩余人数都可以 ...

  4. dfs时间复杂度分析

    前言 之前一直想不明白dfs的时间复杂度是怎么算的,前几天想了下大概想明白了,现在记录一下. 存图方式都是链式前向星或邻接矩阵.主要通过几道经典题目来阐述dfs时间复杂度的计算方法. $n$是图中结点 ...

  5. 我在 Gitee 上发现了一个简洁又好用的网络音乐播放器!

    这几天无聊的时候我想听听歌,但我想要找一个简单快速的网络音乐播放器来用用.这时我在 Gitee 上看见一个看上去不错的开源项目 -- Hi音乐. 项目链接:https://gitee.com/hi-j ...

  6. HowToDoInJava 其它教程 2 · 翻译完毕

    原文:HowToDoInJava 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. ApacheCN 学习资源 目录 JMS 教程 JMS 教 ...

  7. 「JOI 2014 Final」飞天鼠

    「JOI 2014 Final」飞天鼠 显然向上爬是没有必要的,除非会下降到地面以下,才提高到刚好为0. 到达一个点有两种情况:到达高度为0和不为0. 对于高度不为0的情况,显然花费的时间越少高度越高 ...

  8. errorC2471:cannot update program database vc90.pdb

    解决办法: C/C++ | General | Debug Information format | C7 Compatible (/Z7) C/C++ | Code Generation | Ena ...

  9. Java 获取本机局域网内IP

    主要涉及NetworkInterface.Enumeration.InetAddress等类 /* 获取本机网内地址 */ public static InetAddress getInet4Addr ...

  10. java+selenium自动化脚本编写

    实训项目:创盟后台管理,页面自动化脚本编写 使用工具:java+selenium 1)java+selenium环境搭建文档 2)创盟项目后台管理系统链接 java+selenium环境搭建 一.Se ...