PSU的全称是Patch Set Update,Oracle对于其产品每个季度发行一次的补丁包,包含了bug的修复。Oracle选取被用户下载数量多,且被验证过具有较低风险的补丁放入到每个季度的PSU中。通过定期的安装PSU补丁,修复数据库中存在的各种bug,进而提升数据库可用性和可靠性。PSU11.2.4.0.8对于的补丁号是21523375,里面包含针对GI的3个补丁(21352642、21352649和21352635)和针对数据库的2个补丁(21352649和21352635)。

1、升级过程
1.1准备文件
登录MOS,根据平台下载最新的OPatch和PSU11.2.4.0.8。我们以Linux x64为例进行说明,分别选择p6880880_112000_Linux-x86-64.zip和p21523375_112040_Linux-x86-64.zip进行下载。

1.2、升级OPatch
unzip p6880880_112000_Linux-x86-64.zip
unzip p21523375_112040_Linux-x86-64.zip
rm -rf $GRID_HOME/OPatch
rm -rf $ORACLE_HOME/OPatch
cp -r OPatch $GRID_HOME/
cp -r OPatch $ORACLE_HOME/
备注:
1、根据需求选择合适的$GRID_HOME 和$ORACLE_HOME进行更新
2、针对RAC环境更新所有的节点

1.3、生成ocm文件
[oracle@grid1~]$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output /tmp/grid.rsp
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]: Y
The OCM configuration response file (/tmp/grid.rsp) was successfully created.

1.4、检验是否存在冲突
cd $PATCH_LOC/21523375
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

1.5、单实例升级过程
#oracle
cd $PATCH_LOC/21523375/21352635
$ORACLE_HOME/OPatch/opatch apply ./ -ocmrf /tmp/grid.rsp -oh $ORACLE_HOME
cd $PATCH_LOC/21523375/21352649
$ORACLE_HOME/OPatch/opatch apply ./ -ocmrf /tmp/grid.rsp -oh $ORACLE_HOME

1.6、RAC升级过程
#root
cd $PATCH_LOC
$GRID_HOME/OPatch/opatch auto ./21523375 -ocmrf /tmp/grid.rsp
$GRID_HOME/OPatch/opatch auto ./21523375 -ocmrf /tmp/grid.rsp -oh <db_home>
备注:
1、根据需求选择合适的$GRID_HOME 和$ORACLE_HOME进行更新
2、针对RAC环境更新所有的节点
3、升级命令会自动升级非共享的$ORACLE_HOME

1.7、更新数据字典
#oracle
cd $ORACLE_HOME/rdbms/admin
sqlplus / as sysdba
SQL> @catbundle.sql psu apply
--检查dba_registry_history;
SQL> select action, comments from dba_registry_history;

ACTION COMMENTS
------------------------------ ---------------------------------------------
APPLY Patchset 11.2.0.2.0
APPLY Patchset 11.2.0.2.0
备注:仔细检查catbundle.sql运行过程,检查其中是否有错误

2、说明
2.1注意事项
升级补丁包里面带有readme.html或者readme.txt,请仔细阅读
升级之前确定受影响部分,严格做好数据库文件以及相关软件的备份
如有可能最好在1:1测试环境进行补丁升级,升级完成后做好应用测试、业务联调
目前Oracle发布的补丁基本都支持滚动升级,用户可以根据业务特性选择合适的时候窗口进行补丁安装
升级完成后进行数据库全备份

2.2查看补丁安装信息
opatch lsinventory
实际上补丁的安装可以分为三步:
更新软件
更新inventory信息库
更新数据字典信
inventory信息库使用文件进行保存,在进行补丁安装时对相应的文件加独占锁,所以我们有时候看到opatch因为锁冲突而执行失败。
在oracle里面,inventory信息库的入口由/etc/oraInst.loc指定,在$inventory_loc/ ContentsXML/inventory.xml中包含该主机上安装的所有$ORACLE_HOME信息等。
[oracle@grid1 21352642]$ cat /etc/oraInst.loc
inventory_loc=/u01/oraInventory
inst_group=oinstall

[oracle@grid1 ContentsXML]$ cat inventory.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2013, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>11.2.0.4.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/grid/11.2" TYPE="O" IDX="1" CRS="true">
<NODE_LIST>
<NODE NAME="grid1"/>
<NODE NAME="grid2"/>
</NODE_LIST>
</HOME>
<HOME NAME="OraDb11g_home1" LOC="/u01/db/11.2" TYPE="O" IDX="2">
<NODE_LIST>
<NODE NAME="grid1"/>
<NODE NAME="grid2"/>
</NODE_LIST>
</HOME>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>
另外每个$ORACLE_HOME下维护自身的一套inventory信息库,该信息库位于$ORACLE_HOME/inventory/ContentsXML/目录下。
$ORACLE_HOME/inventory/ContentsXML/comps.xml文件包含该$ORACLE_HOME下所有组件的信息,以及安装的补丁集。实际上opatch lsinventory命令就是对$inventory_loc/ ContentsXML/inventory.xml 、$ORACLE_HOME/inventory/ContentsXML/comps.xml等文件的一种友好的展现方式,读者可以自行查看该目录下的其他文件。

