已索引
环境:GI home and the database homes that are not shared and Oracle ACFS file system is not configured.
以 p20996923_112040_Linux-x86-64_gi_psu7.zip (11.2.0.4.7, JUL2015) 为例。
下面是给 GI 与 DB 软件一键打 PSU 补丁的方法,根据补丁的不同,安装方法可能有所差异,请参考 README 文件。
1.更新 opatch 工具(所有节点,所有用户)
将 opatch 压缩包下载到一个临时目录,以被更新目录属主身份执行如下命令更新:
$ unzip <OPATCH-ZIP> -d $ORACLE_HOME
$ $ORACLE_HOME/OPatch/opatch version
所有节点的 GRID_HOME 目录和 ORACLE_HOME 目录下的 OPatch 目录都需要被更新。
2.创建ocm文件(所有节点)
OCM (Oracle Configuration Manager) response file.
以 grid 用户身份:
mkdir /tmp/ocmfile;chmod 777 /tmp/ocmfile
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output /tmp/ocmfile/grid_ocm.rsp
3.检查产品清单文件一致性(所有节点,所有用户)
在所有节点上分别以 oracle 和 grid 用户执行如下命令:
$ $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
4.停止 EM Agent
As the Oracle RAC database home owner execute:
$ <ORACLE_HOME>/bin/emctl stop dbconsole
5.停止 TFA
补丁 README 上没有这一步,但实际打补丁的时候因为 TFA 失败过,关闭就好了。
# $GRID_HOME/bin/tfactl stop
6.One-off Patch 冲突检测与处理
如果之前打过单补丁的话,做冲突检测与处理,如果之前没有单独打过某个补丁,一直都是打的PSU,则跳过。
7.使用 opatch auto 打补丁(所有节点)
准备一个共享空目录,该目录被称为 <UNZIPPED_PATCH_LOCATION>,属主建议设置为 grid.oinstall。将补丁包放到里面。
以grid用户身份解压:
$ cd <UNZIPPED_PATCH_LOCATION>
$ unzip p20996923_112040_Linux-x86-64_gi_psu7.zip
$ chmod -R 755 20996923/
以 root 身份打补丁:
As root user, execute the following command on each node of the cluster:
/data/app/11.2.0/grid/OPatch/opatch auto <UNZIPPED_PATCH_LOCATION>/20996923 -ocmrf /tmp/ocmfile/grid_ocm.rsp
完成后,在第二个节点上执行opatch命令。
8.Loading Modified SQL Files into the Database
只需要在其中一个节点上执行:
$ cd /data/app/oracle/product/11.2.0/db_1/rdbms/admin/
$ sqlplus / as sysdba;
SQL> @catbundle.sql psu apply