Oracle RAC 11G补丁安装最佳实践


在RAC环境需要使用三个更新类型的包,Grid GI的PSU,Oracle DB PSU,Opatch
更新顺序:
Opatch Update(GI,DB)->GI PSU->DB PSU

一、准备阶段

1、登录MOS 查阅ID:2118136.2 下载补丁包
Assistant: Download Reference for Oracle Database/GI Update, Revision, PSU, SPU(CPU), Bundle Patches, Patchsets and Base Releases (文档 ID 2118136.2)

在这里插入图片描述
在这里插入图片描述

2、下载opatch
https://updates.oracle.com/download/6880880.html
在这里插入图片描述

本次下载的包:
p6880880_112000_Linux-x86-64.zip Opatch
p28204707_112040_Linux-x86-64.zip DB PSU
p28429134_112040_Linux-x86-64.zip GI PSU

二、GI 部分

2.1 升级GI opatch

以下在RAC所有节点进行
先备份原GI opatch

[root@rac1 grid]# mv /u01/app/11.2.0/grid/OPatch /u01/app/11.2.0/grid/OPatchbak

将GI压缩包解压到grid用户下ORACLE_HOME

[root@rac1 grid]# unzip p6880880_112000_Linux-x86-64.zip -d /u01/app/11.2.0/grid/

对GI的opatch目录授权

[root@rac1 grid]# chown -R grid:oinstall /u01/app/11.2.0/grid/OPatch

grid用户下检查opatch版本

[root@rac1 grid]# su - grid
Last login: Wed Nov 21 19:24:23 CST 2018 on pts/0
[grid@rac1 ~]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 11.2.0.3.20

OPatch succeeded.

检查 Inventory有效性

[grid@rac1 OPatch]$ /u01/app/11.2.0/grid/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

输出过程:

Oracle Home       : /u01/app/11.2.0/grid
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/11.2.0/grid/oraInst.loc
OPatch version    : 11.2.0.3.20
OUI version       : 11.2.0.4.0
Log file location : /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2018-11-21_21-05-30PM_1.log

Lsinventory Output file location : /u01/app/11.2.0/grid/cfgtoollogs/opatch/lsinv/lsinventory2018-11-21_21-05-30PM.txt

--------------------------------------------------------------------------------
Local Machine Information::
Hostname: rac1
ARU platform id: 226
ARU platform description:: Linux x86-64

Installed Top-level Products (1): 

Oracle Grid Infrastructure 11g                                       11.2.0.4.0
There are 1 products installed in this Oracle Home.


Installed Products (89): 

2.2 root下生成ocm模板文件

 [root@rac1 /]#cd /u01/app/11.2.0/grid/OPatch/ocm/bin 
[root@rac1 bin]#./emocmrsp 

2.3 停止EM

[root@rac1 bin]# /u01/app/11.2.0/grid/bin/emctl stop console

2.4 解压GI PSU压缩包

--创建psu目录用于解压
[root@rac1 opt]# mkdir gi_psu
[root@rac1 opt]# mv p28429134_112040_Linux-x86-64.zip gi_psu/
[root@rac1 opt]# chown -R grid:oinstall gi_psu/
[grid@rac1 gi_psu]$ unzip p28429134_112040_Linux-x86-64.zip

2.5 进行GI PSU补丁升级

/u01/app/11.2.0/grid/OPatch/opatch auto /opt/gi_psu/28429134 -oh /u01/app/11.2.0/grid -ocmrf /u01/app/11.2.0/grid/OPatch/ocm/bin/ocm.rsp

补丁输出过程:

Executing /u01/app/11.2.0/grid/perl/bin/perl /u01/app/11.2.0/grid/OPatch/crs/patch11203.pl -patchdir /opt/gi_psu -patchn 28429134 -oh /u01/app/11.2.0/grid -ocmrf /u01/app/11.2.0/grid/OPatch/ocm/bin/ocm.rsp -paramfile /u01/app/11.2.0/grid/crs/install/crsconfig_params

This is the main log file: /u01/app/11.2.0/grid/cfgtoollogs/opatchauto2018-11-21_21-36-35.log

This file will show your detected configuration and all the steps that opatchauto attempted to do on your system:
/u01/app/11.2.0/grid/cfgtoollogs/opatchauto2018-11-21_21-36-35.report.log

2018-11-21 21:36:35: Starting Clusterware Patch Setup
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params

Stopping CRS...
Stopped CRS successfully

patch /opt/gi_psu/28429134/27735020  apply successful for home  /u01/app/11.2.0/grid 
patch /opt/gi_psu/28429134/28204707  apply successful for home  /u01/app/11.2.0/grid 
patch /opt/gi_psu/28429134/28204939  apply successful for home  /u01/app/11.2.0/grid 

Starting CRS...
Installing Trace File Analyzer
CRS-4123: Oracle High Availability Services has been started.

opatch auto succeeded.

以下在节点1执行即可

2.6 执行数据库脚本

