暂无图片
暂无图片
6
暂无图片
暂无图片
暂无图片

Oracle 11gR2 RAC 最新免费补丁 190416 安装指导

原创 JiekeXu 2019-12-26
3375

前 言

近期,由于 Oracle 发布了第一季度的补丁程序包,而安全又被重视了很多,那么我们运维的数据库则需要打升级补丁,避免被扫描到漏洞。天天在打补丁,连做梦都是,这里总结分享一下,避免后人踩坑,需要的可仔细阅读实践。

image.png

Oracle CPU 的全称是 Crirical Patch Update,Oracle 对于其产品每个季度发行一次安全补丁包,通常是为了修复产品中的安全隐患。Oracle PSU 的全称是 Patch Set Update,Oracle 对于其产品每个季度发行一次补丁包,包含了 bug 的修复。 Oracle 选取被用户下载数量多且被验证过的具有较低风险的补丁放入每个季度的 PSU 中。在每个PSU 中不但包含 bug 的修复而且还包含了最新的 CPU。PSU 通常随着 CPU 一起发布。

一、 补丁下载及准备

通过 MOS 账号登陆到 My Oracle Support,进入到 补丁程序和更新程序 然后选择平台和补丁号或者 Bug 号 点击搜索,便可以去寻找自己想要找的程序包了。

image.png

选择到这个界面,也可以先进行补丁分析,在 下载 左边有个 使用 OPatch 进行分析按钮,可进行分析。

image.png

到这个界面直接下载就好了!

image.png

同理,29255947 补丁也可以按照上面方法下载,不过要是没有 MOS 账号的话,是无法登陆下载的,那么也不用担心,我这里已经下载好了,公众号【JiekeXu之路】后台回复【RAC补丁】即可获得安装包。

image.png

1、数据库环境

数据库版本:Oracle 11.2.0.4 x64 RAC
Grid	 :11.2.0.4
Oracle database	:11.2.0.4
目标版本:11.2.0.4.190416
复制

2、准备内容

GI PSU:p29255947_112040_Linux-x86-64.zip
Opatch: p6880880_112000_Linux-x86-64.zip
说明:为了区别以前的补丁包,这里将下载的程序包重命名为这个,以示区别。

p6880880_112000_Linux-x86-64.zip :p6880880_112000_Linux-x86-64_11.2.0.3.21.zip
p29255947_112040_Linux-x86-64.zip:p29255947_112040_Linux-x86-64_11.2.0.4.190416.zip
复制

注意:需要Opatch版本在11.2.0.3.21及以上,升级前安装目录空闲空间必须有 30 G 以上,这两个条件必须同时满足才可成功。

检查环境是否为11.2.0.3.21 版本:

[root@JiekeXu01 ~]# su - oracle

[root@JiekeXu01 ~]$ cd $ORACLE_HOME/OPatch

[oracle@JiekeXu01 OPatch]$ ./opatch version

OPatch Version: 11.2.0.3.18

OPatch succeeded.
复制

3、更新Opatch版本(如果版本符合则省略)

分别在各个节点上更新OPatch版本,做如下操作。
(1).上传p6880880_112000_Linux-x86-64_11.2.0.3.21.zip到/u01/app/soft目录下。
(2).将grid 和oracle用户ORACLE_HOME目录下的原Opatch目录改名备份。

grid 用户:
mv $ORACLE_HOME/OPatch  $ORACLE_HOME/OPatch_bak0531
Oracle 用户:
mv $ORACLE_HOME/OPatch  $ORACLE_HOME/OPatch_bak0531
(1).grid解压压缩包
-- $ORACLE_HOME: /u01/app/product/11.2.0/db
-- $GRID_HOME : /u01/app/product/11.2.0/grid
cd /u01/app/soft
unzip p6880880_112000_Linux-x86-64_11.2.0.3.21.zip  -d  $GRID_HOME
unzip p6880880_112000_Linux-x86-64_11.2.0.3.21.zip  -d  $ORACLE_HOME
mv OPatch $ORACLE_HOME/
cd $ORACLE_HOME/OPatch
复制

检查更新后的opatch 版本

./opatch version
[oracle@JiekeXu01 OPatch]$ ./opatch version

OPatch Version: 11.2.0.3.21

OPatch succeeded.
复制

二.GI打补丁

1、检查inventory有效性:

Grid用户执行:

$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
复制

2、生成ocm.rsp文件

root 用户执行:

cd  /u01/app/product/11.2.0/grid/OPatch/ocm/bin
./emocmrsp
复制

(回车 yes两步操作)

3、解压patch压缩包并给grid权限

解压补丁包p29255947_112040_Linux-x86-64.zip
grid 用户:

cd /u01/app/soft
unzip p29255947_112040_Linux-x86-64_11.2.0.4.190416.zip
chown  -R  grid:oinstall  29255947
chmod  -R 775  29255947
复制

