环境:两节点RAC(RHEL 6.4 + GI 11.2.0.4 + Oracle 11.2.0.4)

需求:安装最新PSU补丁11.2.0.4.7

1. 下载补丁和最新OPatch

MOS 补丁程序和更新程序搜索到最新的PSU:截至目前最新是11.2.0.4.7

GRID INFRASTRUCTURE PATCH SET UPDATE 11.2.0.4.7 (JUL2015) (补丁程序)
p20996923_112040_Linux-x86-64.zip 635.8 MB

OPatch下载地址:

https://updates.oracle.com/download/6880880.html

2. 检查数据库当前OPatch版本

RAC所有节点的GI home和DB home都需要检查。

$ $ORACLE_HOME/OPatch/opatch version

3. 更新OPatch

RAC所有节点的GI home和DB home都需要更新。

$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_bak
$ unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME
$ $ORACLE_HOME/OPatch/opatch version

需要注意grid用户$ORACLE_HOME 权限。

$ echo $ORACLE_HOME
$ ls -lh $ORACLE_HOME/../
# chmod 775 /opt/app/11.2.0/grid

4. 解压补丁文件

$ unzip p20996923_112040_Linux-x86-64.zip

5. 检查补丁之间有无冲突

检查需要打的补丁与现有补丁有无冲突.

$ cd 20996923
$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

grid用户执行结果:

$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Oracle Interim Patch Installer version 11.2.0.3.12
Copyright (c) 2015, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /opt/app/11.2.0/grid
Central Inventory : /opt/app/oraInventory
from : /opt/app/11.2.0/grid/oraInst.loc
OPatch version : 11.2.0.3.12
OUI version : 11.2.0.4.0
Log file location : /opt/app/11.2.0/grid/cfgtoollogs/opatch/opatch2015-10-23_11-53-52AM_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded.

oracle执行结果:

$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Oracle Interim Patch Installer version 11.2.0.3.12
Copyright (c) 2015, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /opt/app/oracle/product/11.2.0/dbhome_1
Central Inventory : /opt/app/oraInventory
from : /opt/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
OPatch version : 11.2.0.3.12
OUI version : 11.2.0.4.0
Log file location : /opt/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-10-23_11-56-06AM_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded.

6. 停止数据库和本地crs服务

grid用户登录节点1

su – oracle
$ $ORACLE_HOME/bin/srvctl stop database –d <db-unique-name>
su – root
# $GRID_HOME/crs/install/rootcrs.pl -unlock

7. 更新补丁

## 7.1 root用户,指定不同ORACLE_HOME,自动打补丁(失败) ##

# export ORACLE_HOME=/opt/app/11.2.0/grid
# $ORACLE_HOME/OPatch/opatch auto -oh $ORACLE_HOME/ -ocmrf $ORACLE_HOME/OPatch/ocm/bin/emocmrsp # export ORACLE_HOME=/opt/app/oracle/product/11.2.0/dbhome_1
# $ORACLE_HOME/OPatch/opatch auto -oh $ORACLE_HOME/ -ocmrf $ORACLE_HOME/OPatch/ocm/bin/emocmrsp

7.2 尝试手工打补丁

7.2.1 节点1 grid home

