阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle 11.2.0.4 RAC安装最新PSU补丁

125次阅读
没有评论

共计 9387 个字符,预计需要花费 24 分钟才能阅读完成。

环境:两节点 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. 验证补丁更新结果

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 databased <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 databased <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;

更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/135431.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计9387字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中