前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle 11.2.0.4 RAC安装最新PSU补丁

Oracle 11.2.0.4 RAC安装最新PSU补丁

作者头像
Alfred Zhao
发布2019-05-24 20:25:35
2.8K0
发布2019-05-24 20:25:35
举报

环境:两节点RAC(RHEL 6.4 + GI 11.2.0.4 + Oracle 11.2.0.4) 需求:安装最新PSU补丁11.2.0.4.7

  • 1.下载补丁和最新OPatch
  • 2.检查数据库当前OPatch版本
  • 3.更新OPatch
  • 4.解压补丁文件
  • 5.检查补丁之间有无冲突
  • 6.停止数据库和本地crs服务
  • 7.更新补丁
  • 8.登录数据库执行升级字典操作
  • 9.验证补丁更新结果
  • Reference

1. 下载补丁和最新OPatch

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

代码语言:javascript
复制
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都需要检查。

代码语言:javascript
复制
$ $ORACLE_HOME/OPatch/opatch version

3. 更新OPatch

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

代码语言:javascript
复制
$ 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 权限。

代码语言:javascript
复制
$ echo $ORACLE_HOME
$ ls -lh $ORACLE_HOME/../
# chmod 775 /opt/app/11.2.0/grid

4. 解压补丁文件

代码语言:javascript
复制
$ unzip p20996923_112040_Linux-x86-64.zip

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

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

代码语言:javascript
复制
$ cd 20996923
$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

grid用户执行结果:

代码语言:javascript
复制
$ $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执行结果:

代码语言:javascript
复制
$ $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

代码语言:javascript
复制
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,自动打补丁(失败)

代码语言:javascript
复制
# 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

代码语言:javascript
复制
[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

代码语言:javascript
复制
[oracle@jyracdb1 ~]$ $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /opt/app/media/20996923/20760982/
输出略..

7.2.3 执行rootcrs.pl -patch

代码语言:javascript
复制
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操作

代码语言:javascript
复制
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次即可。最后重启数据库。

代码语言:javascript
复制
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都执行验证。

代码语言:javascript
复制
$ cd $ORACLE_HOME/OPatch
$ ./opatch lsinventory

数据库的验证。

代码语言:javascript
复制
SQL> select * from dba_registry_history;

Reference

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-10-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 下载补丁和最新OPatch
  • 2. 检查数据库当前OPatch版本
  • 3. 更新OPatch
  • 4. 解压补丁文件
  • 5. 检查补丁之间有无冲突
  • 6. 停止数据库和本地crs服务
  • 7. 更新补丁
    • 7.1 root用户,指定不同ORACLE_HOME,自动打补丁(失败)
      • 7.2 尝试手工打补丁
        • 7.2.1 节点1 grid home
        • 7.2.2 节点1 oracle home
        • 7.2.3 执行rootcrs.pl -patch
      • 7.3 然后在节点2重复以上节点1操作
      • 8. 登录数据库执行升级字典操作
      • 9. 验证补丁更新结果
      • Reference
      相关产品与服务
      数据库
      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档