[grid@jyracdb1 ~]$ $GRID_HOME/OPatch/opatch napply -oh $GRID_HOME -local /opt/app/media/20996923/
Oracle Interim Patch Installer version 11.2.0.3.12
Copyright (c) 2015, Oracle Corporation. All rights reserved. Oracle Home : /opt/app/11.2.0/grid
Central Inventory : /opt/app/oraInventory
from : /opt/app/11.2.0/grid/oraInst.loc
OPatch version : 11.2.0.3.12
OUI version : 11.2.0.4.0
Log file location : /opt/app/11.2.0/grid/cfgtoollogs/opatch/opatch2015-10-23_16-06-35PM_1.log Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 20299019 17478514 18031668 18522509 19121551 19769489 20299013 20760982 20831122 Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name: You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: yes Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/opt/app/11.2.0/grid') Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '20299019' to OH '/opt/app/11.2.0/grid' Patching component oracle.usm, 11.2.0.4.0...
Applying sub-patch '17478514' to OH '/opt/app/11.2.0/grid'
ApplySession: Optional component(s) [ oracle.sdo, 11.2.0.4.0 ] , [ oracle.sysman.agent, 10.2.0.4.5 ] , [ oracle.xdk, 11.2.0.4.0 ] not present in the Oracle Home or a higher version is found. Patching component oracle.rdbms, 11.2.0.4.0... Patching component oracle.rdbms.rsf, 11.2.0.4.0... Patching component oracle.rdbms.dbscripts, 11.2.0.4.0... Patching component oracle.sdo.locator, 11.2.0.4.0... Patching component oracle.nlsrtl.rsf, 11.2.0.4.0... Patching component oracle.xdk.rsf, 11.2.0.4.0... Patching component oracle.rdbms.rman, 11.2.0.4.0...
Applying sub-patch '18031668' to OH '/opt/app/11.2.0/grid'
ApplySession: Optional component(s) [ oracle.precomp.common, 11.2.0.4.0 ] not present in the Oracle Home or a higher version is found. Patching component oracle.rdbms, 11.2.0.4.0... Patching component oracle.rdbms.rsf, 11.2.0.4.0... Patching component oracle.ldap.rsf, 11.2.0.4.0... Patching component oracle.rdbms.crs, 11.2.0.4.0... Patching component oracle.ldap.rsf.ic, 11.2.0.4.0... Patching component oracle.rdbms.deconfig, 11.2.0.4.0... Patching component oracle.rdbms.dbscripts, 11.2.0.4.0... Patching component oracle.rdbms.rman, 11.2.0.4.0...
Applying sub-patch '18522509' to OH '/opt/app/11.2.0/grid'
ApplySession: Optional component(s) [ oracle.precomp.common, 11.2.0.4.0 ] not present in the Oracle Home or a higher version is found. Patching component oracle.rdbms.rsf, 11.2.0.4.0... Patching component oracle.rdbms, 11.2.0.4.0... Patching component oracle.rdbms.rman, 11.2.0.4.0... Patching component oracle.rdbms.dbscripts, 11.2.0.4.0... Patching component oracle.rdbms.deconfig, 11.2.0.4.0...
Applying sub-patch '19121551' to OH '/opt/app/11.2.0/grid'
ApplySession: Optional component(s) [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.sysman.console.db, 11.2.0.4.0 ] not present in the Oracle Home or a higher version is found. Patching component oracle.rdbms.rsf, 11.2.0.4.0... Patching component oracle.rdbms.rman, 11.2.0.4.0... Patching component oracle.rdbms, 11.2.0.4.0... Patching component oracle.rdbms.dbscripts, 11.2.0.4.0... Patching component oracle.ordim.client, 11.2.0.4.0... Patching component oracle.ordim.jai, 11.2.0.4.0...
Applying sub-patch '19769489' to OH '/opt/app/11.2.0/grid'
ApplySession: Optional component(s) [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.ovm, 11.2.0.4.0 ] , [ oracle.xdk, 11.2.0.4.0 ] , [ oracle.oraolap, 11.2.0.4.0 ] , [ oracle.sysman.agent, 11.2.0.4.0 ] not present in the Oracle Home or a higher version is found. Patching component oracle.rdbms.util, 11.2.0.4.0... Patching component oracle.rdbms, 11.2.0.4.0... Patching component oracle.rdbms.dbscripts, 11.2.0.4.0... Patching component oracle.xdk.parser.java, 11.2.0.4.0... Patching component oracle.rdbms.rsf, 11.2.0.4.0... Patching component oracle.xdk.rsf, 11.2.0.4.0... Patching component oracle.rdbms.rman, 11.2.0.4.0... Patching component oracle.rdbms.deconfig, 11.2.0.4.0...
Applying sub-patch '20299013' to OH '/opt/app/11.2.0/grid'
ApplySession: Optional component(s) [ oracle.rdbms.dv, 11.2.0.4.0 ] , [ oracle.rdbms.oci, 11.2.0.4.0 ] , [ oracle.precomp.common, 11.2.0.4.0 ] , [ oracle.sysman.agent, 10.2.0.4.5 ] , [ oracle.xdk, 11.2.0.4.0 ] , [ oracle.sysman.console.db, 11.2.0.4.0 ] not present in the Oracle Home or a higher version is found. Patching component oracle.sysman.common, 10.2.0.4.5... Patching component oracle.rdbms, 11.2.0.4.0... Patching component oracle.rdbms.dbscripts, 11.2.0.4.0... Patching component oracle.xdk.parser.java, 11.2.0.4.0... Patching component oracle.xdk.rsf, 11.2.0.4.0... Patching component oracle.rdbms.rsf, 11.2.0.4.0... Patching component oracle.sysman.common.core, 10.2.0.4.5... Patching component oracle.rdbms.rman, 11.2.0.4.0... Patching component oracle.rdbms.deconfig, 11.2.0.4.0...
Applying sub-patch '20760982' to OH '/opt/app/11.2.0/grid'
ApplySession: Optional component(s) [ oracle.sysman.console.db, 11.2.0.4.0 ] not present in the Oracle Home or a higher version is found. Patching component oracle.rdbms, 11.2.0.4.0... Patching component oracle.rdbms.dbscripts, 11.2.0.4.0...
Applying interim patch '20831122' to OH '/opt/app/11.2.0/grid' Patching component oracle.crs, 11.2.0.4.0...
Composite patch 20760982 successfully applied.
Patches 20299019,20831122 successfully applied.
Log file location: /opt/app/11.2.0/grid/cfgtoollogs/opatch/opatch2015-10-23_16-06-35PM_1.log OPatch succeeded.

