Oracle的12c版本打补丁

12c左右的版本打补丁姿势会有不同变化,我的是weblogic 12.3.1.0,

必须将Opatch的版本升级13.9以上,要不然无法使用Opatch来打补丁。

如果需要下载相关的补丁和升级.zip可以转至这里下载

注意:

1>所有的命令都是英语模式,所有的命令单词之间都是有空格

2>发的三个压缩包,第一个 P28186730_139424_Generic.zip是用来升级weblogic打补丁工具Opath的,必须先升级Opatch再用Opatch来打补丁,解压之后进入会得到6880880文件夹

3>我的目录可能与你的目录不太相同,你的可能是 D:\GWSDE\Middleware\Oralce_home这样的,那么你的Oracle_home = 我的weblogic 其他同理做改变

3>第二个P29204657_121300_Generic.zip是补丁,解压得到29204657文件夹,主要修复:通过反序列化JtaTransactionManager类实现jndi注入,覆盖以前的修复内容详情参见附件:29204657修复.txt

3>第三个P31178516_121300_Generic.zip是补丁,解压得到31178516文件夹,主要修复:Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。覆盖以前的修复内容详情参见附件:31178516修复.txt

 

 

 

第一步:关闭weblogic服务器

1.>查看本地有几个weblogic的服务在运行

win+R 键打开运行输入cmd 确定执行

 

 

 

 

有两种方式查看本地有几个服务器及对应端口

1方法最好最准确,但必须知道对应的端口,2是应对不清楚端口,且不清楚几个的情况

  1. 桌面上有对应的stopweblogic.cmd,或者7001.cmd这样的,有几个那就有几个对应的服务在开启,

使用命令netstat  -ano  |  findst  7001  7001是端口,查看是否这个端口是否开启是否关闭,最方便快捷准确,7002,7003,7004也是一样的,

2>如果桌面没有对应的脚本,在命令窗口执行tasklist  |  findstr  java        

如果没有任何输出那么本地没有weblogic在运行,

如果有内容 那么记下有几个java应用分别记下他的PID号码如下图8664,方便后续对比。

如果有多个,那就是运行了多个实例,每个PID都要记下来

 

 

 

2.>找到weblogic 目录

打补丁之前必须先关闭weblogic,如果多个端口都在运行实例,必须所有都关闭,

weblogic目录必须要找到,一般在D:E:F:盘中一层或者两层目录即可找到

实在不知道的可以在 进入D:或者E:  在右上角搜索weblogic 第一个结果就是点击进入

 

 

  1. > 进入目录中 点击关闭脚本

桌面上如果有stopweblogic7001.cmd  stopweblogic7002.cmd,直接关闭,就可以不用参照以下步骤

再然后到 weblogic下找到user_projects-->domains-->base_domain-->bin

详细的目录如下图,如果有多个  base_domain,例如

Base_domain7001、 base_domain7002.......的话每个的bin中的stopWebLogic.cmd都需要点击执

 

 

执行完一个再执行一个

4.> 查看是否执行成功

执行完之后,想要确定是否执行成功,我们需要下边的步骤

同样的有两种方式,对应上边两种查看的方式,

win+R 键打开运行输入cmd 确定执行

 

1>对应上边的 netstat -ano | findstr 7001  7002、7003各个端口查看有无输出,是否关闭。

2>在命令窗口执行tasklist  |  findstr  java        

如果没有任何输出那么关闭weblogic成功 准备第二步----升级Opatch

如果有内容 那么对照上一步找到的PID查看是否少了的个数与你点击cmd关闭的个数相对应,如关闭了四个,那就应该本来八个减四个还有四个,代表关闭四个weblogic成功。

如果最初有八个,关闭了四个,命令下还有五个,那就代表还有一个weblogic没有成功关闭。  不要关闭非weblogic的应用,防止其他的应用失效

记下那个pid  8664

执行 taskkill  /pid  8664  -t  -f

第二步:升级Opatch版本

 

  1. 找到本地的JDK目录  将JDK粘贴出来备用

一般在C:\Program File\Java\  下,将整个JDK复制到和weblogic平行目录中

 

再将JDK目录名粘贴出来,如下图,后面需要用到这个路径的名字

D:\software\jdk1.8.0_131

 

 

  1. 将我们给的三个压缩包解压,会得到三个p开头的目录,

进入到其中,一个目录中会有一个,总共得到三个数字开头的文件夹,

 

  1. 进入weblogic目录中的Opatch目录将上一步的三个数字文件夹放入其中

目录如下图

 

 

这样的话在weblogic\Opatch 目录下就有三个数字文件夹了,保证有三个就可以开始下边的操作了。

  1. 进入6880880 文件夹

 

摁住 Ctrl + Shift 右键空白处,点击  “在此处打开命令窗口(W)”

 

 

  1. 升级Opatch  找到之前第一小步的JDK的目录粘贴过来执行命令

D:\software\weblogic\OPatch\6880880>D:\software\jdk1.8.0_131\bin\java.exe  -jar opatch_generic.jar

 

上面的蓝色部分是你自己的JDK目录就是第一步中得到的JDK目录,加上\bin\java.exe

而这个opatch_generic.jar  是这个目录下的jar包

可以输入一个首字母o用tab键自动补全来快速输入

三部分之间都有空格,命令完成之后回车键执行

 

进入安装界面之后选择安装位置

选择weblogic 所在主目录 进行安装

我的就是 D:\software\weblogic

 

目录的选择就是你安装weblogic的目录,点击浏览选择成你的weblogic目录,选择到这一层然后下一步

 

语言选择不用选择直接下一步

自动更新选择跳过自动更新,

安装类型选择不用选直接下一步

Java主目录位置,选择我们第一步粘贴JDK的位置,切记这个路径不能有中文也不能有空格,像C:\Program  File\这种都会最后失败

选择JDK的安装目录和下图标示的这一样就可以,

 

之后一直下一步就可以

完成之后进入Opatch目录,

依然是 Ctrl+Shift 右击空白处,点击“在此处执行窗口命令(W)”

 

执行  opatch  version 如果是13.9.4.2.4那么升级Opatch就成功了。

 

第三步 安装补丁

除了6880880文件不用再操作了,剩下两个都需要操作一遍,我们先用29204657作为示例,

  1. 进入29204657 文件夹

 

同样,Ctrl+Shift  鼠标右击空白处--->在此处执行命令窗口

..\opatch    apply  -jdk  D:\software\jdk1.8.0_1.31

四部分之间都有空格,蓝色部分是之前的JDK路径 替换成你本地的JDK, 之后回车键执行,

会询问你两次是否继续, y|n   都是点击y即可,小写的,

出现 OPatch succeeded就成功了,

 

 

 

 

同样的做法再去31178516  文件夹中操作一遍,必须进入文件夹,再

Ctrl+Shift  鼠标右击空白处,在此处执行命令窗口

 

第四步 查看是否安装成功

 

安装完成之后查看是否安装成功

在31178516这个命令窗口执行命令  ..\Opatch  lsinventory

 

如果有31178516 和23596385的话,就证明安装补丁成功

猜你喜欢

转载自blog.csdn.net/weixin_41086086/article/details/110437153