4、执行命令打补丁

--root:
#/u01/app/product/11.2.0.4/grid/OPatch/opatch auto /u01/app/soft/29255947 -oh /u01/app/product/11.2.0.4/grid -ocmrf /u01/app/product/11.2.0.4/grid/OPatch/ocm/bin/ocm.rsp
复制

注意:这里有个小插曲,在Linux 系统中这么执行是没有问题的,但是 AIX 中却会出错,则需要指定一下环境变量 export USER=grid 然后在执行上面的命令

image.png

5、在其他节点也执行 2,3,4 步骤

生成ocm.rsp
解压 patch

root执行命令(AIX需要注意export)

#/u01/app/product/11.2.0.4/grid/OPatch/opatch auto /u01/app/soft/29255947 -oh /u01/app/product/11.2.0.4/grid -ocmrf /u01/app/product/11.2.0.4/grid/OPatch/ocm/bin/ocm.rsp
复制

6、检查GI打补丁情况

grid用户,两个节点分别打补丁

$ORACLE_HOME/OPatch/opatch lsinventory
复制

image.png

三.DB打补丁

1、root用户,两个节点分别打补丁

#/u01/app/product/11.2.0.4/db/OPatch/opatch auto /u01/app/soft/29255947 -oh /u01/app/product/11.2.0.4/db -ocmrf  /u01/app/product/11.2.0.4/grid/OPatch/ocm/bin/ocm.rsp
复制

image.png

注意:和前面一样,在Linux 系统中这么执行是没有问题的,但是 AIX 中却会出错,则需要指定一下环境变量 export USER=oracle 然后在执行上面的命令。

2、Oracle用户更新数据库字典表信息:(其中一个节点执行即可)

cd $ORACLE_HOME/rdbms/admin
sqlplus / as sysdba
SQL>@catbundle.sql psu apply
SQL> @utlrp.sql
SQL> @dbmsjdev.sql
SQL> exec dbms_java_dev.disable
$ rman catalog username/password@alias
RMAN> UPGRADE CATALOG;
复制

3、检查数据库版本

Oracle用户:

$ORACLE_HOME/OPatch/opatch lsinventory
sqlplus  / as  sysdba
col action_time for a32
col action for a10
col namespace for a10
col version for a10
col BUNDLE_SERIES for a10
col comments for a30
set lin 300
select * from dba_registry_history;

ACTION_TIME                      ACTION     NAMESPACE  VERSION            ID BUNDLE_SER COMMENTS
-------------------------------- ---------- ---------- ---------- ---------- ---------- ------------------------------
*************************************省略内容*******************************************
col ACTION_TIME for a35
col COMMENTS for a30
select ACTION_TIME,COMMENTS from  registry$history;

ACTION_TIME                    COMMENTS
------------------------------ ------------------------------
24-AUG-13 12.03.45.119862 PM   Patchset 11.2.0.2.0
19-JAN-16 12.10.26.734097 AM   Patchset 11.2.0.2.0
26-JAN-19 10.45.57.188831 AM   PSU 11.2.0.4.180116
26-JAN-19 11.52.32.664077 AM   PSU 11.2.0.4.19041611.2.0.4.190416
复制

那么,按照这个步骤执行是没有问题的,基本上踩得坑已经说明了,切记目录、版本要满足要求,要是需要回退的话可以去看官方文档或者阅读 README.html。这里不做说明,感兴趣的朋友可自行阅读,若没有 MOS 账号的话,是无法登陆下载的,那么也不用担心,我这里已经下载好了,公众号【JiekeXu之路】后台回复【RAC补丁】即可获得安装包及 README.html。

image.png

最后一点叮嘱,在生产环境中,升级过程中的变量因素是不可控制的,可以一个节点一个节点操作,保证生产环境高效稳定的运行,不过也需要做好备份哦,备份好相关的数据,就可以放心大胆的干了。好啦,今天就到这里了,最近有点忙,更新的频率有点低,望各位小伙伴们见谅了。
image.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

JiekeXu
暂无图片 暂无图片
关注
暂无图片
获得了2915次点赞
暂无图片
内容获得781次评论
暂无图片
获得了3453次收藏
TA的专栏
JiekeXu DBA之路
收录228篇内容
JiekeXu_MySQL 学习笔记
收录41篇内容
目录
  • 1、数据库环境
  • 2、准备内容
  • 3、更新Opatch版本(如果版本符合则省略)
  • 1、检查inventory有效性:
  • 2、生成ocm.rsp文件
  • 3、解压patch压缩包并给grid权限
  • 4、执行命令打补丁
  • 5、在其他节点也执行 2,3,4 步骤
  • 6、检查GI打补丁情况
  • 1、root用户,两个节点分别打补丁
  • 2、Oracle用户更新数据库字典表信息:(其中一个节点执行即可)
  • 3、检查数据库版本