7.2.2 节点1 oracle home

[oracle@jyracdb1 ~]$ $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /opt/app/media/20996923/20760982/
输出略..

7.2.3 执行rootcrs.pl -patch

su – root
[root@jyracdb1 20996923]# /opt/app/11.2.0/grid/rdbms/install/rootadd_rdbms.sh
[root@jyracdb1 20996923]# /opt/app/11.2.0/grid/crs/install/rootcrs.pl -patch
Using configuration parameter file: /opt/app/11.2.0/grid/crs/install/crsconfig_params
Installing Trace File Analyzer
CRS-4123: Oracle High Availability Services has been started.

7.3 然后在节点2重复以上节点1操作

su – oracle
[oracle@jyracdb2 ~]$ $ORACLE_HOME/bin/srvctl stop database –d <db-unique-name>
或者:
[oracle@jyracdb2 ~]$ $ORACLE_HOME/bin/srvctl stop instance -d racdb -i racdb2 su – root
# $GRID_HOME/crs/install/rootcrs.pl -unlock 节点2补丁文件解压到/tmp下了,当然,如果配置共享的NFS等服务,就不必在节点2再解压补丁文件了。
[grid@jyracdb2 ~]$ $GRID_HOME/OPatch/opatch napply -oh $GRID_HOME -local /tmp/20996923/
[oracle@jyracdb2 ~]$ $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /tmp/20996923/20760982/ 执行rootcrs.pl -patch
su – root
[root@jyracdb2 ~]# /opt/app/11.2.0/grid/rdbms/install/rootadd_rdbms.sh
[root@jyracdb2 ~]# /opt/app/11.2.0/grid/crs/install/rootcrs.pl -patch

8. 登录数据库执行升级字典操作

由于RAC实际只有一个数据库,因此任意节点登录数据库执行1次即可。最后重启数据库。

cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql SQL> shutdown immediate;
SQL> startup;

9. 验证补丁更新结果

各节点的GI HOME和ORACLE HOME都执行验证。

$ cd $ORACLE_HOME/OPatch
$ ./opatch lsinventory

数据库的验证。

SQL> select * from dba_registry_history;

Reference

