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

  • 一、准备阶段
  • 二、GI 部分
    • 2.1 升级GI opatch
    • 2.2 root下生成ocm模板文件
    • 2.3 停止EM
    • 2.4 解压GI PSU压缩包
    • 2.5 进行GI PSU补丁升级
    • 2.6 执行数据库脚本
    • 2.7 检查GI的补丁情况
  • 三、DB PSU部分
    • 3.1 更新oracle用户下opatch
    • 3.2 检查opatch版本
    • 3.3 检查补丁的兼容性
    • 3.4 安装db psu补丁
    • 3.5 执行oracle db脚本
    • 3.6 最后验证db的psu是否升级成功

在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.20OPatch 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/oraInventoryfrom           : /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.logLsinventory 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-64Installed 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_paramsThis is the main log file: /u01/app/11.2.0/grid/cfgtoollogs/opatchauto2018-11-21_21-36-35.logThis 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.log2018-11-21 21:36:35: Starting Clusterware Patch Setup
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_paramsStopping CRS...
Stopped CRS successfullypatch /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.20OPatch 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 sessionOracle Home       : /u01/app/oracle/product/11.2.0/db_1
Central Inventory : /u01/app/oraInventoryfrom           : /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.logInvoking 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已成功安装

Oracle RAC 11G补丁安装最佳实践相关推荐

  1. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

    作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...

  2. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群 (2)

    13. 创建任务角色划分操作系统权限组.用户和目录 在集群的两个 Oracle RAC 节点上针对 grid 和 oracle 用户执行以下用户.组和目录配置并设置 shell 限制的任务.     ...

  3. 指南:在 linux 下的 Oracle Database 11g 中安装 Oracle Enterprise Manager 10g Grid Control 第 5 版

    原文地址:http://www.oracle.com/technetwork/cn/articles/revitt-oem-096363-zhs.html 作者:Mike Revitt 逐步详解如何针 ...

  4. 资源放送丨《Oracle RAC 集群安装部署》PPT视频

    点击上方"蓝字" 关注我们,享更多干货! 前段时间,墨天轮邀请数据库资深专家 邦德 老师分享了<Oracle RAC 集群安装部署>,在这里我们将课件PPT和实况录像分 ...

  5. 今晚8点直播(内含福利)丨 Oracle RAC集群安装部署

    Oracle RAC集群安装部署-9月16日20:00 Oracle RAC真正的应用集群,它可以多个主机共同分散业务,来达到负载均衡和高可用,目前企业也大规模应用,具有稳定,很好的扩展性等特点. 作 ...

  6. 本周四直播预告(内含福利)丨 Oracle RAC集群安装部署

    Oracle RAC集群安装部署-9月16日20:00 Oracle RAC真正的应用集群,它可以多个主机共同分散业务,来达到负载均衡和高可用,目前企业也大规模应用,具有稳定,很好的扩展性等特点. 作 ...

  7. 嘉年华回顾丨 樊文凯分享Oracle 数据库异构上云最佳实践

    2020年数据技术嘉年华还有一周多的时间,相信大家期待值也越来越高.数据技术嘉年华组委会在此精心为大家准备了"嘉年华回顾",挑选往届大会中热门的演讲.小编带大家回顾往届的高光时刻! ...

  8. 文档丨Oracle数据库异构上云最佳实践

    墨天轮文档:<Oracle数据库异构上云最佳实践-唐修>:https://www.modb.pro/doc/1301(复制到浏览器中打开或者点击"阅读原文"立即下载) ...

  9. 金仓KFS for Oracle RAC one node安装部署

    KFS for Oracle RAC one node安装部署 Oracle RAC one node是运行在Oracle RAC集群上的单实例数据库,当实例所在的节点出现问题后,实例可以自动转移到其 ...

最新文章

  1. It is not safe to rely on the system's timezone settings
  2. 魔兽怀旧服怎么找不到服务器,魔兽世界怀旧服无法连接服务器怎么解决 服务器连接不上解决方法...
  3. 10年布局,这道题都不懂就别想进阿里
  4. JVM调优:对象进入老年代的两个条件
  5. 【操作】Nuxt.js安装
  6. http请求协议分析
  7. 怎么引jsp包_电机引接线的制作流程防护等级
  8. Tomcat端口占用的处理方式
  9. WebRtc搭建 coturn
  10. caffe自带可运行的两个例子:mnist和cifar10
  11. python实现爱心代码
  12. 魔方教程公式口诀七步「视频教程」
  13. Kettle5.4调用Redis
  14. unity3d 动态添加地面贴图 草地
  15. 怎样清理苹果手机内存空间_手机资讯:苹果iPhone如何拒绝骚扰短信清理短信教程...
  16. 录制和播放RTI DDS(6.0)数据
  17. Array.prototype.pop()
  18. LyX的一些使用问题收集
  19. 自然语言处理学习(四)百度飞桨直播3:句子分类(情感分析)和语义匹配
  20. 十行代码帮你迅速回应大家的祝福,你可以安心抢红包了~

热门文章

  1. c语言数组初始化的区别
  2. 详解WiFi认证系统的人性化操作——时讯企业wifi
  3. 树莓派基于分类器的识别环保标志(四)
  4. centos 6.5安装c++ folly库
  5. 基于matlab有限体积法的传热结构拓扑优化程序
  6. rust如何放置篝火_怎样点篝火?
  7. 金融帝国实验室(Capitalism Lab)官方即将推出【实验DLC】!!
  8. 《犀利仁师:比武招亲》------挑战奕奕输入法开发
  9. Android app 崩溃 Crash 分析(一)
  10. Vue+UEditor+秀米