Oracle 10g R2 RAC手动打补丁PSU(10.2.0.5.19)

Oracle 10g R2 RAC手动打补丁PSU(10.2.0.5.19) 一、准备工作 1,数据库环境

操作系统版本  : RedHat 5.8 x64  
数据库版本    : Oracle 10.2.0.5 x64 RAC    
Cluterware    : 10.2.0.5    
Oracle database: 10.2.0.5.0    
PSU补丁        : 10.2.0.5.19 (2015年下半年)

2,准备内容

OPatch : p6880880_102000_Linux-x86-64.zip  
DB PSU : p20299014_10205_Linux-x86-64.zip

说明:p20299014补丁包无CRS的补丁修复,所以直接打数据库PSU即可。

二、更新OPatch版本,必须要更新

说明:分别在两个节点更新OPatch版本。

1. 更新OPatch版本,需要从10.2.0.4.9更新到10.2.0.5.1,OPatch直接压缩替换就可以了。

(1) 上传p6880880_112000_Linux-x86-64.zip,p20299014_10205_Linux-x86-64.zip到/u01/app目录下。  
(2) root用户下将原OPatch目录改名。

mv /u01/app/oracle/product/10.2.0/db_1/OPatch /u01/app/oracle/product/10.2.0/db_1/OPatchBK

2. oracle目录OPatch替换

(1) root用户  
cd /u01/app/    
chown oracle:oinstall p6880880_102000_Linux-x86-64.zip    
chown oracle:oinstall p20299014_10205_Linux-x86-64.zip

(2) oracle用户

su - oracle  
cd /u01/app/    
unzip p6880880_112000_Linux-x86-64.zip    
unzip p20299014_10205_Linux-x86-64.zip

(3) root用户

cd /u01/app/  
mv OPatch /u01/app/oracle/product/10.2.0/db_1/

(4) oracle用户测试

su - oracle

/u01/app/oracle/product/10.2.0/db_1/OPatch/opatch version

Invoking OPatch 10.2.0.5.1  
OPatch Version: 10.2.0.5.1

3. 测试兼容性

su - oracle

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/app/20299014 -oh $ORACLE_HOME

Invoking OPatch 10.2.0.5.1  
Oracle Interim Patch Installer version 10.2.0.5.1    
Copyright (c) 2010, Oracle Corporation.  All rights reserved.    
PREREQ session    
Oracle Home      : /u01/app/oracle/product/10.2.0/db_1    
Central Inventory : /u01/app/oracle/oraInventory    
  from          : /etc/oraInst.loc    
OPatch version    : 10.2.0.5.1    
OUI version      : 10.2.0.5.0    
OUI location      : /u01/app/oracle/product/10.2.0/db_1/oui    
Log file location : /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch2016-03-29_10-38-44AM.log    
Patch history file: /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch_history.txt    
Invoking prereq "checkconflictagainstohwithdetail"    
Prereq "checkConflictAgainstOHWithDetail" passed.    
OPatch succeeded.

4. 查看该补丁能否采用rolling方式升级

采用这种方法对应用系统没有影响的,升级一个节点的同时,其他节点不需要停机.  
$ /u01/app/oracle/product/10.2.0/db_1/OPatch/opatch query -all /u01/app/20299014/ |grep rolling                         
Patch is a rolling patch: true

三、打database PSU补丁

升级看各自的环境,可以有用滚动升级的方式,也可以采用全关闭了再升级。

1. 先升级节点1,关闭节点1

[oracle@node1 ~]$ srvctl stop instance -d orcl -i orcl1  
[oracle@node1 ~]$ srvctl stop listener -n node1    
[oracle@node1 ~]$ srvctl stop asm -n node1

2. 执行升级

本地升级方式:  
cd /u01/app/    
/u01/app/oracle/product/10.2.0/db_1/OPatch/opatch napply -local -oh /u01/app/oracle/product/10.2.0/db_1 -id 20299014

例:如果不采用滚动升级的话,本地与远程一起打的方式:  
cd /u01/app/20299014    
/u01/app/oracle/product/10.2.0/db_1/OPatch/opatch apply

先打本地节点,启动节点1数据库,再关闭节点2,再打节点2补丁,最后启动节点2。

3. 节点1启动。

[oracle@node1 ~]$ srvctl start asm -n node1  
[oracle@node1 ~]$ srvctl start instance -d orcl -i orcl1    
[oracle@node1 ~]$ srvctl start listener -n node1

4. 关闭节点2

[oracle@node2 ~]$ srvctl stop instance -d orcl -i orcl2  
[oracle@node2 ~]$ srvctl stop listener -n node2    
[oracle@node2 ~]$ srvctl stop asm -n node2

继续打节点2补丁,完毕后,再启动节点2.

[oracle@node2 ~]$ srvctl start asm -n node2  
[oracle@node2 ~]$ srvctl start instance -d orcl -i orcl2    
[oracle@node2 ~]$ srvctl start listener -n node2

5. 节点1,节点2检查升级情况

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3cd2bd67f352e734f97b3b948e7ac16f.html