执行catbundle.sql脚本

[oracle@rac1 ~]$ sqlplus / as sysdba
SQL> @?/rdbms/admin/catbundle.sql psu apply

执行utlrp.sql 脚本

SQL> @?/rdbms/admin/utlrp.sql

执行dbmsjdev.sql脚本

SQL > @/u01/app/11.2.0/grid/rdbms/admin/dbmsjdev.sql
SQL > exec dbms_java_dev.disable

2.7 检查GI的补丁情况

/u01/app/11.2.0/grid/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME |grep -i patch
[grid@rac1 ~]$ /u01/app/11.2.0/grid/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME |grep -i applied   

Patch  28204939     : applied on Wed Nov 21 21:45:23 CST 2018
Patch  28204707     : applied on Wed Nov 21 21:43:18 CST 2018
Patch  27735020     : applied on Wed Nov 21 21:41:57 CST 2018

GI PSU升级完毕

三、DB PSU部分

3.1 更新oracle用户下opatch

以下在所有节点进行
做好opatch备份

[root@rac1 grid]# mv /u01/app/oracle/product/11.2.0/db_1/OPatch /u01/app/oracle/product/11.2.0/db_1/OPatchbak

拷贝opatch到oracle用户ORACLE_HOME

[root@rac1 grid]# cp -r /u01/app/11.2.0/grid/OPatch /u01/app/oracle/product/11.2.0/db_1/ 

对opatch目录授权

[root@rac1 grid]# chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1/OPatch 

3.2 检查opatch版本

[root@rac1 grid]# su - oracle
[oracle@rac1 ~]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 11.2.0.3.20

OPatch succeeded.

3.3 检查补丁的兼容性

两个节点执行

--创建目录存放db psu
[root@rac1 opt]# mkdir -p /opt/db_psu
[root@rac1 opt]# mv p28204707_112040_Linux-x86-64.zip /opt/db_psu/
[root@rac1 opt]# chown -R oracle:oinstall /opt/db_psu/

执行命令检查补丁兼容性

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph /opt/db_psu/28204707/
PREREQ session

Oracle Home       : /u01/app/oracle/product/11.2.0/db_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.0/db_1/oraInst.loc
OPatch version    : 11.2.0.3.20
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2018-11-21_22-46-46PM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

3.4 安装db psu补丁

1、先在节点1关掉实例

[oracle@rac1 db_psu]$ srvctl stop instance -d orcl -i orcl1

为ORACLE DB打psu补丁
2、进入db psu解压后的目录

[oracle@rac1 28204707]$cd /opt/db_psu/28204707
[oracle@rac1 28204707]$ $ORACLE_HOME/OPatch/opatch apply
输入3个Y

3、启动节点1实例

[oracle@rac1 db_psu]$ srvctl start instance -d orcl -i orcl1

4、关闭节点2实例

[oracle@rac1 db_psu]$ srvctl stop instance -d orcl -i orcl2

5、在节点2打补丁

[oracle@rac2 28204707]$ $ORACLE_HOME/OPatch/opatch apply
输入3个Y

单实例环境可指定模板进行安装

$ORACLE_HOME/OPatch/opatch apply -ocmrf $ORACLE_HOME/OPatch/ocm/bin/ocm.rsp

6、启动节点2实例

[oracle@rac2 db_psu]$ srvctl start instance -d orcl -i orcl2

3.5 执行oracle db脚本

rac 环境只需要在一个节点执行即可

sqlplus / as sysdba
@?/rdbms/admin/catbundle.sql psu apply
@?/rdbms/admin/utlrp.sql
@?/rdbms/admin/dbmsjdev.sql
exec dbms_java_dev.disable

3.6 最后验证db的psu是否升级成功

1、每个节点下查询opatch应用记录

[oracle@rac2 ~]$ /u01/app/oracle/product/11.2.0/db_1/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME |grep -i patch
[oracle@rac1 28204707]$ /u01/app/oracle/product/11.2.0/db_1/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME |grep -i applied
Patch  28204707     : applied on Wed Nov 21 22:54:36 CST 2018

2、查询psu版本记录

SQL> 
set pagesize 200 linesize 200
col time for a30
col action for a6
col version for a10
col BUNDLE_SERIES for a5
col COMMENTS for a30
select to_char(ACTION_TIME,'yyyy-MM-dd hh24:mi:ss') time,action,VERSION,BUNDLE_SERIES,COMMENTS from dba_registry_history;


TIME                           ACTION VERSION    BUNDL COMMENTS
------------------------------ ------ ---------- ----- ------------------------------
2018-01-26 13:47:15            APPLY  11.2.0.4   PSU   Patchset 11.2.0.2.0
2018-11-21 22:15:11            APPLY  11.2.0.4   PSU   Patchset 11.2.0.2.0
2018-11-21 23:25:08            APPLY  11.2.0.4   PSU   PSU 11.2.0.4.181016

gi psu db psu已成功安装

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值