PSU补丁概述
下载最新的PSU补丁和GI补丁
在本文例子用的补丁如下,实际情况请下载最新的补丁
因为RAC集群环境打补丁分别要给集群软件GI和数据库DB打补丁,所以对于的PSU补丁就是两个。另外补丁的时候需要OPatch这个工具,所以也需要下载最新的OPatch的补丁。
PSU补丁版本为11.2.0.4.181016
- 对应的GI补丁为:
p28429134_112040_Linux-x86-64.zip
- 对应的数据库补丁为:
p28204707_112040_Linux-x86-64.zip
- opatch为
p6880880_112000_Linux-x86-64.zip
注意,在打database的psu的时候,如果没有建立实例,那么需要在两个节点分别打psu;如果创建了实例的,那么就可以直接remote打PSU补丁了。
打补丁步骤:
- GI打补丁
- 数据库打补丁
GI打补丁 (grid用户下操作)
1. 升级opatch:
cd /app/11.2.0/grid
mv OPatch OPatch.bak
cd /softdb/psu
unzip p6880880_112000_Linux-x86-64.zip -d /app/11.2.0/grid
chown -R grid:oinstall OPatch
2. GI打补丁:
2.1 检查opatch的版本
$ /app/11.2.0/grid/OPatch/opatch version
2.2 检查 Inventory有效性:
$ /app/11.2.0/grid/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
2.3 生成ocm.rsp文件
用root用户在/app/11.2.0/grid/OPatch/ocm/bin/
下,用emocmrsp
生成ocm.rsp文件(该文件会生成在当前目录)
将生成的ocm.rsp放到/app/11.2.0/grid/OPatch/ocm/bin/
目录下
2.4 解压patch文件,给成grid的权限
2.5 用root用户执行如下
# /app/11.2.0/grid/OPatch/opatch auto /softdb/psu/28429134/ -oh /app/11.2.0/grid -ocmrf /app/11.2.0/grid/OPatch/ocm/bin/ocm.rsp
2.6 在第二个节点也执行【2.1--2.5】步骤
2.7 检查GI的打补丁情况
$ /app/11.2.0/grid/OPatch/opatch lsinventory
数据库打补丁(oracle):
1.更新opatch的版本
[root@dbtest1 psu]# cd /app/oracle/product/11.2.0/
[root@dbtest1 db_1]# mv OPatch OPatch.bak
[root@dbtest1 db_1]# cd /softdb/psu/
[root@dbtest1 psu]# unzip p6880880_112000_Linux-x86-64.zip -d /app/oracle/product/11.2.0
[root@dbtest1 psu]# chown -R oracle:oinstall /app/oracle/product/11.2.0/OPatch
$ /app/oracle/product/11.2.0/OPatch/opatch version
2.检查 Inventory有效性:
$ /app/oracle/product/11.2.0/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
3.apply补丁(包括软件和实例)
1.unzip p20299013_112040_<platform>.zip
cd 28204707
opatch prereq CheckConflictAgainstOHWithDetail -ph ./
2.停数据库,停监听器,停em(emctl stop dbconsole)
用ps -ef | grep ora来检查是否还有遗留的进程,grid的不用管
3.unzip p20299013_112040_<platform>.zip
cd 28204707
opatch apply
以上操作只需在一个节点执行即可。会有提示,先local再remote。
4.给实例apply psu
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT
5.
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
4.检查打的补丁
/app/oracle/product/11.2.0/OPatch/opatch lsinventory