Oracle 11.2.0.4 RAC安装最新PSU补丁的更多相关文章

  1. 完整记录一则Oracle 11.2.0.4单实例打PSU补丁的过程

    本文记录了打PSU的全过程,意在体会数据库打PSU补丁的整个过程. 1.OPatch替换为最新版本2.数据库软件应用19121551补丁程序3.数据库应用补丁4.验证PSU补丁是否应用成功 1.OPa ...

  2. ORACLE 11.2.0.4 RAC安装在rhel6上

    . 关闭ipv4防火墙(两个节点): [root@RAC01 ~]# service iptables stop [root@RAC01 ~]# service iptables status ipt ...

  3. Oracle 11.2.0.4单实例打PSU,OJVM PSU补丁快速参考

    写在前面: 1.Oracel打每个补丁的操作有时存在差异,所以不管多熟悉,都应该在打任何补丁之前阅读新补丁中附带的readme. 2.Oracle每季度都会更新一个最新的PSU,本文最新指的是当前最新 ...

  4. ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档

    ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报  分类: Oracle RA ...

  5. oracle 11.2.0.4静默安装

    oracle 11.2.0.4静默安装 1.安装包 1.1.上传安装包 xshell可用rz命令,选择安装包. mobaxterm可用左侧栏上传功能. 2.安装准备 2.1.关闭防火墙.SELinux ...

  6. Oracle 11.2.0.4 RAC重建EM案例

    环境:Oracle 11.2.0.4 RAC 重建EM 背景:客户之前的EM已经被损坏,需要重建EM 重建EM的方案有很多,其中最简单的方法是:直接使用emca重建,oracle用户下,只需一条命令搞 ...

  7. Oracle 11.2.0.4 DataGuard 环境打PSU,OJVM PSU补丁快速参考

    环境:RHEL6.5 + Oracle 11.2.0.4 DataGuard physical standby 主库和备库都是单节点. 需求:主备库同时应用160719的PSU和OJVM PSU补丁. ...

  8. oracle 11.2.0.4 rac 打补丁

    本次安装pus环境是11.2.0.4 rac,打的patch为11.2.0.4.180717 (Includes Database PSU),gi补丁和数据库补丁一起打 安装最新opatch版本 un ...

  9. centos6.8 oracle 11.2.0.4 11g安装

    配置Linux系统参数 配置阿里云yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup ...

随机推荐

  1. Javascript生成二维码(QR)

    网络上已经有非常多的二维码编码和解码工具和代码,很多都是服务器端的,也就是说需要一台服务器才能提供二维码的生成.本着对服务器性能的考虑,这种小事情都让服务器去做,感觉对不住服务器,尤其是对于大流量的网 ...

  2. Js 原型和原型链

    Js中通过原型和原型链实现了继承 Js对象属性的访问,首先会查找自身是否拥有这个属性 如果查到,则返回属性值,如果找不到,就会遍历原型链,一层一层的查找,如果找到就会返回属性值 直到遍历完Object ...

  3. .NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper

    好久没有写文章,工作甚忙,但每日还是关注.NET领域的开源项目.五一休息,放松了一下之后,今天就给大家介绍一个轻量级的对象映射工具Tiny Mapper:号称是.NET平台最快的对象映射组件.那就一起 ...

  4. [C#] 简单的 Helper 封装 -- SQLiteHelper

    using System; using System.Data; using System.Data.SQLite; namespace SqliteConsoleApp { /// <summ ...

  5. 使用C/C++写Python模块

    最近看开源项目时学习了一下用C/C++写python模块,顺便把学习进行一下总结,废话少说直接开始: 环境:windows.python2.78.VS2010或MingW 1 创建VC工程 (1) 打 ...

  6. python之最强王者(9)——函数

    1.Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但 ...

  7. Web安全开发之验证码设计不当引发的撞库问题

    感谢某电商平台安全工程师feiyu跟我一起讨论这个漏洞的修复.以往在安全测试的过程中后台经常存在验证码不失效果造成的撞库问题,甚至在一些银行或者电商的登录与查存页面同样存在这个问题,一旦造成撞库无论对 ...

  8. Java集合类--温习笔记

    最近面试发现自己的知识框架有好多问题.明明脑子里知道这个知识点,流程原理也都明白,可就是说不好,不知道是自己表达技能没点,还是确实是自己基础有问题.不管了,再巩固下基础知识总是没错的,反正最近空闲时间 ...

  9. FineReport:任意时刻只允许在一个客户端登陆账号的插件

    在使用FineReport报表系统中,处于账户安全考虑,有些企业希望同一账号在任意时刻智能在统一客户端登录.那么当A用户在C1客户端登陆后,该账号又在另外一个C2客户端登陆,服务器如何取判断呢? 开发 ...

  10. TCP的数据传输小结

    TCP的交互数据流 交互式输入 通常每一个交互按键都会产生一个数据分组,也就是说,每次从客户传到服务器的是一个字节的按键(而不是每次一行) 经受时延的确认 通常TCP在接受到数据时并不立即发送ACK: ...