oracle补丁升级的更多相关文章

  1. 【转】:Oracle Linux6.9下安装Oracle 11.2.0.4.0及psu补丁升级

    为方便截图,本文操作都在vmware虚拟机上完成. 目录: 1.操作系统安装 2.数据库安装 3.PSU补丁升级卸载   part1 操作系统安装 Oracle (Enterprise) Linux ...

  2. oracle 10g升级到11g

    Linux 上Oracle RAC 10g 升级到 Oracle RAC 11g 了解如何在 Oracle Enterprise Linux 5 上逐步将 Oracle RAC 10g 第 2 版升级 ...

  3. 11.2.0.3.7 PSU补丁升级

    说明:这是新上线主机,还没有建库的.如果库已经存在,那么最后还要进行刷库操作呢! 环境:SUSE Linux Enterprise Server 11 sp1 (x86_64) 要求将数据库从11.2 ...

  4. 探索Oracle数据库升级6 11.2.0.4.3 Upgrade12c(12.1.0.1)

    探索Oracle数据库升级6 11.2.0.4.3 Upgrade12c(12.1.0.1) 一.前言:       Oracle 12c公布距今已经一年有余了,其最大亮点是一个能够插拔的数据库(PD ...

  5. [转帖]Oracle 补丁体系(PSR/PSU/CPU) 及 opatch 工具 介绍

    Oracle 补丁体系(PSR/PSU/CPU) 及 opatch 工具 介绍 原文:http://blog.csdn.net/tianlesoftware/article/details/58095 ...

  6. 11g Rac PSU20180116手动补丁升级步骤

    手动升级:软件包解压在新建的/home/grid/update 目录下ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1GRID_HOME=/u01 ...

  7. weblogic 升级bsu_Weblogic补丁升级之坑坑洼洼

    转至:https://blog.csdn.net/weixin_30682635/article/details/111911952 [概述] 虽然当前国内去IOE波涛汹涌,但不可否认OracleWe ...

  8. linux下通过脚本方式对中间件weblogic进行补丁升级

    转至:http://bbs.learnfuture.com/topic/48 linux下通过脚本方式对中间件weblogic进行补丁升级 刘五奎 [摘要] 在运维行业,系统或软件漏洞每每牵动着每一个 ...

  9. Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4]

    Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4] Primary: 11.2.0.1 单机,Site A. Standby: 11.2.0.1 单机,Site ...

随机推荐

  1. CNN for NLP (CS224D)

    斯坦福课程CS224d: Deep Learning for Natural Language Processing lecture13:Convolutional neural networks - ...

  2. CSS counter-reset 属性

    一.实例 对部分和子部分进行编号(比如 "Section 1"."1.1"."1.2")的方法: eg: css部分: ol { list- ...

  3. 几种Position属性的用法

    几种Position常见的属性就是一下几种: 1.static:默认值.没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明). 2.re ...

  4. js 字符串转换成数字的三种方法

    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形 ...

  5. this其实是js的一个对象谁调用它它就指向谁

    本人看了一下,感觉对this解释的有点复杂了,因此,本人在此给this一个简单易于理解的定义. 因为上面计算出来的结果不符合我们的习惯,并且负值在计算的时候会影响正确性,现在我们给这个结果加上180 ...

  6. 99乘法表(bash)

    awk方式: # awk 'BEGIN{for(i=1;i<=9;i++){for(j=1;j<=i;j++){printf j"x"i"="i*j ...

  7. 第一篇(C#中?与??)

    不聊闲话,上干货~!(新手初上路,大牛莫喷,谢谢!) 先说?? 在C#中有个三元运算符  X= A==null?B:A 其中A为bool型.当A为空时,X的值为B;当A不为空时,X的值为A. 现在有个 ...

  8. css3新增的属性选择器

    使用css选择器,可以实现一个样式对应多个html文档的元素,在{}前面的部分就是"选择器",指明了样式的作用对象. 在CSS中追加了三个属性选择器:[att*=val].[att ...

  9. HDU 5936 Difference

    题意: 有一个函数f(y, k) = y的每个十进制位上的数字的k次幂之和 给x, k 求 有多少个y满足 x = f(y, k) - y 思路: (据说这叫中途相遇法?) 由于 x >= 0 ...

  10. JAVA语言的本质优势

    虽然Java应用最广泛,但与其它语言比并没有什么技术上的优势.常会看到各种抱怨,说Java语言设计不如C#,对native的精确控制和灵活性不然C++,动态性.开发效率方便不如Ruby,Python, ...