Oracle 11GR2 RAC 最新补丁 190416 安装指导

前  言

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

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 号 点击搜索,便可以去寻找自己想要找的程序包了。

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

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

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

1、数据库环境

操作系统版本:suse11sp4

数据库版本  :
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 然后在执行上面的命令。

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 lsinventor

  • 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
 

注意:和前面一样,在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。

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

公众号【JiekeXu之路】

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值